Mercurial > hg > octave-nkf > gnulib-hg
diff doc/posix-functions/strerror.texi @ 14762:3c012e3d3f43
strerror: enforce POSIX ruling on strerror(0)
http://austingroupbugs.net/view.php?id=382 requires that strerror(0)
succeed, but FreeBSD reports "Unknown error: 0" and fails with EINVAL.
* m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
* m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
* lib/strerror_r.c (rpl_strerror_r): Work around it.
* doc/posix-functions/strerror.texi (strerror): Document it.
* doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
* tests/test-strerror.c (main): Strengthen test.
* tests/test-strerror_r.c (main): Likewise.
Signed-off-by: Eric Blake <eblake@redhat.com>
author | Eric Blake <eblake@redhat.com> |
---|---|
date | Wed, 18 May 2011 18:16:59 -0600 (2011-05-19) |
parents | d75056826e59 |
children | 66b65ce5da39 |
line wrap: on
line diff
--- a/doc/posix-functions/strerror.texi +++ b/doc/posix-functions/strerror.texi @@ -13,11 +13,18 @@ but not defined by the system, on some platforms: OpenBSD 4.0, OSF/1 5.1, NonStop Kernel, Cygwin 1.5.x, mingw. @item +This function reports failure (by setting @code{errno}) for +@code{strerror(0)}, although POSIX requires this to leave @code{errno} +unchanged and report success, on some platforms: +FreeBSD 8.2 +@item This function fails to return a string for out-of-range integers on some platforms: HP-UX 11, IRIX 6.5, Solaris 8. -(This is not a POSIX violation, but can still cause bugs because most programs -call @code{strerror} without setting and testing @code{errno}.) +(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: