perror
======

POSIX specification:
 http://www.opengroup.org/onlinepubs/9699919799/functions/perror.html

Gnulib module: perror

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, OSF/1 5.1, Cygwin 1.5.x, mingw.

  * This function treats errno of 0 like failure, although POSIX requires that the message declare it as a success, on some platforms: FreeBSD 8.2

Portability problems not fixed by Gnulib:

  * POSIX requires that this function set the stream error bit (detected by ferror) on write failure, but not all platforms do this: glibc 2.13.

  * POSIX requires that this function not alter stream orientation, but the gnulib replacement locks in byte orientation and fails on wide character streams.