Log

Author Commit Date CI Message
Bruno Haible f462d861 2011-06-09T12:40:44 thread: Support pthreads-win32. * lib/glthread/thread.h (gl_thread_self): Define differently on pthreads-win32. (gl_null_thread): New declaration. (gl_thread_self_pointer): New macro. * lib/glthread/thread.c (gl_null_thread): New constant. * tests/test-lock.c: Use gl_thread_self_pointer instead of gl_thread_self. * tests/test-tls.c: Likewise. Suggested by Paul Eggert. Reported by Eric Blake.
Bruno Haible 5f0441a0 2011-06-09T12:55:09 thread: Fix confusion between NULL and 0. * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately. Reported by Paul Eggert.
Bruno Haible d0080d2f 2011-06-09T11:37:58 spawn-pipe tests: Avoid test failure on HP-UX 11. * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2 is closed.
Bruno Haible 97766809 2011-06-09T11:35:25 acl tests: Fix compilation error on HP-UX 11. * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
Bruno Haible 36397160 2011-06-09T11:21:23 rmdir: Avoid test failure on HP-UX 10.20. * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like EEXIST.
Eric Blake e73b278d 2011-06-08T08:34:21 perror: fix test on mingw test-perror2 was tripping up on a known mingw dup2 pitfall. * modules/perror-tests (Depends-on): Add dup2. Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake 79d4e75d 2011-06-07T20:49:04 strerror_r-posix: fix on MacOS MacOS X 10.5 strerror(0) is "Unknown error: 0", which is not distinguished from "Unknown error: -1" for out-of-range. Worse, strerror_r(0,,) is "Undefined error: 0", although strerror_r for all other out-of-range values matches strerror. * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug. * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix logic bug. * lib/strerror_r.c (strerror_r): Fix the bug. * lib/strerror.c (strerror): Likewise. * doc/posix-functions/strerror_r.texi (strerror_r): Document the problem. * doc/posix-functions/strerror.texi (strerror): Likewise. * doc/posix-functions/perror.texi (perror): Likewise. * tests/test-strerror.c (main): Enhance test. * tests/test-strerror_r.c (main): Likewise. Signed-off-by: Eric Blake <eblake@redhat.com>
Bruno Haible 284602e2 2011-06-08T13:23:56 gnulib-tool: Better isolation between different gnulib-tool invocations. * gnulib-tool: New option --witness-c-macro. (witness_c_macro): New variable. (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let AM_CPPFLAGS define it as a C macro. (func_emit_tests_Makefile_am): Likewise. (func_import): Store witness_c_macro setting in gnulib-cache.m4 and read it from there. * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through m4_define, not AC_DEFUN. (gl_MODULE_INDICATOR_SET_VARIABLE_AUX, gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros. (gl_MODULE_INDICATOR_SET_VARIABLE): Use them. * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not s|...|...|, to substitute the values of the GNULIB_* module indicator variables. * modules/dirent (Makefile.am): Likewise. * modules/fcntl-h (Makefile.am): Likewise. * modules/iconv-h (Makefile.am): Likewise. * modules/langinfo (Makefile.am): Likewise. * modules/locale (Makefile.am): Likewise. * modules/math (Makefile.am): Likewise. * modules/netdb (Makefile.am): Likewise. * modules/poll-h (Makefile.am): Likewise. * modules/pty (Makefile.am): Likewise. * modules/search (Makefile.am): Likewise. * modules/signal (Makefile.am): Likewise. * modules/spawn (Makefile.am): Likewise. * modules/stdio (Makefile.am): Likewise. * modules/stdlib (Makefile.am): Likewise. * modules/string (Makefile.am): Likewise. * modules/sys_ioctl (Makefile.am): Likewise. * modules/sys_select (Makefile.am): Likewise. * modules/sys_socket (Makefile.am): Likewise. * modules/sys_stat (Makefile.am): Likewise. * modules/sys_times (Makefile.am): Likewise. * modules/sys_utsname (Makefile.am): Likewise. * modules/sys_wait (Makefile.am): Likewise. * modules/termios (Makefile.am): Likewise. * modules/time (Makefile.am): Likewise. * modules/unistd (Makefile.am): Likewise. * modules/wchar (Makefile.am): Likewise.
Eric Blake 0447b703 2011-06-08T05:12:15 strerror: simplify replacement Only strerror-override depends on winsock2.h; our strerror.c file does not. This also fixes mingw strerror_r-posix use of winsock2.h via strerror-override. Since we assume C89 which guarantees a declaration for sterror, we don't need to repeat that check. * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete. * modules/strerror (configure.ac): No prereqs needed here... * modules/strerror-override (configure.ac): ...but this needs it. (Files): Add file for needed prereq macro. Signed-off-by: Eric Blake <eblake@redhat.com>
Bruno Haible 3bc888d2 2011-06-08T12:27:31 strerror_r-posix: Tweaks. * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present. * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here... (gl_FUNC_STRERROR_R): ... to here. (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
Eric Blake 472f6137 2011-06-07T21:09:01 perror: document fixed bugs * doc/posix-functions/perror.texi (perror): Document recent patches. Signed-off-by: Eric Blake <eblake@redhat.com>
Paul Eggert e42a3db8 2011-06-07T16:01:33 stat-time: get_stat_birthtime failure is better-defined * lib/stat-time.h (get_stat_birthtime): If the time is not available, return a timestamp whose tv_sec and tv_nsec values are both -1. Previously, the spec said only that the tv_nsec value was negative. This upward-compatible change simplifies GNU tar a bit.
Eric Blake 4018d9e0 2011-06-06T17:59:01 strerror_r-posix: work around cygwin 1.7.9 Cygwin __xpg_strerror_r clobbers strerror, until cygwin 1.7.10; in this case, we must replace strerror, but there was nothing in strerror.m4 finding fault with cygwin's native strerror. Solve this by splitting strerror_r.m4 into two parts, one for probing for the strerror_r bug, and one for replacing strerror_r based on the presence of bugs unrelated to signature issues; that way, the 'strerror' module in isolation will not replace strerror, but if strerror_r is in use for any other reason, then the two use separate buffers. Note that cygwin's strerror is thread-safe while the gnulib replacement is not; but this is no worse than any other platform where strerror is not thread-safe; in a single-threaded program, the difference is not observable, and in a multi-threaded program, you really shouldn't be using strerror in the first place. Also note that this ends up replacing glibc 2.13 strerror as it deems __xpg_strerror_r broken on that platform, which isn't technically necessary for strerror, but doesn't hurt too much. Meanwhile, glibc 2.14 fixed __xpg_strerror_r, and strerror is not replaced in that scenario. * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split... (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin bug without replacing strerror_r. * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if strerror_r is buggy, but without requiring strerror_r compilation. * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs. Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake fd33cbeb 2011-06-07T15:41:20 test-perror: relax test to ignore cygwin bug glibc was not the only platform where fprintf(fopen(,"r")) fails to detect errors; cygwin 1.7.9 is another culprit (although it will be fixed for 1.7.10), and I suspect that several other platforms were failing perror2 for the same reason. At this point, there are so many functions affected, and the way to avoid the bug is easy enough (don't pass bogus streams to output-producing functions), that I'm not worried about fixing things other than to document them. * tests/test-perror2.c (main): Relax test on requiring detection of stream errors, and use unbuffered stream. * doc/posix-functions/dprintf.texi (dprintf): Document bug. * doc/posix-functions/fprintf.texi (fprintf): Likewise. * doc/posix-functions/fputc.texi (fputc): Likewise. * doc/posix-functions/fputs.texi (fputs): Likewise. * doc/posix-functions/fputws.texi (fputws): Likewise. * doc/posix-functions/fwprintf.texi (fwprintf): Likewise. * doc/posix-functions/fwrite.texi (fwrite): Likewise. * doc/posix-functions/getopt.texi (getopt): Likewise. * doc/posix-functions/perror.texi (perror): Likewise. * doc/posix-functions/printf.texi (printf): Likewise. * doc/posix-functions/psiginfo.texi (psiginfo): Likewise. * doc/posix-functions/psignal.texi (psignal): Likewise. * doc/posix-functions/putc.texi (putc): Likewise. * doc/posix-functions/putc_unlocked.texi (putc_unlocked): Likewise. * doc/posix-functions/putchar.texi (putchar): Likewise. * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked): Likewise. * doc/posix-functions/puts.texi (puts): Likewise. * doc/posix-functions/putwc.texi (putwc): Likewise. * doc/posix-functions/putwchar.texi (putwchar): Likewise. * doc/posix-functions/vdprintf.texi (vdprintf): Likewise. * doc/posix-functions/vfprintf.texi (vfprintf): Likewise. * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise. * doc/posix-functions/vprintf.texi (vprintf): Likewise. * doc/posix-functions/vwprintf.texi (vwprintf): Likewise. * doc/posix-functions/wordexp.texi (wordexp): Likewise. * doc/posix-functions/wprintf.texi (wprintf): Likewise. Signed-off-by: Eric Blake <eblake@redhat.com>
Bruno Haible 3354135e 2011-05-21T16:51:40 perror: Use common idiom. * modules/perror (configure.ac): Reorder statements.
Bruno Haible b47aace9 2011-05-22T13:19:32 strerror: Move AC_LIBOBJ invocations to module description. * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and gl_PREREQ_STRERROR invocations from here... * modules/strerror (configure.ac): ... to here.
Karl Berry 7b2b6935 2011-06-07T15:41:22 autoupdate
Stefano Lattarini fba32455 2011-06-07T13:55:57 tests: fix usage message in 'mktempd_' * tests/init.sh (mktempd_): In the usage message, use literal 'mktempd_', not '$ME' (which is even undefined), as the name of the subroutine.
Stefano Lattarini b0579989 2011-06-07T13:27:00 tests init: new function 'fatal_', for hard errors Before this patch, the only way offered by tests/init.sh to properly signal a hard error was the `framework_failure_' function. But the error message issued by that function, as its name would suggest, refers to a set-up failure in the testsuite, while hard errors can obviously also be due to other reasons. The best way to fix this inconsistency is to introduce a new function with a more general error message. * tests/init.sh (fatal_): New function.
Karl Berry 31808078 2011-06-07T05:53:38 doc/lgpl-2.1.texi
Eric Blake 79aac723 2011-06-06T17:16:18 canonicalize-lgpl: use common idiom * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf over newer POSIX -Rf. Reported by Bruno Haible. Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake c2245238 2011-06-06T16:17:50 canonicalize-lgpl: work around AIX realpath bug AIX 7.1 realpath() gets horribly confused by consecutive / in the name to be resolved. * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug. * doc/posix-functions/realpath.texi (realpath): Document it. Reported by Bruno Haible. Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake 4c91b77e 2011-06-06T15:16:26 strerror: work around FreeBSD bug Breaking strerror away from strerror_r re-exposed the FreeBSD strerror(0) bug. * lib/strerror.c (strerror): Special case 0. Reported by Bruno Haible. Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake 207ca136 2011-06-06T15:11:04 strerror-override: avoid bloating errno module * modules/errno (Files, configure.ac): Move replacement strings... * modules/strerror-override: ...to new module. * modules/strerror (Depends-on): Add strerror-override. * modules/strerror_r-posix (Depends-on): Likewise. * MODULES.html.sh: Document new module. Reported by Bruno Haible. Signed-off-by: Eric Blake <eblake@redhat.com>
Bruno Haible 95ef65d0 2011-06-06T22:39:19 Typo in recent ChangeLog entry.
Bruno Haible e5ff5946 2011-06-06T11:42:17 spawn-pipe tests: Rename program. * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c. * tests/test-spawn-pipe-child.c: Update comment. * tests/test-spawn-pipe.sh: Update. * modules/spawn-pipe-tests (Files, Makefile.am): Update.
Bruno Haible 8a1f6249 2011-06-06T11:38:40 spawn-pipe tests: Like the child program only against libc. * tests/test-spawn-pipe-child.c: New file, extracted from tests/test-spawn-pipe.c. (main): Expect only one argument. (is_open): New function, copied from tests/test-pipe.c. * tests/test-spawn-pipe.c: Don't include <errno.h>. (child_main): Remove function. (test_pipe): Pass only one argument to the child program. (main): Remove child process code. Expect the child program's name as first argument. * tests/test-spawn-pipe.sh: Pass the child program's name as first argument. * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c. (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link test-spawn-pipe-child against no libraries.
Bruno Haible 3f9fff25 2011-06-06T11:01:52 careadlinkat: Avoid mismatch between ssize_t and int. * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always. * lib/careadlinkat.c (careadlinkatcwd): Define always.
Jim Meyering dd361048 2011-04-24T19:00:18 gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
Bruno Haible c914617c 2011-06-06T00:29:58 ansi-c++-opt: Interoperability with libtool. * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found, set the variable to "no", not to ":". * NEWS: Mention the change.
Bruno Haible e7754b0a 2011-06-05T20:08:15 acl: Fix test failure on AIX 7. * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation. Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
Bruno Haible bf7690a6 2011-06-05T19:15:25 pipe-filter-ii: Fix test failure on AIX and IRIX. * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails with EAGAIN, retry with a smaller buffer size.
Bruno Haible 1866b237 2011-06-05T16:18:23 localename: Fix link dependencies. * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD). * modules/localename-tests (Makefile.am): Link test-localename with $(LIBTHREAD).
Bruno Haible 89214de3 2011-06-05T14:57:16 error: Avoid gcc warning. * lib/error.c (strerror_r): Declare also when its return type is 'int'.
Bruno Haible 6f88ff35 2011-06-05T14:32:56 unsetenv: Avoid gcc warning. * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
Bruno Haible c00787b6 2011-06-05T14:31:51 setenv: Avoid gcc warning. * lib/setenv.c (setenv): Provide declaration if system lacks it.
Bruno Haible d3e62713 2011-06-05T14:20:16 sys_select: Ensure memset is declared also on AIX 7. * lib/sys_select.in.h: Include <string.h> also on AIX. * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not self-contained also on AIX 7.1.
Jim Meyering 33b95ee0 2011-06-04T19:56:58 maint.mk: sc_unmarked_diagnostics: don't hard-code "error" * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the function name, "error". (_gl_translatable_diag_func_re): New configurable variable.
Bruno Haible 3d7fa330 2011-06-04T15:32:18 getopt: Avoid gcc warning. * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
Bruno Haible 23b18247 2011-06-04T13:01:55 strerror_r: Fix comments. * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01 commit.
Bruno Haible 625ab0ea 2011-06-04T12:54:38 perror: Fix compilation error. * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h. Undefine fprintf, not sprintf. * modules/perror (Depends-on): Remove intprops, verify.
Bruno Haible 06051073 2011-06-04T12:07:57 setlocale: Enable replacement on Cygwin 1.5. * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on Cygwin 1.5.x. * doc/posix-functions/setlocale.texi: Mention that the problem with the LC_CTYPE category also exists on Cygwin 1.5.x.
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.
Bruno Haible 872f3604 2011-06-03T14:21:08 Copyright: Use LGPL 2.1 instead of LGPL 2.0. * lib/localename.h: Update copyright header. * lib/localename.c: Likewise. * lib/relocatable.h: Likewise. * lib/relocatable.c: Likewise.
Bruno Haible 27edfbd1 2011-06-03T01:45:23 doc: Fix a module name. * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
Bruno Haible 64e33838 2011-06-03T00:10:00 pipe2: Remove dependency on 'nonblocking' module. * lib/pipe2.c: Include verify.h. Include nonblocking.h only if O_NONBLOCK is defined by gnulib. (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it is zero. * modules/pipe2 (Depends-on): Add verify. Remove nonblocking. * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is defined by gnulib. (get_nonblocking_flag): New function. (main): Test O_NONBLOCK flag only if it is nonzero.
Jim Meyering 1b20f727 2011-06-03T17:35:07 maint.mk: add three prohibit-header-without-use rules Prohibit use of cloexec.h, posixver.h, same.h without use. * top/maint.mk (sc_prohibit_cloexec_without_use): New rule. (sc_prohibit_posixver_without_use): Likewise. (sc_prohibit_same_without_use): Likewise.
Paul Eggert 68606905 2011-06-02T01:15:18 allocator: 'die' routine is now given requested size * lib/allocator.h (struct allocator.die): New size arg. * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function. If the actual problem is an ssize_t limitation, not a size_t or malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
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>
Eric Blake 6b66ce30 2011-05-24T14:27:04 perror: call strerror_r directly No need to make a wrapper that burns static storage when we can just use stack storage. * modules/perror (Files): Drop strerror-impl.h. * lib/perror.c (perror): Use our own stack buffer, rather than calling a wrapper that uses static storage. * doc/posix-functions/perror.texi (perror): Document a limitation of our replacement. Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake 90a65c17 2011-06-01T08:14:34 strerror_r: fix includes for FreeBSD * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally, since we use abort on some platforms. Reported by Matthias Bolte. Signed-off-by: Eric Blake <eblake@redhat.com>
Bruno Haible 7c886ca1 2011-05-31T23:31:26 Fix link errors in tests: openat-die uses gettext-h. * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat against $(LIBINTL). * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer against $(LIBINTL). * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against $(LIBINTL). * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat against $(LIBINTL). * modules/linkat-tests (Makefile.am): Link test-linkat against $(LIBINTL). * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against $(LIBINTL). * modules/openat-safer-tests (Makefile.am): Link test-openat-safer against $(LIBINTL). * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat, test-mkdirat, test-openat, test-unlinkat against $(LIBINTL). * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against $(LIBINTL). * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against $(LIBINTL). * modules/utimensat-tests (Makefile.am): Link test-utimensat against $(LIBINTL). Reported by Tom G. Christensen <tgc@jupiterrise.com>.
Karl Berry 9c3746f4 2011-05-31T06:19:28 build-aux/config.sub
Bruno Haible 224c034d 2011-05-31T00:44:51 Fix link errors in tests: wait-process uses gettext-h. * modules/nonblocking-pipe-tests (Makefile.am): Set test_nonblocking_pipe_main_LDADD. * modules/nonblocking-socket-tests (Makefile.am): Link test-nonblocking-socket-main against $(LIBINTL). Reported by Tom G. Christensen <tgc@jupiterrise.com>.
Paul Eggert 3532d154 2011-05-29T14:31:22 * modules/assert-h (assert.h): Substitute the symbol-prefix more consistently.
Paul Eggert 6951841b 2011-05-29T14:30:36 assert-h: work around 'verify' incompatibility * lib/verify.h: Use @...@ directives, not ifdef. * modules/assert-h (assert.h): Implement the directives.
Jim Meyering 44019e14 2011-05-29T23:15:36 trim: remove three superfluous assignments * lib/trim.c (trim2): Remove three superfluous assignments and correct brace positioning.
Bruno Haible 05f391a9 2011-05-28T20:58:14 wctype-h: Avoid namespace pollution on Solaris 2.6. * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other identifiers. * doc/posix-headers/wctype.texi: Mention the problem. Reported by Tom G. Christensen <tgc@jupiterrise.com>.
Jim Meyering a8ff65c5 2011-05-28T20:58:14 parse-datetime.y: accommodate -Wstrict-overflow * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to placate -Wstrict-overflow.
Jim Meyering 24490680 2011-05-28T16:00:20 trim: avoid a warning from -O2 -Wstrict-overflow * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
Bruno Haible 7c2e03e7 2011-05-29T16:02:32 gnulib-tool: Fix bug in yesterday's commit. * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs twice.
Bruno Haible 0ab583c0 2011-05-29T15:44:42 Allow multiple gnulib generated include files to be combined. * gnulib-tool (func_compute_include_guard_prefix): New function. (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also ${gl_include_guard_prefix} references. (func_import, func_create_testdir): Invoke func_compute_include_guard_prefix. * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder. * lib/ctype.in.h: Likewise. * lib/dirent.in.h: Likewise. * lib/errno.in.h: Likewise. * lib/fcntl.in.h: Likewise. * lib/float.in.h: Likewise. * lib/getopt.in.h: Likewise. * lib/iconv.in.h: Likewise. * lib/langinfo.in.h: Likewise. * lib/locale.in.h: Likewise. * lib/math.in.h: Likewise. * lib/netdb.in.h: Likewise. * lib/netinet_in.in.h: Likewise. * lib/poll.in.h: Likewise. * lib/pthread.in.h: Likewise. * lib/pty.in.h: Likewise. * lib/sched.in.h: Likewise. * lib/se-selinux.in.h: Likewise. * lib/search.in.h: Likewise. * lib/signal.in.h: Likewise. * lib/spawn.in.h: Likewise. * lib/stdarg.in.h: Likewise. * lib/stddef.in.h: Likewise. * lib/stdint.in.h: Likewise. * lib/stdio.in.h: Likewise. * lib/stdlib.in.h: Likewise. * lib/string.in.h: Likewise. * lib/strings.in.h: Likewise. * lib/sys_file.in.h: Likewise. * lib/sys_ioctl.in.h: Likewise. * lib/sys_select.in.h: Likewise. * lib/sys_socket.in.h: Likewise. * lib/sys_stat.in.h: Likewise. * lib/sys_time.in.h: Likewise. * lib/sys_times.in.h: Likewise. * lib/sys_uio.in.h: Likewise. * lib/sys_utsname.in.h: Likewise. * lib/sys_wait.in.h: Likewise. * lib/sysexits.in.h: Likewise. * lib/termios.in.h: Likewise. * lib/time.in.h: Likewise. * lib/unistd.in.h: Likewise. * lib/wchar.in.h: Likewise. * lib/wctype.in.h: Likewise. * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@. * modules/ctype (Makefile.am): Likewise. * modules/dirent (Makefile.am): Likewise. * modules/errno (Makefile.am): Likewise. * modules/fcntl-h (Makefile.am): Likewise. * modules/float (Makefile.am): Likewise. * modules/getopt-posix (Makefile.am): Likewise. * modules/iconv-h (Makefile.am): Likewise. * modules/langinfo (Makefile.am): Likewise. * modules/locale (Makefile.am): Likewise. * modules/math (Makefile.am): Likewise. * modules/netdb (Makefile.am): Likewise. * modules/netinet_in (Makefile.am): Likewise. * modules/poll-h (Makefile.am): Likewise. * modules/pthread (Makefile.am): Likewise. * modules/pty (Makefile.am): Likewise. * modules/sched (Makefile.am): Likewise. * modules/search (Makefile.am): Likewise. * modules/selinux-h (Makefile.am): Likewise. * modules/signal (Makefile.am): Likewise. * modules/spawn (Makefile.am): Likewise. * modules/stdarg (Makefile.am): Likewise. * modules/stddef (Makefile.am): Likewise. * modules/stdint (Makefile.am): Likewise. * modules/stdio (Makefile.am): Likewise. * modules/stdlib (Makefile.am): Likewise. * modules/string (Makefile.am): Likewise. * modules/strings (Makefile.am): Likewise. * modules/sys_file (Makefile.am): Likewise. * modules/sys_ioctl (Makefile.am): Likewise. * modules/sys_select (Makefile.am): Likewise. * modules/sys_socket (Makefile.am): Likewise. * modules/sys_stat (Makefile.am): Likewise. * modules/sys_time (Makefile.am): Likewise. * modules/sys_times (Makefile.am): Likewise. * modules/sys_uio (Makefile.am): Likewise. * modules/sys_utsname (Makefile.am): Likewise. * modules/sys_wait (Makefile.am): Likewise. * modules/sysexits (Makefile.am): Likewise. * modules/termios (Makefile.am): Likewise. * modules/time (Makefile.am): Likewise. * modules/unistd (Makefile.am): Likewise. * modules/wchar (Makefile.am): Likewise. * modules/wctype-h (Makefile.am): Likewise. * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
Bruno Haible 606b7ac5 2011-05-29T15:38:41 assert-h: Allow multiple gnulib generated replacements to coexist. * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
Bruno Haible 3f15062a 2011-05-29T14:57:40 argp: Allow coexistence with strerror_r-posix module. * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r by gnulib's <string.h> replacement), assume it has the POSIX signature, not the glibc signature.
Bruno Haible fdc9e6c9 2011-05-29T13:00:39 Status of work-in-progress around libposix.
Bruno Haible 41395c18 2011-05-29T01:24:28 gnulib-tool: Alternative structure of testdirs, similar to --import. * gnulib-tool: New option --single-configure. (func_usage): Document it. (single_configure): New variable. (func_modules_transitive_closure_separately, func_modules_transitive_closure_separately, func_determine_use_libtests, func_modules_add_dummy_separately, func_modules_to_filelist_separately): New functions, extracted from func_import. (func_emit_tests_Makefile_am): Handle $single_configure = true case. (func_import): Use the new functions. (func_create_testdir): Set final_modules. Handle $single_configure = true case.
Bruno Haible 8d8a973a 2011-05-28T22:06:11 getloadavg: Remove an unreliable safety check. * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether getloadavg.c is in place. * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG. Reported by Sam Steingold <sds@gnu.org>.
Bruno Haible 0f1d952f 2011-05-28T17:24:00 doc: Cleanup yet another file produced by texinfo.tex. * doc/Makefile (mostlyclean): Remove also gnulib.cn.
Bruno Haible 0e5f0663 2011-05-28T17:08:17 Finish the conditional dependencies mechanism. * gnulib-tool: New option --no-conditional-dependencies. (func_usage): Document it. Don't mark --conditional-dependencies as experimental. (cond_dependencies): The possible values can now be true, false, empty. (func_modules_transitive_closure, func_emit_autoconf_snippets): Update. (func_import): Store setting in gnulib-cache.m4 and read it from there. * doc/gnulib-tool.texi (Conditional dependencies): New section.
Bruno Haible 0ff8eeaf 2011-05-28T16:47:00 doc: Use a recent texinfo.tex. * doc/Makefile (tex_opts): New variable. (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
Jim Meyering cf2b9e84 2011-05-28T13:45:12 intprops.h: adjust another comment to match code change * lib/intprops.h (_GL_INT_SIGNED): Now, E may have side effects.
Jim Meyering dabf3a8d 2011-05-28T12:34:08 intprops.h: adjust comment to match code change * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used only once, it *may* have side effects. Also fix an unrelated typo.
Simon Josefsson 03f358b4 2011-05-26T23:32:02 gen-uni-tables: Say "gen-uni-tables.c" consistently. * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
Bruno Haible 4ed97792 2011-05-26T12:28:51 mbsrchr: Avoid collision with system function on Interix. * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix. Reported by Markus Duft <mduft@gentoo.org>.
James Youngman 70aa91cc 2011-05-26T01:45:13 getopt: for ambiguous options, enumerate the possibilities. * lib/getopt.c (_getopt_internal_r): Merge glibc change printing the ambiguous options when an ambiguous prefix is given. This was http://sourceware.org/bugzilla/show_bug.cgi?id=7101. The merged glibc change was http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
Eric Blake 1622b36b 2011-05-25T15:15:14 getcwd: work around mingw bug mingw getcwd(buf, 0) fails with ERANGE, instead of the required EINVAL. Since we're already replacing getcwd on mingw, the workaround is trivial. * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error. * doc/posix-functions/getcwd.texi (getcwd): Document it. Reported by Matthias Bolte. Signed-off-by: Eric Blake <eblake@redhat.com>
Paul Eggert 9d196fad 2011-05-24T16:47:01 test-intprops: disable -Wtype-limits diagnostics * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits diagnostics. Otherwise, the integer overflow macros generate many diagnostics. Reported by Jim Meyering in <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
Paul Eggert 8aad2a7b 2011-05-24T16:45:14 intprops: shorten, to pacify gcc -Woverlength-strings * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT): (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)", so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less likely to run afoul of C compiler limits for string constant lengths. See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
Eric Blake f4c4af09 2011-05-24T17:33:39 docs: document recently fixed glibc printf bug Document it as a known bug, but one where we don't provide a workaround since programmers are unlikely to hit it in practice. * doc/posix-functions/fprintf.texi (fprintf): Document it. * doc/posix-functions/printf.texi (printf): Likewise. * doc/posix-functions/vfprintf.texi (vfprintf): Likewise. * doc/posix-functions/vprintf.texi (vprintf): Likewise. Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake d1608870 2011-05-24T17:16:00 closein-tests: convert to init.sh * modules/closein-tests (Files): Add init.sh * tests/test-closein.sh Use it. Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake 6ff1e786 2011-05-24T16:54:17 yesno-tests: convert to init.sh * modules/yesno-tests (Files): Add init.sh. * tests/test-yesno.sh: Use it. Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake fc9b0f6c 2011-05-24T16:42:37 atexit-tests: ensure reliable exit status This was the only remaining init.sh client that didn't properly use the 'Exit' function. * tests/test-atexit.sh: Prefer 'Exit' over 'exit'. Reported by Bruno Haible. Signed-off-by: Eric Blake <eblake@redhat.com>
Bruno Haible 87b0e84c 2011-05-25T00:59:48 strerror_r-posix: Respect rules for use of AC_LIBOBJ. * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and gl_PREREQ_STRERROR_R invocations from here... * modules/strerror_r-posix (configure.ac): ... to here.
Eric Blake 4131aa89 2011-05-24T14:30:38 strerror_r: fix missing header snprintf is not guaranteed to work without a declaration. * lib/strerror_r.c: Avoid compiler warning about snprintf. Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake 8ea7a672 2011-05-23T21:37:11 strerror_r: fix AIX test failures Already documented as an AIX limitation. * lib/strerror_r.c (strerror_r): Convert silent truncation to ERANGE failure. Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake e67e250d 2011-05-23T21:05:07 strerror_r: fix Solaris test failures Solaris 10 populates buf on EINVAL, but not on ERANGE. * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE failures. * doc/posix-functions/strerror_r.texi (strerror_r): Document this. Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake 3a3fe58b 2011-05-18T15:19:51 strerror_r: enforce POSIX recommendations POSIX recommends (but does not require) that strerror_r populate buf even on error. But since we guarantee this behavior for strerror, we might as well also guarantee it for strerror_r. * lib/strerror_r.c (safe_copy): New helper method. (strerror_r): Guarantee a non-empty string. * tests/test-strerror_r.c (main): Enhance tests to incorporate recent POSIX rulings and to match our strerror guarantees. * doc/posix-functions/strerror_r.texi (strerror_r): Document this. Signed-off-by: Eric Blake <eblake@redhat.com>
Jim Meyering 734bedd1 2011-05-24T21:28:46 test-perror2.c: avoid warning about unused variable * tests/test-perror2.c (main): Remove declaration of unused "fp".
Eric Blake 9d3a2863 2011-05-24T10:14:52 perror: avoid spurious test failure on HP-UX The previous command has non-zero status. Even though 'exit 0' is supposed to ignore prior status, HP-UX /bin/sh favors the prior status if an exit trap is installed. * tests/test-perror.sh: Use Exit to avoid wrong exit status. Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake 866bbaee 2011-05-24T10:04:46 tests: fix logic bug in init.sh If the shell test loop first finds a marginal then a good shell, the variable $gl_set_x_corrupts_stderr is still set to true and needlessly drops $VERBOSE logging. * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful shell. Signed-off-by: Eric Blake <eblake@redhat.com>
Jim Meyering 6dc42e2d 2011-05-24T18:24:24 utimensat: do not reference an out-of-scope buffer Otherwise, with __linux__ defined, "times" would point to a buffer, "ts" declared in an inner scope, yet "times" would be dereferenced outside the scope in which "ts" was valid. * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration of ts[2] "out/up", so that the use of aliased "times" (via "times = ts;") does not end up referencing an out-of-scope "ts"
Jim Meyering d94bbd1e 2011-05-24T13:44:41 opendir-safer.c: don't clobber errno; don't close negative FD * lib/opendir-safer.c (opendir_safer): [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative file descriptor, and more importantly, don't clobber the offending errno value with EINVAL. Before, upon failure of dup_safer, we would pass the negative file descriptor to fdopendir, which would clobber errno.
Karl Berry 1eddc6f2 2011-05-23T16:38:11 update from texinfo
Bruno Haible 1e8752a0 2011-05-24T00:19:52 Fix recent ChangeLog entry.
Bruno Haible 59ed6e82 2011-05-24T00:14:15 idcache: Fix module description. * modules/idcache (Include): Set to "idcache.h".
Paul Eggert ddd54c75 2011-05-23T15:02:43 gnulib-tool: fix portability problem with MacOS sed A sed command like "/x/{s/a/b/}" is not portable; a newline is needed before the "}". Problem reported by Leo in <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>. * gnulib-tool (sed_dependencies_without_conditions):
Bruno Haible cd756d0a 2011-05-23T23:56:14 hash: Simplify autoconf macro. * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
Bruno Haible fbd3cc52 2011-05-23T23:47:00 getugroups: Fix module description. * modules/getugroups (Include): Set to "getugroups.h".
Bruno Haible 7bc4fbf1 2011-05-23T21:48:33 linkat: Simplify autoconf macro. * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
Bruno Haible 64c63329 2011-05-23T21:46:00 linkat, renameat: Update dependencies. * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy. * modules/linkat (Depends-on): Likewise. Remove also readlink, symlinkat.