strerror
========

POSIX specification:
 https://pubs.opengroup.org/onlinepubs/9699919799/functions/strerror.html

Gnulib module: strerror

Portability problems fixed by Gnulib:

  * 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.

  * This function reports failure for strerror(0) (by setting errno or using a string similar to out-of-range values), although POSIX requires this to leave errno unchanged and report success, on some platforms: FreeBSD 8.2, OpenBSD 4.7, Mac OS X 10.5.

  * 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 strerror without setting and testing errno.)

Portability problems not fixed by Gnulib: