Merge branch 'stable'
[gnulib.git] / doc / posix-functions / perror.texi
1 @node perror
2 @section @code{perror}
3 @findex perror
4
5 POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/perror.html}
6
7 Gnulib module: perror
8
9 Portability problems fixed by Gnulib:
10 @itemize
11 @item
12 This function does not support the error values that are specified by POSIX
13 but not defined by the system, on some platforms:
14 OpenBSD 4.0, OSF/1 5.1, Cygwin 1.5.x, mingw, MSVC 9.
15 @item
16 This function treats @code{errno} of 0 like failure, although POSIX
17 requires that the message declare it as a success, on some platforms:
18 FreeBSD 8.2, OpenBSD 4.7, MacOS X 10.5.
19 @item
20 This function clobbers the @code{strerror} buffer on some platforms:
21 Cygwin 1.7.9.
22 @item
23 This function fails to print a useful a string for out-of-range integers on
24 some platforms:
25 HP-UX 11, IRIX 6.5, Solaris 8.
26 @end itemize
27
28 Portability problems not fixed by Gnulib:
29 @itemize
30 @item
31 POSIX requires that this function set the stream error bit (detected
32 by @code{ferror}) on write failure, but not all platforms do this:
33 glibc 2.13, cygwin 1.7.9.
34 @item
35 POSIX requires that this function not alter stream orientation, but
36 the gnulib replacement locks in byte orientation and fails on wide
37 character streams.
38 @end itemize