Mercurial > hg > octave-lojdl > gnulib-hg
annotate m4/arctwo.m4 @ 15308:a3ba680ad389
strerror_r: fix OpenBSD behavior on 0
OpenBSD treats strerror_r(0,,) as a success, but with a message
"Undefined error: 0"; while this is distinct from strerror_r(-1,,)
returning "Unknown error: -1", it does not imply success. Meanwhile,
if buf is short enough for ERANGE, then we can't use strstr to look
for "Unknown" or "Undefined" in the resulting message, like we had
been doing for strerror(). Fix this by shifting the burden - now
the strerror-override code guarantees that 0 will have an
override when needed.
* lib/strerror-override.c (strerror_override): Also override 0
when needed.
* lib/strerror-override.h (strerror_override): Likewise.
* lib/strerror.c (strerror): Simplify, now that 0 override is done
earlier.
* lib/strerror_r.c (strerror_r): Likewise.
* m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
behavior...
(gl_FUNC_STRERROR_0): ...into new macro.
* m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
is overridden.
(gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
* modules/strerror-override (Files): Add strerror.m4.
(configure.ac): Also provide override for 0 when needed.
* doc/posix-functions/strerror.texi (strerror): Document this.
* doc/posix-functions/perror.texi (perror): Likewise.
Signed-off-by: Eric Blake <eblake@redhat.com>
author | Eric Blake <eblake@redhat.com> |
---|---|
date | Tue, 21 Jun 2011 08:50:51 -0600 |
parents | 8f6fd6b9cdd2 |
children | 8250f2777afc |
rev | line source |
---|---|
15273
8f6fd6b9cdd2
crypto/gc-arctwo: Fix recent regression.
Bruno Haible <bruno@clisp.org>
parents:
15176
diff
changeset
|
1 # arctwo.m4 serial 4 |
14079
97fc9a21a8fb
maint: update almost all copyright ranges to include 2011
Jim Meyering <meyering@redhat.com>
parents:
12559
diff
changeset
|
2 dnl Copyright (C) 2005-2006, 2009-2011 Free Software Foundation, Inc. |
6402
31fd570c5ac0
Add arctwo, arctwo-tests, gc-arctwo, gc-arctwo-tests modules.
Simon Josefsson <simon@josefsson.org>
parents:
diff
changeset
|
3 dnl This file is free software; the Free Software Foundation |
31fd570c5ac0
Add arctwo, arctwo-tests, gc-arctwo, gc-arctwo-tests modules.
Simon Josefsson <simon@josefsson.org>
parents:
diff
changeset
|
4 dnl gives unlimited permission to copy and/or distribute it, |
31fd570c5ac0
Add arctwo, arctwo-tests, gc-arctwo, gc-arctwo-tests modules.
Simon Josefsson <simon@josefsson.org>
parents:
diff
changeset
|
5 dnl with or without modifications, as long as this notice is preserved. |
31fd570c5ac0
Add arctwo, arctwo-tests, gc-arctwo, gc-arctwo-tests modules.
Simon Josefsson <simon@josefsson.org>
parents:
diff
changeset
|
6 |
15176
5a04c11e8a0a
crypto/arctwo: Move AC_LIBOBJ invocations to module description.
Bruno Haible <bruno@clisp.org>
parents:
14079
diff
changeset
|
7 # Prerequisites of lib/arctwo.c. |
6402
31fd570c5ac0
Add arctwo, arctwo-tests, gc-arctwo, gc-arctwo-tests modules.
Simon Josefsson <simon@josefsson.org>
parents:
diff
changeset
|
8 AC_DEFUN([gl_ARCTWO], |
31fd570c5ac0
Add arctwo, arctwo-tests, gc-arctwo, gc-arctwo-tests modules.
Simon Josefsson <simon@josefsson.org>
parents:
diff
changeset
|
9 [ |
31fd570c5ac0
Add arctwo, arctwo-tests, gc-arctwo, gc-arctwo-tests modules.
Simon Josefsson <simon@josefsson.org>
parents:
diff
changeset
|
10 AC_REQUIRE([AC_C_INLINE]) |
15273
8f6fd6b9cdd2
crypto/gc-arctwo: Fix recent regression.
Bruno Haible <bruno@clisp.org>
parents:
15176
diff
changeset
|
11 : |
6402
31fd570c5ac0
Add arctwo, arctwo-tests, gc-arctwo, gc-arctwo-tests modules.
Simon Josefsson <simon@josefsson.org>
parents:
diff
changeset
|
12 ]) |