2 @section @code{strerror_r}
5 POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/strerror_r.html}
7 Gnulib module: strerror_r-posix
9 Portability problems fixed by Gnulib:
12 This function is missing on some platforms:
13 NetBSD 3.0, HP-UX 11.23, IRIX 6.5, Solaris 9, mingw.
15 glibc has an incompatible version of this function. The POSIX compliant code
17 char *s = (strerror_r (err, buf, buflen) == 0 ? buf : NULL);
19 is essentially equivalent to this code using the glibc function:
21 char *s = strerror_r (err, buf, buflen);
24 This function is sometimes not declared in @code{<string.h>} on some platforms:
27 The third argument is of type @code{int} instead of @code{size_t} on some
31 When this function fails, it returns -1 and sets @code{errno}, instead of
32 returning the error number, on some platforms:
33 glibc 2.8 with @code{-D_POSIX_C_SOURCE=200112L}, AIX 6.1, OSF/1 5.1.
35 This function does not support the error values that are specified by POSIX
36 but not defined by the system, on some platforms:
37 OpenBSD 4.0, OSF/1 5.1, NonStop Kernel, Cygwin 1.5.x.
39 This function always fails when the third argument is less than 80 on some
43 When the buffer is too small, this function does not fail, but instead
44 truncates the result and returns 0 on some platforms:
48 Portability problems not fixed by Gnulib:
51 When the buffer is too small, this function does not fail, but instead
52 truncates the result and returns 0 on some platforms: