summaryrefslogtreecommitdiff
path: root/gnulib/doc/posix-functions/perror.texi
blob: 9fa07981d28c901b4524918a4b6f1c6df9daea10 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
@node perror
@section @code{perror}
@findex perror

POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/perror.html}

Gnulib module: perror

Portability problems fixed by Gnulib:
@itemize
@item
This function does not support the error values that are specified by POSIX
but not defined by the system, on some platforms:
OpenBSD 4.0, OSF/1 5.1, Cygwin 1.5.x, mingw, MSVC 9.
@item
This function treats @code{errno} of 0 like failure, although POSIX
requires that the message declare it as a success, on some platforms:
FreeBSD 8.2, OpenBSD 4.7, MacOS X 10.5.
@item
This function clobbers the @code{strerror} buffer on some platforms:
Cygwin 1.7.9.
@item
This function fails to print a useful a string for out-of-range integers on
some platforms:
HP-UX 11, IRIX 6.5, Solaris 8.
@end itemize

Portability problems not fixed by Gnulib:
@itemize
@item
POSIX requires that this function set the stream error bit (detected
by @code{ferror}) on write failure, but not all platforms do this:
glibc 2.13, cygwin 1.7.9.
@item
POSIX requires that this function not alter stream orientation, but
the gnulib replacement locks in byte orientation and fails on wide
character streams.
@end itemize