| @node strerror |
| @section @code{strerror} |
| @findex strerror |
| |
| POSIX specification:@* @url{https://pubs.opengroup.org/onlinepubs/9699919799/functions/strerror.html} |
| |
| Gnulib module: strerror |
| |
| 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, NonStop Kernel, Cygwin 1.5.x, mingw, MSVC 14. |
| @item |
| This function reports failure for @code{strerror(0)} (by setting |
| @code{errno} or using a string similar to out-of-range values), |
| although POSIX requires this to leave @code{errno} unchanged and |
| report success, on some platforms: |
| FreeBSD 8.2, OpenBSD 4.7, Mac OS X 10.5. |
| @item |
| This function fails to return a string for out-of-range integers on |
| some platforms: |
| HP-UX 11, IRIX 6.5. |
| (Some return NULL which is a POSIX violation, others return the empty |
| string which is valid but not as useful); this can still cause bugs |
| because most programs call @code{strerror} without setting and testing |
| @code{errno}.) |
| @end itemize |
| |
| Portability problems not fixed by Gnulib: |
| @itemize |
| @end itemize |