lib/strerror-override.c


Log

Author Commit Date CI Message
Paul Eggert 281b825e 2018-01-01T00:57:25 maint: Run 'make update-copyright'
Paul Eggert ca35d468 2017-09-13T00:48:18 all: prefer https: URLs
Paul Eggert a3fd683d 2017-01-01T02:59:23 version-etc: new year * build-aux/gendocs.sh (version): * doc/gendocs_template: * doc/gendocs_template_min: * doc/gnulib.texi: * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright dates by hand in templates and the like. * all files: Run 'make update-copyright'.
Paul Eggert 71090a2a 2016-01-01T00:56:19 version-etc: new year * build-aux/gendocs.sh (version): * doc/gendocs_template: * doc/gendocs_template_min: * doc/gnulib.texi: * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright dates by hand in templates and the like. * all files: Run 'make update-copyright'.
Paul Eggert b9bfe784 2015-01-01T01:38:23 version-etc: new year * doc/gnulib.texi: * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date. * all files: Run 'make update-copyright'.
Eric Blake 1276a2c5 2014-01-01T00:04:40 maint: update copyright I ran 'make update-copyright'. Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake 9fc81090 2013-01-01T00:50:58 maint: update all copyright year number ranges Run "make update-copyright". Compare to commit 1602f0a from last year. Signed-off-by: Eric Blake <eblake@redhat.com>
Paul Eggert daf7f8c0 2012-11-01T15:29:14 errno: port to LynxOS 178 2.2.2 Problem reported by Joel Brobecker in <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00088.html>. * doc/posix-headers/errno.texi (errno.h): Document this. * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros. * lib/strerror-override.c, lib/strerror-override.h (strerror_override): Supply a string for EILSEQ. * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
Paolo Bonzini f6c2431e 2012-06-03T18:29:00 error, strerror-override: Support mingw64 from Fedora 17. * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to EINPROGRESS. * lib/strerror-override.h (strerror_override): Test it. * lib/strerror-override.c (strerror_override): Likewise. * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
Paolo Bonzini fb6d0f4e 2012-06-03T18:02:55 error, strerror-override: Support mingw64 from Fedora 17. * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different indicator for ENOTRECOVERABLE, compared to EOWNERDEAD. * lib/strerror-override.h (strerror_override): Test it. * lib/strerror-override.c (strerror_override): Likewise.
Bruno Haible 04a03769 2012-06-03T15:47:14 error, strerror-override: Support new errno values from POSIX:2008. * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and ENOTRECOVERABLE. * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all platforms. * lib/strerror-override.c (strerror_override): Conditionalize the EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD. * lib/strerror-override.h (strerror_override): Declare also if GNULIB_defined_EOWNERDEAD is defined. * tests/test-errno.c (e130, e131): New variables. * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD, ENOTRECOVERABLE. Reported by Paolo Bonzini.
Jim Meyering 1602f0af 2012-01-01T10:04:58 maint: update all copyright year number ranges Run "make update-copyright".
Bruno Haible d63fa9d4 2011-10-22T16:28:19 errno, strerror-override: Support for MSVC 10. * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro. (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP, ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK, EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT, EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN, ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT, ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]: Assign values compatible with MSVC 10. (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER): New macros. (GNULIB_defined_EWINSOCK): New macro. * lib/strerror-override.c (strerror_override): Update accordingly. * lib/strerror-override.h: Likewise. * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no longer equal to the corresponding errno value. Reported by Michael Goffioul <michael.goffioul@gmail.com>.
Bruno Haible 712cf13d 2011-07-31T19:00:23 errno: Port to Minix. * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and ECONNABORTED are defined. * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED, GNULIB_defined_ECONNABORTED): New macros. * lib/strerror-override.h (strerror_override): Test also GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED. * lib/strerror-override.c (strerror_override): Handle also ENETRESET, ECONNABORTED. * doc/posix-headers/errno.texi: Mention the Minix problem.
Eric Blake c7487319 2011-06-21T08:50:51 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>
Eric Blake c7b1d210 2011-06-21T09:40:46 strerror-override: reduce size * lib/strerror-override.c (strerror_override): Use fewer lines. Signed-off-by: Eric Blake <eblake@redhat.com>
Bruno Haible 88e63ce1 2011-06-04T11:11:44 strerror-override: Don't disable symbol renamings. * lib/strerror-override.h: Include errno.h and stddef.h, not string.h. * lib/strerror-override.c: Include config.h. (strerror_override): Don't undefine.
Eric Blake 63ce57e7 2011-05-24T15:33:49 strerror: drop strerror_r dependency Since the errno module is responsible for introducing replacement errno values, it should also be responsible for translating those new values into strings. And by moving the replacements into a file managed by the errno, we can then break the dependency between strerror and strerror_r, so that strerror no longer drags in multi-threading modules required by strerror_r. Tested on glibc with: gl_cv_header_errno_h_complete=no gl_cv_func_working_strerror=no \ gl_cv_func_strerror_r_works=no ./gnulib-tool --with-tests \ --test strerror strerror_r-posix * lib/strerror_r.c (strerror_r): Move gnulib replacement strings... * lib/strerror-override.c (strerror_override): ...to new file. * lib/strerror-override.h: Add prototype. * lib/strerror-impl.h: Delete. * lib/strerror.c (strerror): New implementation. * modules/errno (Files): Add new files. (configure.ac): Compile new file as appropriate. * modules/strerror (Files): Drop unused file. (Depends-on): Drop strerror_r-posix. * MODULES.html.sh: Document strerror_r-posix. Requested by Sam Steingold. Signed-off-by: Eric Blake <eblake@redhat.com>