2010-03-07 Bruno Haible search: Avoid #define replacements in C++ mode. * lib/search.in.h: Include c++defs.h. (_gl_search_compar_fn, _gl_search_action_fn): New types. (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias symbol. * modules/search (Depends-on): Add c++defs. (Makefile.am): Update search.h rule. math: Avoid #define replacements in C++ mode. * lib/math.in.h: Include c++defs.h. (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl, frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf, trunc, truncl): In C++, define a namespaced alias symbol. * modules/math (Depends-on): Add c++defs. (Makefile.am): Update math.h rule. locale: Avoid #define replacements in C++ mode. * lib/locale.in.h: Include c++defs.h. (duplocale): In C++, define a namespaced alias symbol. * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE. * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE. * modules/locale (Depends-on): Add c++defs. (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE. langinfo: Avoid #define replacements in C++ mode. * lib/langinfo.in.h: Include c++defs.h. (nl_langinfo): In C++, define a namespaced alias symbol. * modules/langinfo (Depends-on): Add c++defs. (Makefile.am): Update langinfo.h rule. iconv-h: Avoid #define replacements in C++ mode. * lib/iconv.in.h: Include c++defs.h, warn-on-use.h. (iconv_open, iconv, iconv_close): In C++, define a namespaced alias symbol. * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H whenever iconv is present. * modules/iconv-h (Depends-on): Add c++defs, warn-on-use. (Makefile.am): Update iconv.h rule. glob: Avoid #define replacements in C++ mode. * lib/glob.in.h: Include c++defs.h, warn-on-use.h. (_gl_glob_errfunc_fn): New type. (glob, globfree, glob_pattern_p): In C++, define a namespaced alias symbol. * modules/glob (Depends-on): Add c++defs, warn-on-use. (Makefile.am): Update glob.h rule. fcntl-h: Avoid #define replacements in C++ mode. * lib/fcntl.in.h: Include c++defs.h. (fcntl, open, openat): In C++, define a namespaced alias symbol. * modules/fcntl-h (Depends-on): Add c++defs. (Makefile.am): Update fcntl.h rule. dirent: Avoid #define replacements in C++ mode. * lib/dirent.in.h: Include c++defs.h. (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a namespaced alias symbol. (dirfd): Update declaration. * modules/dirent (Depends-on): Add c++defs. (Makefile.am): Update dirent.h rule. ctype: Make it usable in C++ code. * lib/ctype.in.h: Include c++defs.h. (isblank): Declare as extern "C". * modules/ctype (Depends-on): Add c++defs. (Makefile.am): Update ctype.h rule. New module 'c++defs'. * modules/c++defs: New file. * build-aux/c++defs.h: New file. Reported by John W. Eaton . 2010-03-07 Bruno Haible logb: Provide missing declaration for Cygwin. * lib/math.in.h (logb): New declaration. * m4/logb.m4: New file. * modules/logb (Files): Add m4/logb.m4. (Depends-on): Add math. (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR. * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration. (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB. * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB. * doc/posix-functions/logb.texi: Mention the Cygwin bug. 2010-03-07 Bruno Haible Fix test-cond link error. * tests/test-cond.c: Include . 2010-03-07 Bruno Haible Fix test-dirent-safer link error. * modules/dirent-safer-tests (Makefile.am): Define test_dirent_safer_LDADD. 2010-03-07 Bruno Haible * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module among default module list. 2010-03-07 Bruno Haible Fix link error on platforms with GNU libiconv. * modules/unistr/u8-strcoll-tests (Makefile): Define test_u8_strcoll_LDADD. * modules/unistr/u16-strcoll-tests (Makefile): Define test_u16_strcoll_LDADD. * modules/unistr/u32-strcoll-tests (Makefile): Define test_u32_strcoll_LDADD. 2010-03-07 Bruno Haible Use POSIX declarations for socket functions. * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind, rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto): Change declaration to match POSIX. * lib/connect.c (rpl_connect): Likewise. * lib/accept.c (rpl_accept): Likewise. * lib/bind.c (rpl_bind): Likewise. * lib/getpeername.c (rpl_getpeername): Likewise. * lib/getsockname.c (rpl_getsockname): Likewise. * lib/recv.c (rpl_recv): Likewise. * lib/send.c (rpl_send): Likewise. * lib/recvfrom.c (rpl_recvfrom): Likewise. * lib/sendto.c (rpl_sendto): Likewise. 2010-03-06 Bruno Haible Clarify access, euidaccess, faccessat. * doc/posix-functions/faccessat.texi: Mention security problem under "Other problems", not "Portability problems". * doc/posix-functions/access.texi: Likewise. Mention a related security problem. * doc/glibc-functions/euidaccess.texi: Mention security problems. * lib/euidaccess.c: Add comments about platforms. * lib/unistd.in.h (access, euidaccess): Add warnings. 2010-03-07 Bruno Haible Ensure posix_spawnattr_{get,set}sched{policy,param} are defined. * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback. (POSIX_SPAWN_SETSCHEDULER): Likewise. (POSIX_SPAWN_USEVFORK): Define in a way that works when POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero. (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also declare when POSIX_SPAWN_SETSCHEDULER is zero. (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also declare when POSIX_SPAWN_SETSCHEDPARAM is zero. * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero. * modules/posix_spawnattr_getschedparam (configure.ac): Enable the replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero. * modules/posix_spawnattr_setschedparam (configure.ac): Likewise. * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the replacement also when POSIX_SPAWN_SETSCHEDULER is zero. * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise. * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do nothing if POSIX_SPAWN_SETSCHEDPARAM is zero. * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam): Likewise. * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do nothing if POSIX_SPAWN_SETSCHEDULER is zero. * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy): Likewise. * tests/test-spawn.c (main): Make it work when POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero. 2010-03-07 Bruno Haible Fix incorrect Makefile.am generation in German locale. * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Execute sed command with character range in C locale. 2010-03-06 Bruno Haible Tests for module 'iconv-h'. * modules/iconv-h-tests: New file. * tests/test-iconv-h.c: New file. New module 'iconv-h'. * modules/iconv-h: New file. * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4. (Depends-on): Add iconv-h. Remove include_next, arg-nonnull. (configure.ac): Remove gl_ICONV_H. (Makefile.am): Remove rule for iconv.h. 2010-03-06 Bruno Haible More consistent naming of *.m4 files. * m4/wctype_h.m4: Renamed from m4/wctype.m4. * modules/wctype (Files): Update. More consistent naming of *.m4 files. * m4/wchar_h.m4: Renamed from m4/wchar.m4. * modules/wchar (Files): Update. 2010-03-06 Jim Meyering euidaccess: relax license to LGPLv2+ * modules/euidaccess (License): Relax to LGPLv2+. 2010-03-06 Bruno Haible Prefer lib_SOURCES over unconditional AC_LIBOBJ. * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation. (Makefile.am): Augment lib_SOURCES instead. 2010-03-04 Jim Meyering utime: remove obsolete module This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been unnecessary for years, and has been marked as obsolete for 10 months. * modules/utime: Remove file. * lib/utime.c: Remove file. * m4/utime.m4: Remove file. * m4/utimes-null.m4: Remove file. * doc/posix-functions/utime.texi (utime): Remove reference to the module. Move the sole "fixed by gnulib" item into the "problems not fixed by Gnulib" list. * MODULES.html.sh (func_all_modules): Remove reference to "utime". 2010-03-05 Simon Josefsson * modules/exit (License): Relax license to LGPLv2+. (Status): Mark as obsolete. * NEWS: Mention deprecated 'exit' module. * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead of now obsolete 'exit'. 2010-03-02 Ralf Wildenhues fts-lgpl: remove unused module * modules/fts-lgpl: Remove. * MODULES.html.sh (func_all_modules): Adjust. * check-module (find_included_lib_files): Adjust. * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove. 2010-03-02 Ben Walton (tiny change) copy-acl: enhance Solaris ACL error handling * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP. * lib/set-mode-acl.c (qset_acl): Likewise. 2010-03-02 Bruno Haible spawn: Don't override the system defined values on FreeBSD 8. * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP, POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK, POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine if HAVE_POSIX_SPAWN is 1. Reported by Johan van Selst via Eric Blake. 2010-03-01 Bruno Haible * doc/gnulib-tool.texi (Initial import): Clarify the requirements regarding Automake. 2010-02-25 Bruno Haible Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21. * gnulib-tool: Define 'echo' as a function only before the ksh alias setting, not afterwards. Reported by Ben Walton . 2010-02-24 Eric Blake bootstrap, git-version-gen: use timestamp * build-aux/git-version-gen (scriptversion): Force UTC. * build-aux/bootstrap (scriptversion): New variable. bootstrap: allow older git * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is older than 1.6.4. Requested by the libvirt project. 2010-02-23 Eric Blake warn-on-use: work with old autoconf * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older AS_VAR semantics of autoconf 2.60. Reported by Bruno Haible. bootstrap: improve some comments * build-aux/bootstrap: Drop unneeded emacs hint. Add some clarification comments. gettimeofday: provide correct function * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only when replacement is declared, otherwise provide gettimeofday. Reported by Michael Goffioul. 2010-02-23 Jim Meyering lib-ignore: relax license to "unlimited", not LGPLv2+ * modules/lib-ignore (License): Relax to "unlimited". 2010-02-23 Jim Meyering lib-ignore: relax license to LGPLv2+ * modules/lib-ignore (License): Relax to LGPLv2+. 2010-02-22 Eric Blake lseek: avoid bash 3.2 broken pipe bug * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious warning from bash 3.2. Reported by Ben Pfaff, with analysis from Bruno Haible. bootstrap: support non-FSF copyright holder * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow bootstrap.conf override of COPYRIGHT_HOLDER. (MSGID_BUGS_ADDRESS): Allow URL rather than email. bootstrap: interoperate with gettext 0.14.1 * build-aux/bootstrap (slurp): Fix typo when using older gettext. bootstrap: allow for alternate submodule location * build-aux/bootstrap (gnulib_path): New variable; use instead of hardcoding submodule location. (gnulib_mk): Allow direct use of Makefile.am. bootstrap: use GNULIB_SRCDIR to reduce disk usage * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference, rather than reconfiguring where the submodule points. gettimeofday: restore support for platforms that lack function * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile replacement if function is missing. * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness. * modules/sys_time (Makefile.am): Substitute it. * lib/sys_time.in.h (gettimeofday): Check it. Reported by Michael Goffioul. 2010-02-21 Bruno Haible * lib/stdio.in.h (obstack_printf): Fix typo. 2010-02-21 Jose E. Marchesi vc-list-files: use bzr ls's -R option * build-aux/vc-list-files: Invoke bazaar to generate a recursive list of versioned files based on 'dir' (usage of -R in 'bzr ls'). 2010-02-21 Jim Meyering init.sh: fix EXEEXT shims to work also for names like test-prog * tests/init.sh: Re-exec a better shell, when needed. If the current shell lacks support for posix $(...), an init.sh-using test will now try to find a shell that supports that. If EXEEXT is nonempty, we also require support for hyphen-in-alias-name and shell substitutions like ${var#glob}. Failure to find such a shell results in a skipped test. 2010-02-21 Bruno Haible Really work around around "broken pipe" error message from bash 3.2. * gnulib-tool (func_reset_sigpipe): Remove function. (echo): In bash 3.2, define to a function that uses printf. Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff. 2010-02-20 Bruno Haible Restore support for automake 1.9.6 with autoconf 2.61. * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed. Reported by James Youngman . 2010-02-20 Bruno Haible Improve *printf warning condition. * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning also if GNULIB_POSIXCHECK is defined, the *-posix module is not used, and the function is overridden due to SIGPIPE emulation. 2010-02-20 Bruno Haible * lib/stdio.in.h: Tweak comments. 2010-02-19 Bruno Haible Make it easier to find modules. New gnulib-tool option '--find'. * gnulib-tool: New option --find. (func_usage): Document it. (func_sanitize_modulelist): New function, extracted from func_all_modules. (func_all_modules): Invoke it. * doc/gnulib-tool.texi (Which modules?): New node. 2010-02-18 Markus Duft (tiny change) * lib/sys_select.in.h: Provide select replacement even if sys/select.h exists on a system, for Interix. 2010-02-18 Jim Meyering init.sh: don't use $(...) just yet * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...), to accommodate e.g., Solaris' /bin/sh. 2010-02-17 Bruno Haible * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem. Reported by Ludovic Courtès . 2010-02-16 Simon Josefsson * modules/userspec-tests (test_userspec_LDADD): Add variable, for linking with -lintl. 2010-02-17 Simon Josefsson * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0 if not provided by the system's netdb.h. Reported by ludo@gnu.org (Ludovic Courtès). 2010-02-15 Jim Meyering init.sh: improve portability and efficiency * tests/init.sh (find_exe_basenames_): Remove unnecessary use of "dummy" in a for loop. Use '!', not '^' to select the complement of a character set used in a "case" statement. Use shell variable manipulation, a la ${...%.exe}, rather than sed. Suggestions from Eric Blake. init.sh: automatically accommodate programs with the .exe suffix Automatically arrange for an invocation of "prog" to execute the program named "prog$EXEEXT" (usually prog.exe). Thus, all invocations may use the simpler "prog", yet still work when built on a system that requires specifying the added suffix. Do this by constructing a function named "prog" that invokes "prog.exe" for each .exe file in selected directories. * tests/init.sh (find_exe_basenames_): New function. (create_exe_shim_functions_): New function. (path_prepend_): Use it. maint.mk: mark syntax-check sc_*.m rules as .PHONY * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that "make -t syntax-check" doesn't create a ton of sc_*.m files. 2010-02-14 Jim Meyering maint.mk: prohibit inclusion of "hash-pjw.h" without_use * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@". (sc_prohibit_hash_pjw_without_use): New rule. maint.mk: allow the default upload destination dir to be overridden * top/maint.mk (upload_dest_dir_): Define with a default that preserves the status quo. (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE). Reported by Peter Simons. maint.mk: prohibit inclusion of "hash.h" without_use * top/maint.mk (sc_prohibit_hash_without_use): New rule. 2010-02-10 Jim Meyering maint.mk: prohibit inclusion of "ignore-value.h" without_use * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule. 2010-02-09 Eric Blake and Bruno Haible obstack-printf-posix: ensure declaration * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro, extracted from gl_FUNC_OBSTACK_PRINTF. (gl_FUNC_OBSTACK_PRINTF): Invoke it. * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise. * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is 0. 2010-02-08 Bruno Haible gnulib-tool: Fix typo in 2010-02-07 commit. * gnulib-tool (func_get_dependencies): Fix typo in last commit. Reported by Eric Blake. 2010-02-07 Bruno Haible gnulib-tool: Fix up caching patches. * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove option --no-cache. Use associative arrays when supported by the shell. (sed_comments): New variable. (modcache): Renamed from do_cache. (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't abbreviate unnecessarily. (have_associative): New variable. (func_cache_var): Define correctly for bash 1.x. Define in an optimized way also for ksh and zsh. (func_init_sed_convert_to_cache_statements): New function, extracted from func_cache_lookup_module. Add support for associative arrays. Don't set the c_MODULE_cached variable here. Ignore all lines before the first field header. Remove only the final newline, not all trailing newlines. Support empty fields correctly. Limit the use of 'eval' to assignments. (func_get_description, func_get_status, func_get_notice, func_get_applicability, func_get_filelist, func_get_dependencies, func_get_autoconf_early_snippet, func_get_autoconf_snippet, func_get_automake_snippet, func_get_include_directive, func_get_link_directive, func_get_license, func_get_maintainer): Update documentation. List the unoptimized code first. Add support for associative arrays. Limit the use of 'eval' to assignments. (func_get_applicability): Undo stylistic pessimisations. (func_get_automake_snippet, func_get_include_directive): Reduce code duplication. (func_modules_transitive_closure, func_modules_add_dummy, func_modules_notice, func_modules_to_filelist, func_add_file, func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars, func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import, func_create_testdir, func_create_megatestdir): Update documentation. 2010-01-18 Ralf Wildenhues * gnulib-tool (func_cache_lookup_module): Store the module name belonging to the cache variable; error out if two different module names map to the same cache variable name. 2010-01-18 Ralf Wildenhues gnulib-tool: Make caching optional. * gnulib-tool: Accept option --no-cache, turning off $do_cache. Update matching short versions of --no-changelog. (func_usage): Update. (sed_extract_cache_prog): Renamed from ... (sed_extract_prog): ... this; revert to old extraction script. (func_get_description, func_get_status) (func_get_notice, func_get_applicability, func_get_filelist) (func_get_dependencies, func_get_autoconf_early_snippet) (func_get_autoconf_snippet, func_get_automake_snippet) (func_get_include_directive, func_get_link_directive) (func_get_license, func_get_maintainer): If $do_cache is false, use old, non-caching extraction scripts. Suggestion by Bruno Haible. 2010-01-17 Ralf Wildenhues gnulib-tool: cache module metainformation. * gnulib-tool (sed_extract_prog): Match newline before each header, and rewrite header to a shell variable suffix. (func_cache_var, func_cache_lookup_module): New functions, to turn a module name into a cache variable prefix, and to look up and cache module metainformation. (func_get_description, func_get_status) (func_get_notice, func_get_applicability, func_get_filelist) (func_get_dependencies, func_get_autoconf_early_snippet) (func_get_autoconf_snippet, func_get_automake_snippet) (func_get_include_directive, func_get_link_directive) (func_get_license, func_get_maintainer): Use func_cache_lookup_module. 2010-02-07 Bruno Haible fnctl: Fix missing dependency. * modules/fcntl (Depends-on): Add getdtablesize. Reported by John W. Eaton . 2010-02-05 Sergey Poznyakoff Argp: fix recognition of short alias options. * lib/argp-parse.c (convert_options): Fix improper use of `|' between character values. * tests/test-argp.c (group1_option): New alias option --read (-r). (group1_parser): Special handling for 'r'. (test15): New test case. (test_fun): Add test15. * tests/test-argp-2.sh: Update expected --help and --usage outputs. 2010-02-05 Sergey Poznyakoff * tests/test-argp.c: Fix indentation. 2010-02-04 Eric Blake gettimeofday: expose type of second argument * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE. * tests/test-gettimeofday.c: Use it to silence warning. * doc/posix-functions/gettimeofday.texi (gettimeofday): Document the issue. 2010-02-03 Jim Meyering regcomp.c: avoid the sole warning from gcc's -Wtype-limits * lib/regcomp.c (TYPE_SIGNED): Define. (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits. regcomp.c: avoid a new -Wshadow warning * lib/regcomp.c (create_initial_state): Do not shadow local "err". 2010-02-01 Jim Meyering removing useless parentheses in cpp #define directives For motivation, see commit c0221df4, "define STREQ(a,b) consistently, removing useless parentheses" * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses. * lib/mountlist.c (MNT_IGNORE): Likewise. * lib/trim.h (trim, trim_trailing, trim_leading): Likewise. 2010-02-01 Eric Blake sys_time: use link-warning * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults... (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro. (gl_SYS_TIME_MODULE_INDICATOR): New macro. * modules/sys_time (Depends-on): Add warn-on-use. (Makefile.am): Always build replacement. (configure.ac): Update substitutions. * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY) (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer bother with SYS_TIME_H. * modules/gettimeofday (configure.ac): Declare indicator. * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not in use. closein-tests: silence compiler warning * tests/test-closein.c (main): Ignore fread result. * modules/closein-tests (Depends-on): Add ignore-value. tests: silence warning about system return * tests/test-areadlink-with-size.c (main): Ignore system result. * tests/test-areadlink.c (main): Likewise. * tests/test-areadlinkat-with-size.c (main): Likewise. * tests/test-areadlinkat.c (main): Likewise. * tests/test-canonicalize-lgpl.c (main): Likewise. * tests/test-canonicalize.c (main): Likewise. * tests/test-chown.c (main): Likewise. * tests/test-fchownat.c (main): Likewise. * tests/test-fdutimensat.c (main): Likewise. * tests/test-fstatat.c (main): Likewise. * tests/test-futimens.c (main): Likewise. * tests/test-lchown.c (main): Likewise. * tests/test-link.c (main): Likewise. * tests/test-linkat.c (main): Likewise. * tests/test-lstat.c (main): Likewise. * tests/test-mkdir.c (main): Likewise. * tests/test-mkdirat.c (main): Likewise. * tests/test-mkfifo.c (main): Likewise. * tests/test-mkfifoat.c (main): Likewise. * tests/test-mknod.c (main): Likewise. * tests/test-readlink.c (main): Likewise. * tests/test-remove.c (main): Likewise. * tests/test-rename.c (main): Likewise. * tests/test-renameat.c (main): Likewise. * tests/test-rmdir.c (main): Likewise. * tests/test-symlink.c (main): Likewise. * tests/test-symlinkat.c (main): Likewise. * tests/test-unlink.c (main): Likewise. * tests/test-unlinkat.c (main): Likewise. * tests/test-utimens.c (main): Likewise. * tests/test-utimensat.c (main): Likewise. * modules/areadlink-tests (Depends-on): Add ignore-value. * modules/areadlink-with-size-tests (Depends-on): Likewise. * modules/areadlinkat-tests (Depends-on): Likewise. * modules/areadlinkat-with-size-tests (Depends-on): Likewise. * modules/canonicalize-lgpl-tests (Depends-on): Likewise. * modules/canonicalize-tests (Depends-on): Likewise. * modules/chown-tests (Depends-on): Likewise. * modules/fdutimensat-tests (Depends-on): Likewise. * modules/futimens-tests (Depends-on): Likewise. * modules/lchown-tests (Depends-on): Likewise. * modules/link-tests (Depends-on): Likewise. * modules/linkat-tests (Depends-on): Likewise. * modules/lstat-tests (Depends-on): Likewise. * modules/mkdir-tests (Depends-on): Likewise. * modules/mkfifo-tests (Depends-on): Likewise. * modules/mkfifoat-tests (Depends-on): Likewise. * modules/mknod-tests (Depends-on): Likewise. * modules/openat-tests (Depends-on): Likewise. * modules/readlink-tests (Depends-on): Likewise. * modules/remove-tests (Depends-on): Likewise. * modules/rename-tests (Depends-on): Likewise. * modules/renameat-tests (Depends-on): Likewise. * modules/rmdir-tests (Depends-on): Likewise. * modules/symlink-tests (Depends-on): Likewise. * modules/symlinkat-tests (Depends-on): Likewise. * modules/unlink-tests (Depends-on): Likewise. * modules/utimens-tests (Depends-on): Likewise. * modules/utimensat-tests (Depends-on): Likewise. 2010-01-31 Bruno Haible Perform the same test for many functions. * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC, gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros. * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead of gl_MATHFUNC. * modules/acos (configure.ac): Likewise. * modules/asin (configure.ac): Likewise. * modules/atan (configure.ac): Likewise. * modules/atan2 (configure.ac): Likewise. * modules/cbrt (configure.ac): Likewise. * modules/copysign (configure.ac): Likewise. * modules/cos (configure.ac): Likewise. * modules/cosh (configure.ac): Likewise. * modules/erf (configure.ac): Likewise. * modules/erfc (configure.ac): Likewise. * modules/exp (configure.ac): Likewise. * modules/fmod (configure.ac): Likewise. * modules/hypot (configure.ac): Likewise. * modules/j0 (configure.ac): Likewise. * modules/j1 (configure.ac): Likewise. * modules/jn (configure.ac): Likewise. * modules/lgamma (configure.ac): Likewise. * modules/log (configure.ac): Likewise. * modules/log10 (configure.ac): Likewise. * modules/log1p (configure.ac): Likewise. * modules/pow (configure.ac): Likewise. * modules/remainder (configure.ac): Likewise. * modules/sin (configure.ac): Likewise. * modules/sinh (configure.ac): Likewise. * modules/tan (configure.ac): Likewise. * modules/tanh (configure.ac): Likewise. * modules/y0 (configure.ac): Likewise. * modules/y1 (configure.ac): Likewise. * modules/yn (configure.ac): Likewise. Suggested by Paolo Bonzini. 2010-01-31 Bruno Haible * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE. 2010-01-31 Bruno Haible Work around getdelim() bug on FreeBSD 8.0. * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does not work. * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM is 1. * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM. * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM. * tests/test-getdelim.c (main): Also test result for a NULL buffer and a non-zero size. * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug. 2010-01-31 Bruno Haible Work around getline() bug on FreeBSD 8.0. * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer and a non-zero size. * tests/test-getline.c (main): Likewise. * doc/posix-functions/getline.texi: Mention the FreeBSD bug. Reported by Dennis via Eric Blake. 2010-01-28 Eric Blake regex: fix build failure * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc platforms. 2010-01-28 Jim Meyering regex: do not ignore memory allocation failure * lib/regex_internal.c (create_cd_newstate): Detect re_node_set_init_copy failure. Extracted from glibc commit 2da42bc06566bc89785e580fa1ac89b4c9f2a63c. regex: sync more white-space changes from libc * lib/regex_internal.c: White-space only changes. * lib/regexec.c: Likewise. regex: add many uses of __attribute_warn_unused_result__ * lib/regex_internal.c: Use __attribute_warn_unused_result__. * lib/regexec.c: Likewise. Extracted from a messy glibc commit. regcomp.c: spelling and merge-artifact from glibc * lib/regcomp.c: Merge remainder of glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c. regcomp.c: sync white-space changes from glibc * lib/regcomp.c: Merge to accommodate white space changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c. regcomp.c: do not ignore internal return values * lib/regcomp.c: Do not ignore internal return values. This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c, but without its white-space changes and spelling fixes. regex_internal.h: define __attribute_warn_unused_result__ * lib/regex_internal.h (__attribute_warn_unused_result__): Define. maint: add a syntax-check rule to check for vulnerable Makefile.in * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule. 2010-01-27 Jim Meyering ncftpput-ftp: clean up spaces * build-aux/ncftpput-ftp: Make Copyright line consistent. Remove trailing blanks. 2010-01-27 Simon Josefsson * build-aux/git-version-gen: Fix copyright statement. * build-aux/gnupload: Likewise. * tests/test-arcfour.c: Likewise. * tests/test-arctwo.c: Likewise. * tests/test-count-one-bits.c: Likewise. * tests/test-crc.c: Likewise. * tests/test-des.c: Likewise. * tests/test-gc-arcfour.c: Likewise. * tests/test-gc-arctwo.c: Likewise. * tests/test-gc-des.c: Likewise. * tests/test-gc-hmac-md5.c: Likewise. * tests/test-gc-hmac-sha1.c: Likewise. * tests/test-gc-md2.c: Likewise. * tests/test-gc-md4.c: Likewise. * tests/test-gc-md5.c: Likewise. * tests/test-gc-pbkdf2-sha1.c: Likewise. * tests/test-gc-rijndael.c: Likewise. * tests/test-gc-sha1.c: Likewise. * tests/test-gc.c: Likewise. * tests/test-gethostname.c: Likewise. * tests/test-gettimeofday.c: Likewise. * tests/test-hash.c: Likewise. * tests/test-hmac-md5.c: Likewise. * tests/test-hmac-sha1.c: Likewise. * tests/test-md2.c: Likewise. * tests/test-md4.c: Likewise. * tests/test-md5.c: Likewise. * tests/test-memchr.c: Likewise. * tests/test-memchr2.c: Likewise. * tests/test-memcmp.c: Likewise. * tests/test-memmem.c: Likewise. * tests/test-memrchr.c: Likewise. * tests/test-rawmemchr.c: Likewise. * tests/test-read-file.c: Likewise. * tests/test-rijndael.c: Likewise. * tests/test-sockets.c: Likewise. * tests/test-strchrnul.c: Likewise. * tests/test-strstr.c: Likewise. * tests/test-strtod.c: Likewise. * build-aux/ncftpput-ftp: Likewise. 2010-01-26 Eric Blake ignore-value: update recommended header name * modules/ignore-value (Include): Only use <> for headers that exist in glibc. 2010-01-26 Jim Meyering test-userspec.c: avoid compiler warnings * tests/test-userspec.c (main): Avoid shadowing ("uid"), and "initialization discards qualifiers..." warnings. Put the first "uid" in its own scope, and make char* members "const". 2010-01-25 Bruno Haible gnulib-tool: Make warning diagnostics consistent. * gnulib-tool (func_warning): New function. Use it everywhere where gnulib-tool produces output to stderr and it is not a fatal error. 2010-01-25 Bruno Haible Fix test dependencies. * modules/xstrtol-tests (Depends-on): Add inttypes. * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll. 2010-01-25 Pádraig Brady syntax-check: detect incorrect boolean macro values in config.h * modules/maintainer-makefile (configure.ac): Parameterize the location of config.h which will be available to makefiles as $(CONFIG_INCLUDE). The logic is from Eric Blake and the location indicated by Jim Meyering. Note the more natural CONFIG_HEADER name is prohibited by automake for backwards compatibility reasons. * top/maint.mk (sc_Wundef_boolean): New rule. 2010-01-25 Jim Meyering bootstrap: detect MacOS 10.6's shasum, too * build-aux/bootstrap: Also recognize MacOS 10.6's shasum. Suggested by Thomas Treichl . 2010-01-23 Jim Meyering xstrtoll: new module * modules/xstrtoll: New file. * MODULES.html.sh (Numeric conversion functions): Add xstrtoll. * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull. * lib/xstrtoll.c, lib/xstrtoull.c: New files. ./configure fails if you use this module and lack "long long". * modules/xstrtoll-tests: New module. * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files. * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the new init.sh-based test framework. 2010-01-24 Bruno Haible Tests for module 'yn'. * modules/yn-tests: New file. * tests/test-yn.c: New file. Tests for module 'y1'. * modules/y1-tests: New file. * tests/test-y1.c: New file. Tests for module 'y0'. * modules/y0-tests: New file. * tests/test-y0.c: New file. Tests for module 'tanh'. * modules/tanh-tests: New file. * tests/test-tanh.c: New file. Tests for module 'tan'. * modules/tan-tests: New file. * tests/test-tan.c: New file. Tests for module 'sqrt'. * modules/sqrt-tests: New file. * tests/test-sqrt.c: New file. Tests for module 'sinh'. * modules/sinh-tests: New file. * tests/test-sinh.c: New file. Tests for module 'sin'. * modules/sin-tests: New file. * tests/test-sin.c: New file. Tests for module 'rint'. * modules/rint-tests: New file. * tests/test-rint.c: New file. Tests for module 'remainder'. * modules/remainder-tests: New file. * tests/test-remainder.c: New file. Tests for module 'pow'. * modules/pow-tests: New file. * tests/test-pow.c: New file. Tests for module 'nextafter'. * modules/nextafter-tests: New file. * tests/test-nextafter.c: New file. Tests for module 'modf'. * modules/modf-tests: New file. * tests/test-modf.c: New file. Tests for module 'logb'. * modules/logb-tests: New file. * tests/test-logb.c: New file. Tests for module 'log1p'. * modules/log1p-tests: New file. * tests/test-log1p.c: New file. Tests for module 'log10'. * modules/log10-tests: New file. * tests/test-log10.c: New file. Tests for module 'log'. * modules/log-tests: New file. * tests/test-log.c: New file. Tests for module 'lgamma'. * modules/lgamma-tests: New file. * tests/test-lgamma.c: New file. Tests for module 'ldexp'. * modules/ldexp-tests: New file. * tests/test-ldexp.c: New file. Tests for module 'jn'. * modules/jn-tests: New file. * tests/test-jn.c: New file. Tests for module 'j1'. * modules/j1-tests: New file. * tests/test-j1.c: New file. Tests for module 'j0'. * modules/j0-tests: New file. * tests/test-j0.c: New file. Tests for module 'hypot'. * modules/hypot-tests: New file. * tests/test-hypot.c: New file. Tests for module 'fmod'. * modules/fmod-tests: New file. * tests/test-fmod.c: New file. Tests for module 'fabs'. * modules/fabs-tests: New file. * tests/test-fabs.c: New file. Tests for module 'exp'. * modules/exp-tests: New file. * tests/test-exp.c: New file. Tests for module 'erfc'. * modules/erfc-tests: New file. * tests/test-erfc.c: New file. Tests for module 'erf'. * modules/erf-tests: New file. * tests/test-erf.c: New file. Tests for module 'cosh'. * modules/cosh-tests: New file. * tests/test-cosh.c: New file. Tests for module 'cos'. * modules/cos-tests: New file. * tests/test-cos.c: New file. Tests for module 'copysign'. * modules/copysign-tests: New file. * tests/test-copysign.c: New file. Tests for module 'cbrt'. * modules/cbrt-tests: New file. * tests/test-cbrt.c: New file. Tests for module 'atan2'. * modules/atan2-tests: New file. * tests/test-atan2.c: New file. Tests for module 'atan'. * modules/atan-tests: New file. * tests/test-atan.c: New file. Tests for module 'asin'. * modules/asin-tests: New file. * tests/test-asin.c: New file. Tests for module 'acos'. * modules/acos-tests: New file. * tests/test-acos.c: New file. 2010-01-24 Bruno Haible Fix tests for common functions. * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a code snippet that references the function pointer, rather than merely calling the function. Substitute the FUNC_LIBM variable. * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation. * modules/acos (configure.ac): Likewise. * modules/asin (configure.ac): Likewise. * modules/atan (configure.ac): Likewise. * modules/atan2 (configure.ac): Likewise. * modules/cbrt (configure.ac): Likewise. * modules/copysign (configure.ac): Likewise. * modules/cos (configure.ac): Likewise. * modules/cosh (configure.ac): Likewise. * modules/erf (configure.ac): Likewise. * modules/erfc (configure.ac): Likewise. * modules/exp (configure.ac): Likewise. * modules/fabs (configure.ac): Likewise. * modules/fmod (configure.ac): Likewise. * modules/hypot (configure.ac): Likewise. * modules/j0 (configure.ac): Likewise. * modules/j1 (configure.ac): Likewise. * modules/jn (configure.ac): Likewise. * modules/ldexp (configure.ac): Likewise. * modules/lgamma (configure.ac): Likewise. * modules/log (configure.ac): Likewise. * modules/log10 (configure.ac): Likewise. * modules/log1p (configure.ac): Likewise. * modules/logb (configure.ac): Likewise. * modules/modf (configure.ac): Likewise. * modules/nextafter (configure.ac): Likewise. * modules/pow (configure.ac): Likewise. * modules/remainder (configure.ac): Likewise. * modules/rint (configure.ac): Likewise. * modules/sin (configure.ac): Likewise. * modules/sinh (configure.ac): Likewise. * modules/tan (configure.ac): Likewise. * modules/tanh (configure.ac): Likewise. * modules/y0 (configure.ac): Likewise. * modules/y1 (configure.ac): Likewise. * modules/yn (configure.ac): Likewise. 2010-01-24 Bruno Haible Tests: Defeat inlining of math functions by GCC >= 4.3.0. * tests/test-acosl.c (x): New variable. (main): Store argument in x and fetch it from x. * tests/test-asinl.c (x): New variable. (main): Store argument in x and fetch it from x. * tests/test-atanl.c (x): New variable. (main): Store argument in x and fetch it from x. * tests/test-cosl.c (x): New variable. (main): Store argument in x and fetch it from x. * tests/test-expl.c (x): New variable. (main): Store argument in x and fetch it from x. * tests/test-logl.c (x): New variable. (main): Store argument in x and fetch it from x. * tests/test-sinl.c (x): New variable. (main): Store argument in x and fetch it from x. * tests/test-sqrtl.c (x): New variable. (main): Store argument in x and fetch it from x. * tests/test-tanl.c (x): New variable. (main): Store argument in x and fetch it from x. 2010-01-24 Bruno Haible Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default. * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir assignments to the initial TESTS_ENVIRONMENT. * doc/gnulib.texi (Unit test modules): Document it. * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from TESTS_ENVIRONMENT. * modules/btowc-tests (Makefile.am): Likewise. * modules/c-stack-tests (Makefile.am): Likewise. * modules/c-strcase-tests (Makefile.am): Likewise. * modules/copy-file-tests (Makefile.am): Likewise. * modules/mbmemcasecmp-tests (Makefile.am): Likewise. * modules/mbmemcasecoll-tests (Makefile.am): Likewise. * modules/mbrtowc-tests (Makefile.am): Likewise. * modules/mbscasecmp-tests (Makefile.am): Likewise. * modules/mbscasestr-tests (Makefile.am): Likewise. * modules/mbschr-tests (Makefile.am): Likewise. * modules/mbscspn-tests (Makefile.am): Likewise. * modules/mbsinit-tests (Makefile.am): Likewise. * modules/mbsncasecmp-tests (Makefile.am): Likewise. * modules/mbsnrtowcs-tests (Makefile.am): Likewise. * modules/mbspbrk-tests (Makefile.am): Likewise. * modules/mbspcasecmp-tests (Makefile.am): Likewise. * modules/mbsrchr-tests (Makefile.am): Likewise. * modules/mbsrtowcs-tests (Makefile.am): Likewise. * modules/mbsspn-tests (Makefile.am): Likewise. * modules/mbsstr-tests (Makefile.am): Likewise. * modules/nl_langinfo-tests (Makefile.am): Likewise. * modules/unicase/locale-language-tests (Makefile.am): Likewise. * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise. * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise. * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise. * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise. * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise. * modules/vasnprintf-posix-tests (Makefile.am): Likewise. * modules/wcrtomb-tests (Makefile.am): Likewise. * modules/wcsnrtombs-tests (Makefile.am): Likewise. * modules/wcsrtombs-tests (Makefile.am): Likewise. * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir assignments from TESTS_ENVIRONMENT. * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT augmentation. * modules/argp-version-etc-tests (Makefile.am): Likewise. * modules/atexit-tests (Makefile.am): Likewise. * modules/binary-io-tests (Makefile.am): Likewise. * modules/closein-tests (Makefile.am): Likewise. * modules/dprintf-posix-tests (Makefile.am): Likewise. * modules/exclude-tests (Makefile.am): Likewise. * modules/fflush-tests (Makefile.am): Likewise. * modules/fpending-tests (Makefile.am): Likewise. * modules/fprintf-posix-tests (Makefile.am): Likewise. * modules/freadahead-tests (Makefile.am): Likewise. * modules/freadptr-tests (Makefile.am): Likewise. * modules/freadseek-tests (Makefile.am): Likewise. * modules/fseek-tests (Makefile.am): Likewise. * modules/fseeko-tests (Makefile.am): Likewise. * modules/ftell-tests (Makefile.am): Likewise. * modules/ftello-tests (Makefile.am): Likewise. * modules/idpriv-drop-tests (Makefile.am): Likewise. * modules/idpriv-droptemp-tests (Makefile.am): Likewise. * modules/lseek-tests (Makefile.am): Likewise. * modules/parse-duration-tests (Makefile.am): Likewise. * modules/perror-tests (Makefile.am): Likewise. * modules/pipe-filter-gi-tests (Makefile.am): Likewise. * modules/pipe-filter-ii-tests (Makefile.am): Likewise. * modules/pipe-tests (Makefile.am): Likewise. * modules/pread-tests (Makefile.am): Likewise. * modules/printf-posix-tests (Makefile.am): Likewise. * modules/select-tests (Makefile.am): Likewise. * modules/sigpipe-tests (Makefile.am): Likewise. * modules/tsearch-tests (Makefile.am): Likewise. * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise. * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise. * modules/uniname/uniname-tests (Makefile.am): Likewise. * modules/uniwidth/width-tests (Makefile.am): Likewise. * modules/vdprintf-posix-tests (Makefile.am): Likewise. * modules/version-etc-tests (Makefile.am): Likewise. * modules/vfprintf-posix-tests (Makefile.am): Likewise. * modules/vprintf-posix-tests (Makefile.am): Likewise. * modules/xalloc-die-tests (Makefile.am): Likewise. * modules/xprintf-posix-tests (Makefile.am): Likewise. * modules/xstrtoimax-tests (Makefile.am): Likewise. * modules/xstrtol-tests (Makefile.am): Likewise. * modules/xstrtoumax-tests (Makefile.am): Likewise. * modules/yesno-tests (Makefile.am): Likewise. Suggested by Jim Meyering. 2010-01-24 Bruno Haible More documentation. * doc/gnulib.texi (Writing modules): New chapter. (Miscellaneous Notes): Move sections "Comments" and "Header files" to the new chapter. 2010-01-24 Jim Meyering maint.mk: do not prepend "./" after filtering * top/maint.mk (_prepend_srcdir_prefix): New variable (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter) "./" when $(srcdir) is ".". define STREQ(a,b) consistently, removing useless parentheses #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized, since the only risk is that "a" or "b" contains an unparenthesized comma, but if either did that, STREQ would have 3 or more arguments. Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better. * lib/fts.c (STREQ): Remove unnecessary parentheses. * lib/hash-triple.c (STREQ): Likewise. * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2. * lib/getugroups.c (STREQ): Likewise. 2010-01-23 Jim Meyering maint.mk: fix syntax-check in a non-srcdir build directory * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash, introduced in my 2010-01-21 commit, a6da6c45. Reported by Eric Blake. 2010-01-22 Jim Meyering userspec: add unit tests * tests/test-userspec.c: New file. * modules/userspec-tests: Likewise. 2010-01-21 Jim Meyering maint.mk: handle source file names containing "." robustly * top/maint.mk (_dot_escaped_srcdir): Define. (VC_LIST): Use it in LHS of sed substitution. 2010-01-21 Jiri Denemark maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works from a non-srcdir build. 2010-01-20 Eric Blake warn-on-use: use instead of link-warning * modules/stdio (Depends-on, Makefile.am): Drop link-warning. * modules/unistd (Depends-on, Makefile.am): Likewise. * modules/arpa_inet (Depends-on): Replace link-warning with warn-on-use. (Makefile.am): Update rules accordingly. * modules/ctype (Depends-on, Makefile.am): Likewise. * modules/dirent (Depends-on, Makefile.am): Likewise. * modules/fcntl-h (Depends-on, Makefile.am): Likewise. * modules/inttypes (Depends-on, Makefile.am): Likewise. * modules/langinfo (Depends-on, Makefile.am): Likewise. * modules/locale (Depends-on, Makefile.am): Likewise. * modules/math (Depends-on, Makefile.am): Likewise. * modules/search (Depends-on, Makefile.am): Likewise. * modules/signal (Depends-on, Makefile.am): Likewise. * modules/spawn (Depends-on, Makefile.am): Likewise. * modules/stdlib (Depends-on, Makefile.am): Likewise. * modules/string (Depends-on, Makefile.am): Likewise. * modules/strings (Depends-on, Makefile.am): Likewise. * modules/sys_file (Depends-on, Makefile.am): Likewise. * modules/sys_ioctl (Depends-on, Makefile.am): Likewise. * modules/sys_select (Depends-on, Makefile.am): Likewise. * modules/sys_socket (Depends-on, Makefile.am): Likewise. * modules/sys_stat (Depends-on, Makefile.am): Likewise. * modules/sys_times (Depends-on, Makefile.am): Likewise. * modules/sys_utsname (Depends-on, Makefile.am): Likewise. * modules/wchar (Depends-on, Makefile.am): Likewise. * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions should be poisoned. * m4/ctype.m4 (gl_CTYPE_H): Likewise. * m4/dirent_h.m4 (gl_DIRENT_H): Likewise. * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise. * m4/inttypes.m4 (gl_INTTYPES_H): Likewise. * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise. * m4/locale_h.m4 (gl_LOCALE_H): Likewise. * m4/math_h.m4 (gl_MATH_H): Likewise. * m4/search_h.m4 (gl_SEARCH_H): Likewise. * m4/signal_h.m4 (gl_SIGNAL_H): Likewise. * m4/spawn_h.m4 (gl_SPAWN_H): Likewise. * m4/stdio_h.m4 (gl_STDIO_H): Likewise. * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise. * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise. * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise. * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise. * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise. * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise. * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise. * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise. * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise. * m4/unistd_h.m4 (gl_UNISTD_H): Likewise. * m4/wchar.m4 (gl_WCHAR_H): Likewise. * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of GL_LINK_WARNING. * lib/ctype.in.h: Likewise. * lib/dirent.in.h: Likewise. * lib/fcntl.in.h: Likewise. * lib/inttypes.in.h: Likewise. * lib/langinfo.in.h: Likewise. * lib/locale.in.h: Likewise. * lib/math.in.h: Likewise. * lib/search.in.h: Likewise. * lib/signal.in.h: Likewise. * lib/spawn.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_times.in.h: Likewise. * lib/sys_utsname.in.h: Likewise. * lib/unistd.in.h: Likewise. * lib/wchar.in.h: Likewise. 2010-01-20 Bruno Haible Avoid duplicate -lm. * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM. * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM. * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM. * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM. * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM. * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM. * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM. * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM. * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM. * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM. * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency. * m4/atanl.m4 (gl_FUNC_ATANL): Likewise. Reported by Paolo Bonzini. 2010-01-19 Bruno Haible langinfo, nl_langinfo: Relicense under LGPLv2+. * modules/langinfo (License): Change to LGPLv2+. * modules/nl_langinfo (License): Likewise. Patch by David Lutterkort . 2010-01-19 Bruno Haible Avoid compilation error with cc on OSF/1 5.1. * lib/fcntl.in.h: Include after the #include_next statement, not before. Reported by Ralf Wildenhues . 2010-01-18 Bruno Haible Avoid a link error due to the __printf__ symbol. * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x and 2.6.x. (__format__, __printf__): Remove definitions. * lib/argp-fmtstream.h: Likewise. * lib/argp.h: Likewise. * lib/error.h: Likewise. * lib/vasnprintf.h: Likewise. * lib/xprintf.h: Likewise. * lib/xvasprintf.h: Likewise. Reported by Ralf Wildenhues . 2010-01-18 Bruno Haible Tests for module 'tanl'. * modules/tanl-tests: New file. * tests/test-tanl.c: New file. Tests for module 'sqrtl'. * modules/sqrtl-tests: New file. * tests/test-sqrtl.c: New file. Tests for module 'sinl'. * modules/sinl-tests: New file. * tests/test-sinl.c: New file. Tests for module 'logl'. * modules/logl-tests: New file. * tests/test-logl.c: New file. Tests for module 'expl'. * modules/expl-tests: New file. * tests/test-expl.c: New file. Tests for module 'cosl'. * modules/cosl-tests: New file. * tests/test-cosl.c: New file. Tests for module 'atanl'. * modules/atanl-tests: New file. * tests/test-atanl.c: New file. Tests for module 'asinl'. * modules/asinl-tests: New file. * tests/test-asinl.c: New file. Tests for module 'acosl'. * modules/acosl-tests: New file. * tests/test-acosl.c: New file. New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl): Use the standard gnulib idiom. * lib/cosl.c: Don't include trigl.c and sincosl.c. * lib/sinl.c: Likewise. * lib/tanl.c: Don't include trigl.c. (kernel_tanl): Make static. * lib/sincosl.c: Include trigl.h first. * lib/trigl.c: Likewise. * m4/acosl.m4: New file. * m4/asinl.m4: New file. * m4/atanl.m4: New file. * m4/cosl.m4: New file. * m4/expl.m4: New file. * m4/logl.m4: New file. * m4/sinl.m4: New file. * m4/sqrtl.m4: New file. * m4/tanl.m4: New file. * m4/mathl.m4: Remove file. * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_* variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't initialize GNULIB_MATHL. * modules/acosl: New file. * modules/asinl: New file. * modules/atanl: New file. * modules/cosl: New file. * modules/expl: New file. * modules/logl: New file. * modules/sinl: New file. * modules/sqrtl: New file. * modules/tanl: New file. * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't substitute GNULIB_MATHL. * modules/mathl: Rewritten. * doc/posix-functions/acosl.texi: Mention the 'acosl' module. * doc/posix-functions/asinl.texi: Mention the 'asinl' module. * doc/posix-functions/atanl.texi: Mention the 'atanl' module. * doc/posix-functions/cosl.texi: Mention the 'cosl' module. * doc/posix-functions/expl.texi: Mention the 'expl' module. * doc/posix-functions/logl.texi: Mention the 'logl' module. * doc/posix-functions/sinl.texi: Mention the 'sinl' module. * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module. * doc/posix-functions/tanl.texi: Mention the 'tanl' module. 2010-01-18 Bruno Haible sqrt: Make gl_FUNC_SQRT requirable. * m4/sqrt.m4: New file. * modules/sqrt (Files): Add it. (configure.ac): Invoke gl_FUNC_SQRT. 2010-01-18 Bruno Haible New modules for common functions. * m4/mathfunc.m4: New file. * modules/acos: New file. * modules/asin: New file. * modules/atan: New file. * modules/atan2: New file. * modules/cbrt: New file. * modules/copysign: New file. * modules/cos: New file. * modules/cosh: New file. * modules/erf: New file. * modules/erfc: New file. * modules/exp: New file. * modules/fabs: New file. * modules/fmod: New file. * modules/hypot: New file. * modules/j0: New file. * modules/j1: New file. * modules/jn: New file. * modules/ldexp: New file. * modules/lgamma: New file. * modules/log: New file. * modules/log10: New file. * modules/log1p: New file. * modules/logb: New file. * modules/modf: New file. * modules/nextafter: New file. * modules/pow: New file. * modules/remainder: New file. * modules/rint: New file. * modules/sin: New file. * modules/sinh: New file. * modules/sqrt: New file. * modules/tan: New file. * modules/tanh: New file. * modules/y0: New file. * modules/y1: New file. * modules/yn: New file. * doc/posix-functions/acos.texi: Mention the 'acos' module. * doc/posix-functions/asin.texi: Mention the 'asin' module. * doc/posix-functions/atan.texi: Mention the 'atan' module. * doc/posix-functions/atan2.texi: Mention the 'atan2' module. * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module. * doc/posix-functions/copysign.texi: Mention the 'copysign' module. * doc/posix-functions/cos.texi: Mention the 'cos' module. * doc/posix-functions/cosh.texi: Mention the 'cosh' module. * doc/posix-functions/erf.texi: Mention the 'erf' module. * doc/posix-functions/erfc.texi: Mention the 'erfc' module. * doc/posix-functions/exp.texi: Mention the 'exp' module. * doc/posix-functions/fabs.texi: Mention the 'fabs' module. * doc/posix-functions/fmod.texi: Mention the 'fmod' module. * doc/posix-functions/hypot.texi: Mention the 'hypot' module. * doc/posix-functions/j0.texi: Mention the 'j0' module. * doc/posix-functions/j1.texi: Mention the 'j1' module. * doc/posix-functions/jn.texi: Mention the 'jn' module. * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module. * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module. * doc/posix-functions/log.texi: Mention the 'log' module. * doc/posix-functions/log10.texi: Mention the 'log10' module. * doc/posix-functions/log1p.texi: Mention the 'log1p' module. * doc/posix-functions/logb.texi: Mention the 'logb' module. * doc/posix-functions/modf.texi: Mention the 'modf' module. * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module. * doc/posix-functions/pow.texi: Mention the 'pow' module. * doc/posix-functions/remainder.texi: Mention the 'remainder' module. * doc/posix-functions/rint.texi: Mention the 'rint' module. * doc/posix-functions/sin.texi: Mention the 'sin' module. * doc/posix-functions/sinh.texi: Mention the 'sinh' module. * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module. * doc/posix-functions/tan.texi: Mention the 'tan' module. * doc/posix-functions/tanh.texi: Mention the 'tanh' module. * doc/posix-functions/y0.texi: Mention the 'y0' module. * doc/posix-functions/y1.texi: Mention the 'y1' module. * doc/posix-functions/yn.texi: Mention the 'yn' module. 2010-01-18 Jim Meyering ignore-value: relax license to LGPLv2+ * modules/ignore-value (License): Relax to LGPLv2+. getdate: don't leak when TZ contains two or more '"'s * lib/getdate.y (get_date): Don't leak a copy of TZ for each double quote in TZ after the first one. readtokens: do not leak internal token_lengths buffer * lib/readtokens.c (readtokens): Free the local, lengths, when the supplied "token_lengths" parameter is NULL. 2010-01-17 Ralf Wildenhues Fix a couple of missing LIBTHREAD link failures on AIX. * modules/git-merge-changelog (git_merge_changelog_LDADD): Add $(LIBTHREAD). * modules/strsignal-tests (test_strsignal_LDADD): Likewise. Link test-poll against INET_PTON_LIB. * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB), for inet_pton on Solaris 10. 2010-01-17 Bruno Haible unistdio/*-sprintf: Fix typo in module description. * modules/unistdio/u8-sprintf (Depends-on): Fix typo. * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise. * modules/unistdio/u16-sprintf (Depends-on): Likewise. * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise. * modules/unistdio/u32-sprintf (Depends-on): Likewise. * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise. * modules/unistdio/ulc-sprintf (Depends-on): Likewise. Reported by Ralf Wildenhues . 2010-01-17 Ralf Wildenhues gnulib-tool: fix filelist for AIX, HP-UX ksh. * gnulib-tool (func_filter_filelist): Do not quote possibly-empty variables in shell case patterns, for AIX and HP-UX ksh. Split large sed scripts, for HP-UX sed. * modules/stdio: Split sed scripts around 50 sed commands, to avoid HP-UX limit of 99 commands, in the near future. * modules/string: Likewise. * modules/unistd: Likewise. gnulib-tool: avoid writing in the current directory. * gnulib-tool (func_emit_lib_Makefile_am) (func_emit_tests_Makefile_am): Put temporary files in $tmp, not in the current directory, so concurrent gnulib-tool instances do not interfere. 2010-01-16 Jim Meyering doc: update users.txt * users.txt: Add grep. (diffutils, gzip): Update URLs. 2010-01-12 Bruno Haible posix_spawn: Avoid test failure on Cygwin. * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky characters. Reported by Simon Josefsson. 2010-01-12 Bruno Haible * tests/test-cond.c (main): When skipping the test, show the reason. 2010-01-12 Simon Josefsson * lib/striconv.c (str_cd_iconv): Avoid if before free. 2010-01-12 Simon Josefsson * top/maint.mk (VC_LIST_EXCEPT): Filter list through VC_LIST_ALWAYS_EXCLUDE_REGEX. 2010-01-12 Eric Blake build: guarantee AS_VAR_IF * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name. (gl_AS_VAR_IF): Move... * m4/gnulib-common.m4 (AS_VAR_IF): ...here. Reported by Simon Josefsson. 2010-01-12 Simon Josefsson * lib/stdio.in.h: Fix typo. 2010-01-12 Simon Josefsson * m4/gc.m4: Check if linking to libgcrypt also needs linking to libgpg-error. 2010-01-12 Simon Josefsson * tests/test-xalloc-die.sh: Use $EXEEXT. 2010-01-12 Simon Josefsson Bruno Haible getlogin, getlogin_r: Avoid test failure. * tests/test-getlogin.c: Include . (main): Skip the test when the function fails because stdin is not a tty. * tests/test-getlogin_r.c: Include . (main): Skip the test when the function fails because stdin is not a tty. 2010-01-11 Eric Blake tests: avoid more large file warnings * tests/test-fflush.c: Avoid warning about ftell use. * tests/test-fseek.c: Avoid warning about fseek use. 2010-01-10 Bruno Haible nproc: Work better on Linux when /proc and /sys are not mounted. * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask () as lower bound when, on glibc/Linux systems, sysconf (_SC_NPROCESSORS_CONF) returns 1. Suggested by Pádraig Brady . Reported by Dmitry V. Levin . nproc: Refactor. * lib/nproc.c (num_processors_via_affinity_mask): New function, extracted from num_processors. (num_processors): Call it. 2010-01-11 Jim Meyering utimecmp: avoid new warning from upcoming gcc-4.5.0 * lib/utimecmp.c (BILLION): Define using #define rather than an anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare. 2010-01-11 Eric Blake math: add portability warnings for classification macros * modules/math (Depends-on): Add warn-on-use. (Makefile.am): Provide new substitutions. * m4/math_h.m4 (gl_MATH_H): Require inline. * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL) (_GL_WARN_REAL_FLOATING_IMPL): New helper macros. (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to implement warnings. unistd: warn on use of environ without module * modules/unistd (Depends-on): Add warn-on-use. (Makefile.am): Provide new substitutions. * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ. * lib/unistd.in.h (environ): Wrap with a warning helper function. stdio: warn on suspicious uses * modules/stdio (Depends-on): Add warn-on-use. (Makefile.am): Provide new substitutions. * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and fseeko. * lib/stdio.in.h (gets): Always warn on use. (fseek, ftell): Adjust when warnings are issued, and honor _GL_NO_LARGE_FILES as a way to silence the warning. * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch any warning about large file offsets. * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise. * tests/test-freading.c [!GNULIB_FSEEK]: Likewise. * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise. * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise. * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise. * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise. * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise. * tests/test-getopt.c [!GNULIB_FTELL]: Likewise. warn-on-use: new module * modules/warn-on-use: New file. * build-aux/warn-on-use.h: Likewise. * m4/warn-on-use.m4: Likewise. * MODULES.html.sh (Support for building): Mention it. 2010-01-10 Bruno Haible Tests for module 'unistr/u32-strdup'. * modules/unistr/u32-strdup-tests: New file. * tests/unistr/test-u32-strdup.c: New file. Tests for module 'unistr/u16-strdup'. * modules/unistr/u16-strdup-tests: New file. * tests/unistr/test-u16-strdup.c: New file. Tests for module 'unistr/u8-strdup'. * modules/unistr/u8-strdup-tests: New file. * tests/unistr/test-u8-strdup.c: New file. * tests/unistr/test-strdup.h: New file. Tests for module 'unistr/u32-strncmp'. * modules/unistr/u32-strncmp-tests: New file. * tests/unistr/test-u32-strncmp.c: New file. Tests for module 'unistr/u16-strncmp'. * modules/unistr/u16-strncmp-tests: New file. * tests/unistr/test-u16-strncmp.c: New file. Tests for module 'unistr/u8-strncmp'. * modules/unistr/u8-strncmp-tests: New file. * tests/unistr/test-u8-strncmp.c: New file. * tests/unistr/test-strncmp.h: New file. Tests for module 'unistr/u32-strcoll'. * modules/unistr/u32-strcoll-tests: New file. * tests/unistr/test-u32-strcoll.c: New file. Tests for module 'unistr/u16-strcoll'. * modules/unistr/u16-strcoll-tests: New file. * tests/unistr/test-u16-strcoll.c: New file. Tests for module 'unistr/u8-strcoll'. * modules/unistr/u8-strcoll-tests: New file. * tests/unistr/test-u8-strcoll.c: New file. Tests for module 'unistr/u32-strcmp'. * modules/unistr/u32-strcmp-tests: New file. * tests/unistr/test-u32-strcmp.c: New file. * tests/unistr/test-u32-strcmp.h: New file. Tests for module 'unistr/u16-strcmp'. * modules/unistr/u16-strcmp-tests: New file. * tests/unistr/test-u16-strcmp.c: New file. * tests/unistr/test-u16-strcmp.h: New file. Tests for module 'unistr/u8-strcmp'. * modules/unistr/u8-strcmp-tests: New file. * tests/unistr/test-u8-strcmp.c: New file. * tests/unistr/test-u8-strcmp.h: New file. * tests/unistr/test-strcmp.h: New file. Tests for module 'unistr/u32-strncat'. * modules/unistr/u32-strncat-tests: New file. * tests/unistr/test-u32-strncat.c: New file. Tests for module 'unistr/u16-strncat'. * modules/unistr/u16-strncat-tests: New file. * tests/unistr/test-u16-strncat.c: New file. Tests for module 'unistr/u8-strncat'. * modules/unistr/u8-strncat-tests: New file. * tests/unistr/test-u8-strncat.c: New file. * tests/unistr/test-strncat.h: New file. Tests for module 'unistr/u32-strcat'. * modules/unistr/u32-strcat-tests: New file. * tests/unistr/test-u32-strcat.c: New file. Tests for module 'unistr/u16-strcat'. * modules/unistr/u16-strcat-tests: New file. * tests/unistr/test-u16-strcat.c: New file. Tests for module 'unistr/u8-strcat'. * modules/unistr/u8-strcat-tests: New file. * tests/unistr/test-u8-strcat.c: New file. * tests/unistr/test-strcat.h: New file. Tests for module 'unistr/u32-stpncpy'. * modules/unistr/u32-stpncpy-tests: New file. * tests/unistr/test-u32-stpncpy.c: New file. Tests for module 'unistr/u16-stpncpy'. * modules/unistr/u16-stpncpy-tests: New file. * tests/unistr/test-u16-stpncpy.c: New file. Tests for module 'unistr/u8-stpncpy'. * modules/unistr/u8-stpncpy-tests: New file. * tests/unistr/test-u8-stpncpy.c: New file. * tests/unistr/test-stpncpy.h: New file. Tests for module 'unistr/u32-strncpy'. * modules/unistr/u32-strncpy-tests: New file. * tests/unistr/test-u32-strncpy.c: New file. Tests for module 'unistr/u16-strncpy'. * modules/unistr/u16-strncpy-tests: New file. * tests/unistr/test-u16-strncpy.c: New file. Tests for module 'unistr/u8-strncpy'. * modules/unistr/u8-strncpy-tests: New file. * tests/unistr/test-u8-strncpy.c: New file. * tests/unistr/test-strncpy.h: New file. Tests for module 'unistr/u32-stpcpy'. * modules/unistr/u32-stpcpy-tests: New file. * tests/unistr/test-u32-stpcpy.c: New file. Tests for module 'unistr/u16-stpcpy'. * modules/unistr/u16-stpcpy-tests: New file. * tests/unistr/test-u16-stpcpy.c: New file. Tests for module 'unistr/u8-stpcpy'. * modules/unistr/u8-stpcpy-tests: New file. * tests/unistr/test-u8-stpcpy.c: New file. * tests/unistr/test-stpcpy.h: New file. Tests for module 'unistr/u32-strcpy'. * modules/unistr/u32-strcpy-tests: New file. * tests/unistr/test-u32-strcpy.c: New file. Tests for module 'unistr/u16-strcpy'. * modules/unistr/u16-strcpy-tests: New file. * tests/unistr/test-u16-strcpy.c: New file. Tests for module 'unistr/u8-strcpy'. * modules/unistr/u8-strcpy-tests: New file. * tests/unistr/test-u8-strcpy.c: New file. * tests/unistr/test-strcpy.h: New file. Tests for module 'unistr/u32-strnlen'. * modules/unistr/u32-strnlen-tests: New file. * tests/unistr/test-u32-strnlen.c: New file. Tests for module 'unistr/u16-strnlen'. * modules/unistr/u16-strnlen-tests: New file. * tests/unistr/test-u16-strnlen.c: New file. Tests for module 'unistr/u8-strnlen'. * modules/unistr/u8-strnlen-tests: New file. * tests/unistr/test-u8-strnlen.c: New file. * tests/unistr/test-strnlen.h: New file. Tests for module 'unistr/u32-strlen'. * modules/unistr/u32-strlen-tests: New file. * tests/unistr/test-u32-strlen.c: New file. Tests for module 'unistr/u16-strlen'. * modules/unistr/u16-strlen-tests: New file. * tests/unistr/test-u16-strlen.c: New file. Tests for module 'unistr/u8-strlen'. * modules/unistr/u8-strlen-tests: New file. * tests/unistr/test-u8-strlen.c: New file. Tests for module 'unistr/u32-prev'. * modules/unistr/u32-prev-tests: New file. * tests/unistr/test-u32-prev.c: New file. Tests for module 'unistr/u16-prev'. * modules/unistr/u16-prev-tests: New file. * tests/unistr/test-u16-prev.c: New file. Tests for module 'unistr/u8-prev'. * modules/unistr/u8-prev-tests: New file. * tests/unistr/test-u8-prev.c: New file. Tests for module 'unistr/u32-next'. * modules/unistr/u32-next-tests: New file. * tests/unistr/test-u32-next.c: New file. Tests for module 'unistr/u16-next'. * modules/unistr/u16-next-tests: New file. * tests/unistr/test-u16-next.c: New file. Tests for module 'unistr/u8-next'. * modules/unistr/u8-next-tests: New file. * tests/unistr/test-u8-next.c: New file. Tests for module 'unistr/u32-strmbtouc'. * modules/unistr/u32-strmbtouc-tests: New file. * tests/unistr/test-u32-strmbtouc.c: New file. Tests for module 'unistr/u16-strmbtouc'. * modules/unistr/u16-strmbtouc-tests: New file. * tests/unistr/test-u16-strmbtouc.c: New file. Tests for module 'unistr/u8-strmbtouc'. * modules/unistr/u8-strmbtouc-tests: New file. * tests/unistr/test-u8-strmbtouc.c: New file. Tests for module 'unistr/u32-strmblen'. * modules/unistr/u32-strmblen-tests: New file. * tests/unistr/test-u32-strmblen.c: New file. Tests for module 'unistr/u16-strmblen'. * modules/unistr/u16-strmblen-tests: New file. * tests/unistr/test-u16-strmblen.c: New file. Tests for module 'unistr/u8-strmblen'. * modules/unistr/u8-strmblen-tests: New file. * tests/unistr/test-u8-strmblen.c: New file. Tests for module 'unistr/u32-cpy-alloc'. * modules/unistr/u32-cpy-alloc-tests: New file. * tests/unistr/test-u32-cpy-alloc.c: New file. Tests for module 'unistr/u16-cpy-alloc'. * modules/unistr/u16-cpy-alloc-tests: New file. * tests/unistr/test-u16-cpy-alloc.c: New file. Tests for module 'unistr/u8-cpy-alloc'. * modules/unistr/u8-cpy-alloc-tests: New file. * tests/unistr/test-u8-cpy-alloc.c: New file. * tests/unistr/test-cpy-alloc.h: New file. Tests for module 'unistr/u32-mbsnlen'. * modules/unistr/u32-mbsnlen-tests: New file. * tests/unistr/test-u32-mbsnlen.c: New file. Tests for module 'unistr/u16-mbsnlen'. * modules/unistr/u16-mbsnlen-tests: New file. * tests/unistr/test-u16-mbsnlen.c: New file. Tests for module 'unistr/u8-mbsnlen'. * modules/unistr/u8-mbsnlen-tests: New file. * tests/unistr/test-u8-mbsnlen.c: New file. Tests for module 'unistr/u32-chr'. * modules/unistr/u32-chr-tests: New file. * tests/unistr/test-u32-chr.c: New file. Tests for module 'unistr/u16-chr'. * modules/unistr/u16-chr-tests: New file. * tests/unistr/test-u16-chr.c: New file. Tests for module 'unistr/u8-chr'. * modules/unistr/u8-chr-tests: New file. * tests/unistr/test-u8-chr.c: New file. * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c. Tests for module 'unistr/u32-cmp2'. * modules/unistr/u32-cmp2-tests: New file. * tests/unistr/test-u32-cmp2.c: New file. Tests for module 'unistr/u16-cmp2'. * modules/unistr/u16-cmp2-tests: New file. * tests/unistr/test-u16-cmp2.c: New file. Tests for module 'unistr/u8-cmp2'. * modules/unistr/u8-cmp2-tests: New file. * tests/unistr/test-u8-cmp2.c: New file. * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h. Tests for module 'unistr/u32-cmp'. * modules/unistr/u32-cmp-tests: New file. * tests/unistr/test-u32-cmp.c: New file. Tests for module 'unistr/u16-cmp'. * modules/unistr/u16-cmp-tests: New file. * tests/unistr/test-u16-cmp.c: New file. Tests for module 'unistr/u8-cmp'. * modules/unistr/u8-cmp-tests: New file. * tests/unistr/test-u8-cmp.c: New file. * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c. Tests for module 'unistr/u32-set'. * modules/unistr/u32-set-tests: New file. * tests/unistr/test-u32-set.c: New file. Tests for module 'unistr/u16-set'. * modules/unistr/u16-set-tests: New file. * tests/unistr/test-u16-set.c: New file. Tests for module 'unistr/u8-set'. * modules/unistr/u8-set-tests: New file. * tests/unistr/test-u8-set.c: New file. * tests/unistr/test-set.h: New file. Tests for module 'unistr/u32-move'. * modules/unistr/u32-move-tests: New file. * tests/unistr/test-u32-move.c: New file. Tests for module 'unistr/u16-move'. * modules/unistr/u16-move-tests: New file. * tests/unistr/test-u16-move.c: New file. Tests for module 'unistr/u8-move'. * modules/unistr/u8-move-tests: New file. * tests/unistr/test-u8-move.c: New file. * tests/unistr/test-move.h: New file. Tests for module 'unistr/u32-cpy'. * modules/unistr/u32-cpy-tests: New file. * tests/unistr/test-u32-cpy.c: New file. Tests for module 'unistr/u16-cpy'. * modules/unistr/u16-cpy-tests: New file. * tests/unistr/test-u16-cpy.c: New file. Tests for module 'unistr/u8-cpy'. * modules/unistr/u8-cpy-tests: New file. * tests/unistr/test-u8-cpy.c: New file. * tests/unistr/test-cpy.h: New file. 2010-01-09 Bruno Haible Tests for module 'unistr/u32-uctomb'. * modules/unistr/u32-uctomb-tests: New file. * tests/unistr/test-u32-uctomb.c: New file. Tests for module 'unistr/u16-uctomb'. * modules/unistr/u16-uctomb-tests: New file. * tests/unistr/test-u16-uctomb.c: New file. Tests for module 'unistr/u8-uctomb'. * modules/unistr/u8-uctomb-tests: New file. * tests/unistr/test-u8-uctomb.c: New file. Tests for module 'unistr/u32-mbtoucr'. * modules/unistr/u32-mbtoucr-tests: New file. * tests/unistr/test-u32-mbtoucr.c: New file. Tests for module 'unistr/u16-mbtoucr'. * modules/unistr/u16-mbtoucr-tests: New file. * tests/unistr/test-u16-mbtoucr.c: New file. Tests for module 'unistr/u8-mbtoucr'. * modules/unistr/u8-mbtoucr-tests: New file. * tests/unistr/test-u8-mbtoucr.c: New file. Tests for module 'unistr/u32-mbtouc'. * modules/unistr/u32-mbtouc-tests: New file. * tests/unistr/test-u32-mbtouc.c: New file. Tests for module 'unistr/u16-mbtouc'. * modules/unistr/u16-mbtouc-tests: New file. * tests/unistr/test-u16-mbtouc.c: New file. Tests for module 'unistr/u8-mbtouc'. * modules/unistr/u8-mbtouc-tests: New file. * tests/unistr/test-u8-mbtouc.c: New file. Tests for module 'unistr/u32-mbtouc-unsafe'. * modules/unistr/u32-mbtouc-unsafe-tests: New file. * tests/unistr/test-u32-mbtouc-unsafe.c: New file. * tests/unistr/test-u32-mbtouc.h: New file. Tests for module 'unistr/u16-mbtouc-unsafe'. * modules/unistr/u16-mbtouc-unsafe-tests: New file. * tests/unistr/test-u16-mbtouc-unsafe.c: New file. * tests/unistr/test-u16-mbtouc.h: New file. Tests for module 'unistr/u8-mbtouc-unsafe'. * modules/unistr/u8-mbtouc-unsafe-tests: New file. * tests/unistr/test-u8-mbtouc-unsafe.c: New file. * tests/unistr/test-u8-mbtouc.h: New file. Tests for module 'unistr/u32-mblen'. * modules/unistr/u32-mblen-tests: New file. * tests/unistr/test-u32-mblen.c: New file. Tests for module 'unistr/u16-mblen'. * modules/unistr/u16-mblen-tests: New file. * tests/unistr/test-u16-mblen.c: New file. Tests for module 'unistr/u8-mblen'. * modules/unistr/u8-mblen-tests: New file. * tests/unistr/test-u8-mblen.c: New file. Tests for module 'unistr/u32-to-u16'. * modules/unistr/u32-to-u16-tests: New file. * tests/unistr/test-u32-to-u16.c: New file. Tests for module 'unistr/u32-to-u8'. * modules/unistr/u32-to-u8-tests: New file. * tests/unistr/test-u32-to-u8.c: New file. Tests for module 'unistr/u16-to-u32'. * modules/unistr/u16-to-u32-tests: New file. * tests/unistr/test-u16-to-u32.c: New file. Tests for module 'unistr/u16-to-u8'. * modules/unistr/u16-to-u8-tests: New file. * tests/unistr/test-u16-to-u8.c: New file. Tests for module 'unistr/u8-to-u32'. * modules/unistr/u8-to-u32-tests: New file. * tests/unistr/test-u8-to-u32.c: New file. Tests for module 'unistr/u8-to-u16'. * modules/unistr/u8-to-u16-tests: New file. * tests/unistr/test-u8-to-u16.c: New file. Tests for module 'unistr/u32-check'. * modules/unistr/u32-check-tests: New file. * tests/unistr/test-u32-check.c: New file. Tests for module 'unistr/u16-check'. * modules/unistr/u16-check-tests: New file. * tests/unistr/test-u16-check.c: New file. Tests for module 'unistr/u8-check'. * modules/unistr/u8-check-tests: New file. * tests/unistr/test-u8-check.c: New file. * tests/unictype/test-categ_byname.c: Include . (category_equals): New function. (main): Add more tests. * modules/unictype/category-byname-tests (Depends-on): Add stdbool. * tests/unictype/test-bidi_byname.c (main): Add more tests. 2010-01-10 Bruno Haible unistr/u*-strcoll: Try harder to distinguish different strings. * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same, compare s1 and s2 to see if they are different. 2010-01-10 Bruno Haible unistr/u*-stpncpy: Fix the return value. * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the description of the return value consistent with stpncpy in glibc. * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last written non-NUL unit. 2010-01-10 Bruno Haible unistr/u*-next: Add missing dependencies. * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc. * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc. * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc. 2010-01-10 Bruno Haible unistr/u8-mbsnlen: Fix return value for incomplete character. * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of u8_mblen. * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr. Remove unistr/u8-mblen. * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of u16_mblen. * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr. Remove unistr/u16-mblen. 2010-01-10 Bruno Haible wchar: Fix compilation error when is used from coreutils. * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t. Reported by Brian Gough and Chris Clayton via Mike Frysinger and Jim Meyering . 2010-01-09 Bruno Haible unistr/u16-to-u32: Reject invalid input. * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of u16_mbtouc. * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr. Remove unistr/u16-mbtouc. unistr/u16-to-u8: Reject invalid input. * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of u16_mbtouc. * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr. Remove unistr/u16-mbtouc. unistr/u8-to-u32: Reject invalid input. * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of u8_mbtouc. * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr. Remove unistr/u8-mbtouc. unistr/u8-to-u16: Reject invalid input. * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of u8_mbtouc. * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr. Remove unistr/u8-mbtouc. 2010-01-09 Bruno Haible Tests for module 'getlogin'. * modules/getlogin-tests: New file. * tests/test-getlogin.c: New file. New module 'getlogin'. * lib/unistd.in.h (getlogin): New declaration. * lib/getlogin.c: New file. * m4/getlogin.m4: New file. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN, HAVE_GETLOGIN. * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN, HAVE_GETLOGIN. * modules/getlogin: New file. * doc/posix-functions/getlogin.texi: Mention the new module. Reported by John W. Eaton . 2010-01-09 Bruno Haible getlogin_r: Support for native Windows. * lib/getlogin_r.c: Include (getlogin_r): Implement for native Windows. * tests/test-getlogin_r.c (main): Also test with a huge buffer. Reported by Tatsuro MATSUOKA via John W. Eaton . 2010-01-09 Bruno Haible getlogin_r: Small fixes. * lib/getlogin_r.c (getlogin_r): Don't set errno if the function succeeds. * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS before testing whether getlogin_r is declared. No need to set HAVE_DECL_GETLOGIN_R to 1. (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration. 2010-01-09 Bruno Haible * lib/unistd.in.h (getlogin_r): Add comment. 2010-01-09 Bruno Haible Tests for module 'getlogin_r'. * modules/getlogin_r-tests: New file. * tests/test-getlogin_r.c: New file. 2010-01-09 Jim Meyering maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD. 2010-01-08 Simon Josefsson * lib/dup2.c (rpl_dup2): Improve comment. 2010-01-08 Eric Blake maint.mk: allow packages to add makefile @@ exceptions * top/maint.mk (_makefile_at_at_check_exceptions): New hook. (sc_makefile_check): Rename... (sc_makefile_at_at_check): ...to this, and use hook. dup2: work around mingw bug * lib/dup2.c (rpl_dup2): Sanitize return value on mingw. Reported by Simon Josefsson. 2010-01-07 John W. Eaton (tiny change) glob: Fix C++ compilation. * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for C++. 2010-01-07 Bruno Haible Fix indentation of wctype.in.h, broken since 2007-01-06. * lib/wctype.in.h: Fix indentation of preprocessor directives. 2010-01-07 Bruno Haible mbslen: Avoid collision with system function. * lib/string.in.h [MirBSD]: Include . (mbslen): Undefine first. Alias mbslen to rpl_mbslen. * m4/mbslen.m4: New file. * modules/mbslen (Files): Add it. (configure.ac): Invoke gl_MBSLEN. * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN. * modules/string (Makefile.am): Substitute HAVE_MBSLEN. Reported by Nelson H. F. Beebe via Ian Beckwith . 2010-01-07 Bruno Haible dirent: Document the last fix. * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'. 2010-01-07 Bruno Haible stdio: Ensure defines off_t, ssize_t, va_list. * lib/stdio.in.h: Include unconditionally. * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t, va_list are defined. * doc/posix-headers/stdio.texi: Document the bug of missing types. Reported by Eric Blake. 2010-01-07 Bruno Haible xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13. * modules/xlist (Depends-on): Add 'list', * modules/xoset (Depends-on): Add 'oset'. Reported by Ralf Wildenhues . 2010-01-07 Bruno Haible * doc/posix-functions/strcasecmp.texi: Clarify the platforms. * doc/posix-functions/strncasecmp.texi: Likewise. 2010-01-07 Bruno Haible * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic. 2010-01-07 John W. Eaton wctype: allow C++ use * lib/wctype.in.h: Add extern "C" block for C++. 2010-01-06 Eric Blake maint.mk: detect incorrect GFDL usage * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule. 2010-01-06 Jim Meyering and Eric Blake maint.mk: ignore multi-line copyright in NEWS * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright. 2010-01-06 Eric Blake select: add missing dependency * modules/select-tests (Depends-on): Move sockets dependency... * modules/select (Depends-on): ...here. Reported by Ian Beckwith. doc: regenerate INSTALL * doc/INSTALL: Reflect recent autoconf update. * doc/INSTALL.ISO: Likewise. * doc/INSTALL.UTF-8: Likewise. pread: fix compilation on glibc * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces. Reported by Ralf Wildenhues. dirent: fix test failure * lib/dirent.in.h (includes): Guarantee ino_t. Reported by Ralf Wildenhues. 2010-01-06 Petr Salinger (tiny change) linkat, renameat: avoid bad free * lib/at-func2.c (at_func2): Fix typo. Reported via Ian Beckwith, from http://bugs.debian.org/561117. 2010-01-06 Ralf Wildenhues cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2, to avoid failure of symlink test later. 2010-01-06 Eric Blake stdio, unistd: guarantee ssize_t * lib/unistd.in.h (includes): Ensure that types required by POSIX 2008 are exposed when needed. * lib/stdio.in.h (includes): Likewise. Reported by Ralf Wildenhues. 2010-01-06 Paolo Bonzini nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if. * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo. 2010-01-06 Jim Meyering readtokens: this module *does* require xalloc.h It uses only functions that were omitted by the old syntax-check rule. * lib/readtokens.c: Include "xalloc.h" once again. * modules/readtokens (Depends-on): Add xalloc. This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c. 2010-01-05 Eric Blake maint: support 'make announcement' from a VPATH build * top/maint.mk (announcement): Look for correct NEWS file. 2010-01-05 Aurelien Jarno (tiny change) utimens (fdutimens): ignore a negative FD, per contract * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only when we have a valid file descriptor. Otherwise, using a brand new glibc (with just-patched futimens that now fails with EBADF) would cause this function to fail with ENOSYS. Reported by Guillaume Ayoub in http://bugs.debian.org/563726. See also http://bugzilla.redhat.com/552320. 2010-01-05 Eric Blake strcase: document what it provides * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the gnulib module. * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise. Reported by Dilyan Palauzov . 2010-01-05 Jim Meyering maint: remove useless inclusions of "xalloc.h" * lib/getloadavg.c: Remove useless inclusion of "xalloc.h". * lib/readtokens.c: Likewise. * lib/same.c: Likewise. * modules/getloadavg (Depends-on): Remove xalloc. * modules/readtokens: Likewise. * modules/same: Likewise. maint.mk: include 4 more function names in alloca.h-checking regexp * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete regexp. Before, we would give a false-positive (saying alloca.h is included unnecessarily) when the only uses involved omitted symbols. xalloc.h: use consistent formatting * lib/xalloc.h: Move declarations to start in the first column. 2010-01-05 Eric Blake mkdir: avoid xalloc * lib/mkdir.c (includes): Drop unused header. Reported by John W. Eaton. 2010-01-04 Jim Meyering nl_langinfo: avoid configure-time syntax error * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to the empty string. Don't let that provoke a shell syntax error. regcomp, regexec, fnmatch: avoid array bounds read error * lib/regcomp.c (build_equiv_class): From glibc: Use only the low 24 bits of a findidx return value as an index into the weights array. Patch by Ulrich Drepper: http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30 * lib/regexec.c (check_node_accept_bytes): Likewise. * lib/fnmatch_loop.c (FCT): Likewise. regcomp: skip collseq lookup when there are no rules * lib/regcomp.c (lookup_collation_sequence_value): From glibc: http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58 regcomp: recognize ill-formed { } expressions * lib/regcomp.c (parse_dup_op): From glibc: http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb regcomp: fix typo in comment * lib/regcomp.c (duplicate_node_closure): Sync from glibc. s/satisfy/satisfies/. regcomp: sync from glibc: remove dead store * lib/regcomp.c (duplicate_node_closure): Remove useless search_duplicated_node call and dead store. regcomp: sync from glibc; always use nl_langinfo * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET), now that gnulib provides it. Recognize UTF8 as well as UTF-8. * modules/regex (Depends-on): Add nl_langinfo. 2010-01-04 Eric Blake fdopendir: fix configure test * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file. 2010-01-01 Bruno Haible wchar: Remove unused configure check. * m4/wchar.m4 (gl_WCHAR_H): Don't test whether is standalone. 2010-01-01 Eric Blake headers: make check of system header explicit * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE ourselves. * m4/search_h.m4 (gl_SEARCH_H): Likewise. * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise. * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise. * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI internals. * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is missing. Suggested by Bruno Haible. 2010-01-01 Jim Meyering ChangeLog: tweak to eliminate unnecessary copyright line * ChangeLog: Remove a copyright line that was mistakenly updated by today's update-copyright run. Reported by Eric Blake. test-update-copyright: don't let envvar setting cause test failure * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH. 2010-01-01 Bruno Haible localename: Avoid gcc warning. * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this function if it is not used. 2010-01-01 Jim Meyering update nearly all FSF copyright year lists to include 2010 Use the same procedure as for 2009, outlined in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081 version-etc: set COPYRIGHT_YEAR to 2010 * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum. 2009-12-31 Eric Blake doc: correct availability of cygwin 1.5.x getopt * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt variables. * doc/posix-functions/opterr.texi (opterr): Likewise. * doc/posix-functions/optind.texi (optind): Likewise. * doc/posix-functions/optopt.texi (optopt): Likewise. * doc/posix-functions/tzname.texi (tzname): Likewise. openat: update maintainer * modules/openat (Maintainer): Add myself. utimens: avoid shadowing warning * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat buffers into one, to avoid shadowing, as well as avoiding a redundant stat. Reported by Jim Meyering. test-dup2: avoid compiler warning * tests/test-dup2.c (is_inheritable): Only define if used. 2010-01-01 Bruno Haible vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb. * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is defined, use wctomb instead of wcrtomb. 2010-01-01 Bruno Haible iconv: Reject native Solaris iconv. * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug. * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug. 2009-12-31 Bruno Haible * tests/test-signal.c (main): Remove test of 'SIG'. 2009-12-31 Bruno Haible spawn: Fix incomplete fix. * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags, posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link warnings for GNULIB_POSIXCHECK again. Reported by Eric Blake. 2009-12-31 Bruno Haible Avoid namespace pollution on glibc systems. * lib/spawn.in.h: Don't include , on glibc systems. * lib/sys_times.in.h: Don't include on glibc systems. * lib/wchar.in.h: Don't include , , on glibc systems. 2009-12-31 Bruno Haible * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation. (gl_REPLACE_WCHAR_H): Turn into a no-op. * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise. * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise. * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise. * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise. * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise. 2009-12-31 Bruno Haible * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not afterwards. 2009-12-31 Bruno Haible * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set SYS_UTSNAME_H. 2009-12-31 Bruno Haible spawn: Fix misapplied patch. * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags, posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link warnings for GNULIB_POSIXCHECK. 2009-12-31 Bruno Haible times: Update after sys_times changed. * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES. * modules/times (Files): Add it. (configure.ac): Invoke gl_FUNC_TIMES. 2009-12-31 Bruno Haible Use AC_C_INLINE where necessary. * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE. * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise. * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise. * m4/mbchar.m4 (gl_MBCHAR): Likewise. * m4/mbfile.m4 (gl_MBFILE): Likewise. * m4/mbiter.m4 (gl_MBITER): Likewise. * m4/regex.m4 (gl_PREREQ_REGEX): Likewise. * m4/stat.m4 (gl_FUNC_STAT): Likewise. * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise. * modules/u64 (configure.ac): Likewise. 2009-12-31 Bruno Haible Use AC_C_INLINE instead of module 'inline' where possible. * modules/inline (Description): Clarify purpose. * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE. * modules/count-one-bits (Depends-on): Remove inline. * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE. * modules/openat (Depends-on): Remove inline. * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE instead of depending on module 'inline'. * modules/filevercmp (Depends-on, configure.ac): Likewise. * modules/unicase/cased (Depends-on, configure.ac): Likewise. * modules/unicase/ignorable (Depends-on, configure.ac): Likewise. * modules/unictype/category-of (Depends-on, configure.ac): Likewise. * modules/unictype/category-test (Depends-on, configure.ac): Likewise. * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise. * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise. * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise. * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise. * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise. * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise. * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise. * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise. * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise. * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise. * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise. * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise. * modules/unictype/property-alphabetic (Depends-on, configure.ac): Likewise. * modules/unictype/property-ascii-hex-digit (Depends-on, configure.ac): Likewise. * modules/unictype/property-bidi-arabic-digit (Depends-on, configure.ac): Likewise. * modules/unictype/property-bidi-arabic-right-to-left (Depends-on, configure.ac): Likewise. * modules/unictype/property-bidi-block-separator (Depends-on, configure.ac): Likewise. * modules/unictype/property-bidi-boundary-neutral (Depends-on, configure.ac): Likewise. * modules/unictype/property-bidi-common-separator (Depends-on, configure.ac): Likewise. * modules/unictype/property-bidi-control (Depends-on, configure.ac): Likewise. * modules/unictype/property-bidi-embedding-or-override (Depends-on, configure.ac): Likewise. * modules/unictype/property-bidi-eur-num-separator (Depends-on, configure.ac): Likewise. * modules/unictype/property-bidi-eur-num-terminator (Depends-on, configure.ac): Likewise. * modules/unictype/property-bidi-european-digit (Depends-on, configure.ac): Likewise. * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on, configure.ac): Likewise. * modules/unictype/property-bidi-left-to-right (Depends-on, configure.ac): Likewise. * modules/unictype/property-bidi-non-spacing-mark (Depends-on, configure.ac): Likewise. * modules/unictype/property-bidi-other-neutral (Depends-on, configure.ac): Likewise. * modules/unictype/property-bidi-pdf (Depends-on, configure.ac): Likewise. * modules/unictype/property-bidi-segment-separator (Depends-on, configure.ac): Likewise. * modules/unictype/property-bidi-whitespace (Depends-on, configure.ac): Likewise. * modules/unictype/property-combining (Depends-on, configure.ac): Likewise. * modules/unictype/property-composite (Depends-on, configure.ac): Likewise. * modules/unictype/property-currency-symbol (Depends-on, configure.ac): Likewise. * modules/unictype/property-dash (Depends-on, configure.ac): Likewise. * modules/unictype/property-decimal-digit (Depends-on, configure.ac): Likewise. * modules/unictype/property-default-ignorable-code-point (Depends-on, configure.ac): Likewise. * modules/unictype/property-deprecated (Depends-on, configure.ac): Likewise. * modules/unictype/property-diacritic (Depends-on, configure.ac): Likewise. * modules/unictype/property-extender (Depends-on, configure.ac): Likewise. * modules/unictype/property-format-control (Depends-on, configure.ac): Likewise. * modules/unictype/property-grapheme-base (Depends-on, configure.ac): Likewise. * modules/unictype/property-grapheme-extend (Depends-on, configure.ac): Likewise. * modules/unictype/property-grapheme-link (Depends-on, configure.ac): Likewise. * modules/unictype/property-hex-digit (Depends-on, configure.ac): Likewise. * modules/unictype/property-hyphen (Depends-on, configure.ac): Likewise. * modules/unictype/property-id-continue (Depends-on, configure.ac): Likewise. * modules/unictype/property-id-start (Depends-on, configure.ac): Likewise. * modules/unictype/property-ideographic (Depends-on, configure.ac): Likewise. * modules/unictype/property-ids-binary-operator (Depends-on, configure.ac): Likewise. * modules/unictype/property-ids-trinary-operator (Depends-on, configure.ac): Likewise. * modules/unictype/property-ignorable-control (Depends-on, configure.ac): Likewise. * modules/unictype/property-iso-control (Depends-on, configure.ac): Likewise. * modules/unictype/property-join-control (Depends-on, configure.ac): Likewise. * modules/unictype/property-left-of-pair (Depends-on, configure.ac): Likewise. * modules/unictype/property-line-separator (Depends-on, configure.ac): Likewise. * modules/unictype/property-logical-order-exception (Depends-on, configure.ac): Likewise. * modules/unictype/property-lowercase (Depends-on, configure.ac): Likewise. * modules/unictype/property-math (Depends-on, configure.ac): Likewise. * modules/unictype/property-non-break (Depends-on, configure.ac): Likewise. * modules/unictype/property-not-a-character (Depends-on, configure.ac): Likewise. * modules/unictype/property-numeric (Depends-on, configure.ac): Likewise. * modules/unictype/property-other-alphabetic (Depends-on, configure.ac): Likewise. * modules/unictype/property-other-default-ignorable-code-point (Depends-on, configure.ac): Likewise. * modules/unictype/property-other-grapheme-extend (Depends-on, configure.ac): Likewise. * modules/unictype/property-other-id-continue (Depends-on, configure.ac): Likewise. * modules/unictype/property-other-id-start (Depends-on, configure.ac): Likewise. * modules/unictype/property-other-lowercase (Depends-on, configure.ac): Likewise. * modules/unictype/property-other-math (Depends-on, configure.ac): Likewise. * modules/unictype/property-other-uppercase (Depends-on, configure.ac): Likewise. * modules/unictype/property-paired-punctuation (Depends-on, configure.ac): Likewise. * modules/unictype/property-paragraph-separator (Depends-on, configure.ac): Likewise. * modules/unictype/property-pattern-syntax (Depends-on, configure.ac): Likewise. * modules/unictype/property-pattern-white-space (Depends-on, configure.ac): Likewise. * modules/unictype/property-private-use (Depends-on, configure.ac): Likewise. * modules/unictype/property-punctuation (Depends-on, configure.ac): Likewise. * modules/unictype/property-quotation-mark (Depends-on, configure.ac): Likewise. * modules/unictype/property-radical (Depends-on, configure.ac): Likewise. * modules/unictype/property-sentence-terminal (Depends-on, configure.ac): Likewise. * modules/unictype/property-soft-dotted (Depends-on, configure.ac): Likewise. * modules/unictype/property-space (Depends-on, configure.ac): Likewise. * modules/unictype/property-terminal-punctuation (Depends-on, configure.ac): Likewise. * modules/unictype/property-titlecase (Depends-on, configure.ac): Likewise. * modules/unictype/property-unassigned-code-value (Depends-on, configure.ac): Likewise. * modules/unictype/property-unified-ideograph (Depends-on, configure.ac): Likewise. * modules/unictype/property-uppercase (Depends-on, configure.ac): Likewise. * modules/unictype/property-variation-selector (Depends-on, configure.ac): Likewise. * modules/unictype/property-white-space (Depends-on, configure.ac): Likewise. * modules/unictype/property-xid-continue (Depends-on, configure.ac): Likewise. * modules/unictype/property-xid-start (Depends-on, configure.ac): Likewise. * modules/unictype/property-zero-width (Depends-on, configure.ac): Likewise. * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise. * modules/unictype/syntax-java-ident (Depends-on, configure.ac): Likewise. 2009-12-31 Bruno Haible Remove unnecessary AC_C_INLINE invocation. * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed since 2009-08-21. 2009-12-31 Jim Meyering maint.mk: don't require explicit gpg_key_ID in cfg.mk * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag. With this change, we can all remove the gpg_key_ID = ... definition from our respective cfg.mk files. maint.mk: create announcement template in ~/, not in /tmp * top/maint.mk (emit_upload_commands): Adjust. (release-prep): Emit into ~/announce-..., not /tmp/announce-... Remove temporary file, .ci-msg. 2009-12-31 Eric Blake link-warning: always build headers with link warnings * modules/arpa_inet (Makefile.am): Always build replacement header. * modules/ctype (Makefile.am): Likewise. * modules/dirent (Makefile.am): Likewise. * modules/inttypes (Makefile.am): Likewise. * modules/langinfo (Makefile.am): Likewise. * modules/locale (Makefile.am): Likewise. * modules/spawn (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_times (Makefile.am): Likewise. * modules/sys_utsname (Makefile.am): Likewise. * modules/sys_wait (Makefile.am): Likewise. * modules/wchar (Makefile.am): Likewise. * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET) (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable. * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise. * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise. * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS): Likewise. * m4/inttypes.m4 (gl_INTTYPES_H): Likewise. * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise. * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS): Likewise. * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS): Likewise. * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise. * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H) (gl_SYS_IOCTL_H_DEFAULTS): Likewise. * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise. * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise. * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H) (gl_SYS_UTSNAME_H_DEFAULTS): Likewise. * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H) (gl_WCHAR_H_DEFAULTS): Likewise. 2009-12-31 Eric Blake signal, spawn: use link warnings * lib/signal.in.h (sigset_t): Make unconditional. (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset) (sigpending, sigprocmask, sigaction): Add link warnings. * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init) (posix_spawnattr_destroy, posix_spawnattr_getsigdefault) (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask) (posix_spawnattr_setsigmask, posix_spawnattr_getflags) (posix_spawnattr_setflags, posix_spawnattr_getpgroup) (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy) (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam) (posix_spawnattr_setschedparam, posix_spawn_file_actions_init) (posix_spawn_file_actions_destroy) (posix_spawn_file_actions_addopen) (posix_spawn_file_actions_addclose) (posix_spawwn_file_actions_adddup2): Likewise. * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t. * tests/test-signal.c (main): Enhance test. spawn: improve wrapper support * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence. (gl_SPAWN_H_DEFAULTS): New defaults. * modules/spawn (Makefile.am): Substitute them. * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t): Only declare if missing or broken. sys_times, sys_utsname: use include_next * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing header. (gl_SYS_TIMES_H_DEFAULTS): Add another variable. * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H) (gl_SYS_UTSNAME_H_DEFAULTS): Likewise. * modules/sys_times (Depends-on): Add include_next. (Makefile.am): Substitute additional values. * modules/sys_utsname (Depends-on, Makefile.am): Likewise. * lib/sys_times.in.h (includes): Include native header, if available. * lib/sys_utsname.in.h (includes): Likewise. * tests/test-sys_times.c (main): Enhance test. fdutimensat: revert prior patch * modules/fdutimensat (Depends-on): Re-add inline; it is needed by utimens.h. Reported by Bruno Haible. 2009-12-30 Eric Blake sys_wait: drop link-warning dependency * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded link-warning efforts. * lib/sys_wait.in.h: Likewise. fdutimensat: remove bogus dependency * modules/fdutimensat (Depends-on): Drop inline. unistd: fix typo * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo. 2009-12-30 Bruno Haible Fix compilation error with Solaris cc. * lib/unicase/u8-is-invariant.c: Include . * lib/unicase/u16-is-invariant.c: Likewise. * lib/unicase/u32-is-invariant.c: Likewise. Reported by Nelson H. F. Beebe . 2009-12-30 Bruno Haible Fix test crash. * tests/test-localename.c (test_locale_name_thread): Skip unavailable locales. Reported by Simon Josefsson . 2009-12-30 Bruno Haible Fix compilation error on most platforms. * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE. Reported by Simon Josefsson and Nelson H. F. Beebe . 2009-12-30 Eric Blake futimens, utimensat: work around ntfs-3g bug * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether a ctime bug is present, and expand workaround to cover ntfs-3g. * lib/utimens.c (fdutimens, lutimens): Likewise. (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism. (validate_timespec): Adjust return value. * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment. * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise. Reported by ctrn3e8 . 2009-12-29 Eric Blake link-warning: make usage consistent * modules/ctype (Depends-on): Add link-warning. (Makefile.am): Update rules accordingly. * modules/langinfo (Depends-on, Makefile.am): Likewise. * modules/locale (Depends-on, Makefile.am): Likewise. * modules/sys_file (Makefile.am): Likewise. * modules/getopt-posix (Makefile.am): Delete unused link warning efforts. * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use. * lib/langinfo.in.h (GL_LINK_WARNING): Likewise. * lib/locale.in.h (GL_LINK_WARNING): Likewise. * lib/sys_file.in.h (GL_LINK_WARNING): Likewise. stdio: remove unused variables * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables. * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise. * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise. tests: test more substitute headers * modules/ctype-tests: New file. * modules/dirent-tests: Likewise. * modules/spawn-tests: Likewise. * modules/sys_file-tests: Likewise. * modules/sys_ioctl-tests: Likewise. * modules/sys_wait-tests: Likewise. * tests/test-ctype.c: Likewise. * tests/test-dirent.c: Likewise. * tests/test-spawn.c: Likewise. * tests/test-sys_file.c: Likewise. * tests/test-sys_ioctl.c: Likewise. * tests/test-sys_wait.c: Likewise. * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing. * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide whether or not flock is in use. tests: remove License section from module * modules/arpa_inet-tests: Remove unneeded section. * modules/byteswap-tests: Likewise. * modules/ceilf-tests: Likewise. * modules/ceill-tests: Likewise. * modules/crypto/des-tests: Likewise. * modules/crypto/gc-arcfour-tests: Likewise. * modules/crypto/gc-arctwo-tests: Likewise. * modules/crypto/gc-des-tests: Likewise. * modules/crypto/gc-hmac-md5-tests: Likewise. * modules/crypto/gc-hmac-sha1-tests: Likewise. * modules/crypto/gc-md2-tests: Likewise. * modules/crypto/gc-md4-tests: Likewise. * modules/crypto/gc-md5-tests: Likewise. * modules/crypto/gc-pbkdf2-sha1-tests: Likewise. * modules/crypto/gc-rijndael-tests: Likewise. * modules/crypto/gc-sha1-tests: Likewise. * modules/crypto/gc-tests: Likewise. * modules/crypto/md2-tests: Likewise. * modules/crypto/md4-tests: Likewise. * modules/fcntl-h-tests: Likewise. * modules/floorf-tests: Likewise. * modules/floorl-tests: Likewise. * modules/frexp-nolibm-tests: Likewise. * modules/frexp-tests: Likewise. * modules/frexpl-nolibm-tests: Likewise. * modules/frexpl-tests: Likewise. * modules/getaddrinfo-tests: Likewise. * modules/inttypes-tests: Likewise. * modules/isfinite-tests: Likewise. * modules/isinf-tests: Likewise. * modules/ldexpl-tests: Likewise. * modules/locale-tests: Likewise. * modules/math-tests: Likewise. * modules/netdb-tests: Likewise. * modules/netinet_in-tests: Likewise. * modules/printf-frexp-tests: Likewise. * modules/printf-frexpl-tests: Likewise. * modules/priv-set-tests: Likewise. * modules/random_r-tests: Likewise. * modules/round-tests: Likewise. * modules/roundf-tests: Likewise. * modules/roundl-tests: Likewise. * modules/search-tests: Likewise. * modules/select-tests: Likewise. * modules/signal-tests: Likewise. * modules/stdbool-tests: Likewise. * modules/stddef-tests: Likewise. * modules/stdint-tests: Likewise. * modules/stdio-tests: Likewise. * modules/stdlib-tests: Likewise. * modules/string-tests: Likewise. * modules/strings-tests: Likewise. * modules/sys_select-tests: Likewise. * modules/sys_socket-tests: Likewise. * modules/sys_stat-tests: Likewise. * modules/sys_time-tests: Likewise. * modules/sys_utsname-tests: Likewise. * modules/sysexits-tests: Likewise. * modules/time-tests: Likewise. * modules/trunc-tests: Likewise. * modules/truncf-tests: Likewise. * modules/truncl-tests: Likewise. * modules/tsearch-tests: Likewise. * modules/unistd-tests: Likewise. * modules/wchar-tests: Likewise. * modules/wctype-tests: Likewise. tests: fix license on several tests * tests/test-des.c: Update to GPLv3+. * tests/test-flock.c: Likewise. * tests/test-fsync.c: Likewise. * tests/test-futimens.h: Likewise. * tests/test-gc-arcfour.c: Likewise. * tests/test-gc-arctwo.c: Likewise. * tests/test-gc-des.c: Likewise. * tests/test-gc-hmac-md5.c: Likewise. * tests/test-gc-hmac-sha1.c: Likewise. * tests/test-gc-md2.c: Likewise. * tests/test-gc-md4.c: Likewise. * tests/test-gc-md5.c: Likewise. * tests/test-gc-pbkdf2-sha1.c: Likewise. * tests/test-gc-rijndael.c: Likewise. * tests/test-gc-sha1.c: Likewise. * tests/test-gc.c: Likewise. * tests/test-getcwd.c: Likewise. * tests/test-link.c: Likewise. * tests/test-link.h: Likewise. * tests/test-lutimens.h: Likewise. * tests/test-md2.c: Likewise. * tests/test-md4.c: Likewise. * tests/test-mkdir.h: Likewise. * tests/test-rename.c: Likewise. * tests/test-rename.h: Likewise. * tests/test-safe-alloc.c: Likewise. * tests/test-utimens-common.h: Likewise. * tests/test-utimens.h: Likewise. maint: sync license texts * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi. * doc/gpl-3.0.texi: Revert copyright year update. * doc/lgpl-3.0.texi: Likewise. 2009-12-29 Jim Meyering update nearly all FSF copyright year lists to include 2009 The files named by the following are exempted: grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do test -f "$dst" && { echo "$dst"; continue; } test -d "$dst" || continue echo "$dst"/$(basename "$src") done > exempt git ls-files tests/unictype >> exempt In the remaining files, convert to all-interval notation if - there is already at least one year interval like 2000-2003 - the file is maintained by me - the file is in lib/uni*/, where that style already prevails Otherwise, use update-copyright's default. 2009-12-29 Simon Josefsson and Eric Blake tests: don't require debug system() to pass * tests/test-lstat.h (test_lstat_func): Move debug cleanup... * tests/test-rmdir.h (test_rmdir_func): Likewise. * tests/test-unlink.h (test_unlink_func): Likewise. * tests/test-fstatat.c (main): ...into callers. * tests/test-lstat.c (main): Likewise. * tests/test-rmdir.c (main): Likewise. * tests/test-unlink.c (main): Likewise. * tests/test-unlinkat.c (main): Likewise. * tests/test-areadlink-with-size.c (main): Don't require a debug-only system call to pass, aiding cross-testing to mingw. * tests/test-areadlink.c (main): Likewise. * tests/test-areadlinkat-with-size.c (main): Likewise. * tests/test-areadlinkat.c (main): Likewise. * tests/test-canonicalize-lgpl.c (main): Likewise. * tests/test-canonicalize.c (main): Likewise. * tests/test-chown.c (main): Likewise. * tests/test-fchownat.c (main): Likewise. * tests/test-lchown.c (main): Likewise. * tests/test-fdutimensat.c (main): Likewise. * tests/test-futimens.c (main): Likewise. * tests/test-link.c (main): Likewise. * tests/test-linkat.c (main): Likewise. * tests/test-mkdir.c (main): Likewise. * tests/test-mkdirat.c (main): Likewise. * tests/test-mkfifo.c (main): Likewise. * tests/test-mkfifoat.c (main): Likewise. * tests/test-mknod.c (main): Likewise. * tests/test-readlink.c (main): Likewise. * tests/test-remove.c (main): Likewise. * tests/test-rename.c (main): Likewise. * tests/test-renameat.c (main): Likewise. * tests/test-symlink.c (main): Likewise. * tests/test-symlinkat.c (main): Likewise. * tests/test-utimens.c (main): Likewise. * tests/test-utimensat.c (main): Likewise. 2009-12-29 Simon Josefsson * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend on $(UNUSED_PARAMETER_H) to avoid build failure. 2009-12-28 Jim Meyering update-copyright: you may specify a max. line length other than 72 * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH. maint: use consistent FSF copyright line syntax * lib/posixtm.c: Add missing comma in FSF copyright line. * lib/posixtm.h: Likewise. * lib/getugroups.c: Add missing ", Inc.". pmccabe2html: emit consistent FSF copyright; remove trailing blanks * build-aux/pmccabe2html: Insert comma before "Inc." in emitted FSF copyright line. Remove trailing blanks. 2009-12-28 Eric Blake test-dup2: reduce dependencies * modules/cloexec (Configure.ac): Set witness. * modules/dup2-tests (Depends-on): Drop cloexec. * tests/test-dup2.c (main): Skip portion of test if cloexec module not present. Suggested by Bruno Haible. 2009-12-26 Bruno Haible Remove an unneeded dependency. * modules/fseterr (Depends-on): Remove dup2. 2009-12-26 Eric Blake tests: use macros.h in more places * tests/macros.h (ASSERT): Depend on ASSERT_STREAM. (ASSERT_STREAM): Provide default of stderr. * tests/test-dirent-safer.c: Include macros.h, using alternate stream for assertions. * tests/test-dup-safer.c: Likewise. * tests/test-freopen-safer.c: Likewise. * tests/test-getopt.c: Likewise. * tests/test-openat-safer.c: Likewise. * tests/test-pipe.c: Likewise. * tests/test-popen-safer.c: Likewise. * modules/dirent-safer-tests (Files): Include macros.h. * modules/unistd-safer-tests (Files): Likewise. * modules/freopen-safer-tests (Files): Likewise. * modules/getopt-posix-tests (Files): Likewise. * modules/openat-safer-tests (Files): Likewise. * modules/pipe-tests (Files): Likewise. 2009-12-26 Bruno Haible javacomp: Portability fix. * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so that it also works on Solaris. 2009-12-26 Bruno Haible localename: Fix storage allocation of gl_locale_name_thread's result. * lib/localename.c (SIZE_BITS, string_hash, struct hash_node, HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on all platforms that have 'uselocale'. (gl_locale_name_thread_unsafe): New function, extracted from gl_locale_name_thread. (gl_locale_name_thread): Call struniq on all platforms that have 'uselocale'. * tests/test-localename.c (test_locale_name_thread): Check that the resulting strings are permanently allocated. * modules/localename-tests (Depends-on): Add strdup. 2009-12-26 Bruno Haible * tests/test-localename.c (categories): Fill in the strings. 2009-12-26 Jim Meyering isdir: complete the removal of m4/isdir.m4 * modules/isdir (configure.ac): Remove reference to gl_ISDIR. isdir: clean up, since at least grep still uses it * lib/isdir.c: Include "isdir.h". (S_ISDIR): Remove now-unneeded definition. * modules/isdir (Files): Add lib/isdir.h. * lib/isdir.h: New file, with declaration. * m4/isdir.m4: Remove file -- unneeded. 2009-12-25 Bruno Haible selinux-h: Make generated .h files standalone. * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED. * lib/se-selinux.in.h: Likewise. * modules/selinux-h (Depends-on): Add unused-parameter. (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into selinux/selinux.h and selinux/context.h. Suggested by Eric Blake. 2009-12-25 Bruno Haible Move gl_FCNTL_O_FLAGS to a separate .m4 file. * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4. * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro. * modules/fcntl-h (Files): Add m4/fcntl-o.m4. * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4. 2009-12-24 Bruno Haible openat: Fix warning. * lib/openat-proc.c: Include . 2009-12-24 Bruno Haible New module 'unused-parameter'. * build-aux/unused-parameter.h: New file, extracted from earlier gnulib-common.m4. * modules/unused-parameter: New file. * lib/unistr.h: Include unused-parameter.h. (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED. * modules/unistr/base (Depends-on): Add unused-parameter. 2009-12-24 Bruno Haible Add missing dependencies to 'extensions' module. * m4/extensions.m4: Add comment. * modules/accept4 (Depends-on): Add extensions. * modules/dup3 (Depends-on): Likewise. * modules/fcntl (Depends-on): Likewise. * modules/futimens (Depends-on): Likewise. * modules/mknod (Depends-on): Likewise. * modules/pipe2 (Depends-on): Likewise. * modules/stat-time (Depends-on): Likewise. * modules/strcasestr-simple (Depends-on): Likewise. * modules/strsignal (Depends-on): Likewise. * modules/utimensat (Depends-on): Likewise. * modules/localcharset (Depends-on): Likewise. Needed because of gl_FCNTL_O_FLAGS. * modules/wcrtomb (Depends-on): Likewise. Needed because of AC_TYPE_MBSTATE_T. * modules/wcsnrtombs (Depends-on): Likewise. * modules/wcsrtombs (Depends-on): Likewise. 2009-12-24 Bruno Haible binary-io: Avoid gcc warning due to SET_BINARY. * lib/binary-io.h (SET_BINARY): Cast the result to void. Reported by Jim Meyering . Suggestion by Eric Blake. 2009-12-24 Bruno Haible Avoid future namespace pollution on glibc systems. * lib/arpa_inet.in.h: Don't include on glibc systems. * lib/sys_ioctl.in.h: Don't include on glibc systems. * lib/sys_select.in.h: Don't include and on glibc systems. 2009-12-24 Bruno Haible Refactor common macros used in tests. * tests/macros.h: New file. * tests/test-areadlink.c: Include macros.h. Don't include and/or , if appropriate. (ASSERT, SIZEOF): Remove macros. * tests/test-areadlink-with-size.c: Likewise. * tests/test-areadlinkat.c: Likewise. * tests/test-areadlinkat-with-size.c: Likewise. * tests/test-argmatch.c: Likewise. * tests/test-argv-iter.c: Likewise. * tests/test-array-mergesort.c: Likewise. * tests/test-array_list.c: Likewise. * tests/test-array_oset.c: Likewise. * tests/test-avltree_list.c: Likewise. * tests/test-avltree_oset.c: Likewise. * tests/test-avltreehash_list.c: Likewise. * tests/test-base64.c: Likewise. * tests/test-binary-io.c: Likewise. * tests/test-bitrotate.c: Likewise. * tests/test-btowc.c: Likewise. * tests/test-byteswap.c: Likewise. * tests/test-c-ctype.c: Likewise. * tests/test-c-stack.c: Likewise. * tests/test-c-strcasecmp.c: Likewise. * tests/test-c-strcasestr.c: Likewise. * tests/test-c-strncasecmp.c: Likewise. * tests/test-c-strstr.c: Likewise. * tests/test-canonicalize-lgpl.c: Likewise. * tests/test-canonicalize.c: Likewise. * tests/test-carray_list.c: Likewise. * tests/test-ceilf1.c: Likewise. * tests/test-ceilf2.c: Likewise. * tests/test-ceill.c: Likewise. * tests/test-chown.c: Likewise. * tests/test-cloexec.c: Likewise. * tests/test-copy-acl.c: Likewise. * tests/test-copy-file.c: Likewise. * tests/test-count-one-bits.c: Likewise. * tests/test-dprintf-posix.c: Likewise. * tests/test-dup2.c: Likewise. * tests/test-dup3.c: Likewise. * tests/test-duplocale.c: Likewise. * tests/test-fbufmode.c: Likewise. * tests/test-fchdir.c: Likewise. * tests/test-fchownat.c: Likewise. * tests/test-fcntl-safer.c: Likewise. * tests/test-fcntl.c: Likewise. * tests/test-fdopendir.c: Likewise. * tests/test-fdutimensat.c: Likewise. * tests/test-fflush2.c: Likewise. * tests/test-file-has-acl.c: Likewise. * tests/test-filevercmp.c: Likewise. * tests/test-flock.c: Likewise. * tests/test-floorf1.c: Likewise. * tests/test-floorf2.c: Likewise. * tests/test-floorl.c: Likewise. * tests/test-fnmatch.c: Likewise. * tests/test-fopen.h: Likewise. * tests/test-fpending.c: Likewise. * tests/test-fprintf-posix.c: Likewise. * tests/test-fpurge.c: Likewise. * tests/test-freadable.c: Likewise. * tests/test-freadahead.c: Likewise. * tests/test-freading.c: Likewise. * tests/test-freadptr.c: Likewise. * tests/test-freadptr2.c: Likewise. * tests/test-freadseek.c: Likewise. * tests/test-freopen.c: Likewise. * tests/test-frexp.c: Likewise. * tests/test-frexpl.c: Likewise. * tests/test-fseek.c: Likewise. * tests/test-fseeko.c: Likewise. * tests/test-fstatat.c: Likewise. * tests/test-fstrcmp.c: Likewise. * tests/test-fsync.c: Likewise. * tests/test-ftell.c: Likewise. * tests/test-ftello.c: Likewise. * tests/test-func.c: Likewise. * tests/test-futimens.c: Likewise. * tests/test-fwritable.c: Likewise. * tests/test-fwriting.c: Likewise. * tests/test-getcwd.c: Likewise. * tests/test-getdate.c: Likewise. * tests/test-getdelim.c: Likewise. * tests/test-getdtablesize.c: Likewise. * tests/test-getgroups.c: Likewise. * tests/test-getline.c: Likewise. * tests/test-getndelim2.c: Likewise. * tests/test-glob.c: Likewise. * tests/test-hash.c: Likewise. * tests/test-i-ring.c: Likewise. * tests/test-iconv-utf.c: Likewise. * tests/test-iconv.c: Likewise. * tests/test-idpriv-drop.c: Likewise. * tests/test-idpriv-droptemp.c: Likewise. * tests/test-inet_ntop.c: Likewise. * tests/test-inet_pton.c: Likewise. * tests/test-isblank.c: Likewise. * tests/test-isfinite.c: Likewise. * tests/test-isinf.c: Likewise. * tests/test-isnan.c: Likewise. * tests/test-isnand.h: Likewise. * tests/test-isnanf.h: Likewise. * tests/test-isnanl.h: Likewise. * tests/test-lchown.c: Likewise. * tests/test-ldexpl.c: Likewise. * tests/test-link.c: Likewise. * tests/test-linkat.c: Likewise. * tests/test-linked_list.c: Likewise. * tests/test-linkedhash_list.c: Likewise. * tests/test-localename.c: Likewise. * tests/test-lseek.c: Likewise. * tests/test-lstat.c: Likewise. * tests/test-mbmemcasecmp.c: Likewise. * tests/test-mbmemcasecoll.c: Likewise. * tests/test-mbrtowc.c: Likewise. * tests/test-mbscasecmp.c: Likewise. * tests/test-mbscasestr1.c: Likewise. * tests/test-mbscasestr2.c: Likewise. * tests/test-mbscasestr3.c: Likewise. * tests/test-mbscasestr4.c: Likewise. * tests/test-mbschr.c: Likewise. * tests/test-mbscspn.c: Likewise. * tests/test-mbsinit.c: Likewise. * tests/test-mbsncasecmp.c: Likewise. * tests/test-mbsnrtowcs.c: Likewise. * tests/test-mbspbrk.c: Likewise. * tests/test-mbspcasecmp.c: Likewise. * tests/test-mbsrchr.c: Likewise. * tests/test-mbsrtowcs.c: Likewise. * tests/test-mbsspn.c: Likewise. * tests/test-mbsstr1.c: Likewise. * tests/test-mbsstr2.c: Likewise. * tests/test-mbsstr3.c: Likewise. * tests/test-memchr.c: Likewise. * tests/test-memchr2.c: Likewise. * tests/test-memcmp.c: Likewise. * tests/test-memmem.c: Likewise. * tests/test-memrchr.c: Likewise. * tests/test-mkdir.c: Likewise. * tests/test-mkdirat.c: Likewise. * tests/test-mkfifo.c: Likewise. * tests/test-mkfifoat.c: Likewise. * tests/test-mknod.c: Likewise. * tests/test-nanosleep.c: Likewise. * tests/test-nl_langinfo.c: Likewise. * tests/test-obstack-printf.c: Likewise. * tests/test-open.c: Likewise. * tests/test-openat.c: Likewise. * tests/test-pipe-filter-gi1.c: Likewise. * tests/test-pipe-filter-gi2-main.c: Likewise. * tests/test-pipe-filter-ii1.c: Likewise. * tests/test-pipe-filter-ii2-main.c: Likewise. * tests/test-pipe2.c: Likewise. * tests/test-popen.h: Likewise. * tests/test-posixtm.c: Likewise. * tests/test-pread.c: Likewise. * tests/test-printf-frexp.c: Likewise. * tests/test-printf-frexpl.c: Likewise. * tests/test-printf-posix.c: Likewise. * tests/test-priv-set.c: Likewise. * tests/test-quotearg.c: Likewise. * tests/test-random_r.c: Likewise. * tests/test-rawmemchr.c: Likewise. * tests/test-rbtree_list.c: Likewise. * tests/test-rbtree_oset.c: Likewise. * tests/test-rbtreehash_list.c: Likewise. * tests/test-readlink.c: Likewise. * tests/test-remove.c: Likewise. * tests/test-rename.c: Likewise. * tests/test-renameat.c: Likewise. * tests/test-rmdir.c: Likewise. * tests/test-round1.c: Likewise. * tests/test-roundf1.c: Likewise. * tests/test-roundl.c: Likewise. * tests/test-safe-alloc.c: Likewise. * tests/test-sameacls.c: Likewise. * tests/test-set-mode-acl.c: Likewise. * tests/test-setenv.c: Likewise. * tests/test-sigaction.c: Likewise. * tests/test-signbit.c: Likewise. * tests/test-sleep.c: Likewise. * tests/test-snprintf-posix.c: Likewise. * tests/test-snprintf.c: Likewise. * tests/test-sprintf-posix.c: Likewise. * tests/test-stat-time.c: Likewise. * tests/test-stat.c: Likewise. * tests/test-strcasestr.c: Likewise. * tests/test-strchrnul.c: Likewise. * tests/test-strerror.c: Likewise. * tests/test-striconv.c: Likewise. * tests/test-striconveh.c: Likewise. * tests/test-striconveha.c: Likewise. * tests/test-strsignal.c: Likewise. * tests/test-strstr.c: Likewise. * tests/test-strtod.c: Likewise. * tests/test-strverscmp.c: Likewise. * tests/test-symlink.c: Likewise. * tests/test-symlinkat.c: Likewise. * tests/test-trunc1.c: Likewise. * tests/test-trunc2.c: Likewise. * tests/test-truncf1.c: Likewise. * tests/test-truncf2.c: Likewise. * tests/test-truncl.c: Likewise. * tests/test-uname.c: Likewise. * tests/test-unlink.c: Likewise. * tests/test-unlinkat.c: Likewise. * tests/test-unsetenv.c: Likewise. * tests/test-usleep.c: Likewise. * tests/test-utimens.c: Likewise. * tests/test-utimensat.c: Likewise. * tests/test-vasnprintf-posix.c: Likewise. * tests/test-vasnprintf-posix2.c: Likewise. * tests/test-vasnprintf.c: Likewise. * tests/test-vasprintf-posix.c: Likewise. * tests/test-vasprintf.c: Likewise. * tests/test-vdprintf-posix.c: Likewise. * tests/test-vfprintf-posix.c: Likewise. * tests/test-vprintf-posix.c: Likewise. * tests/test-vsnprintf-posix.c: Likewise. * tests/test-vsnprintf.c: Likewise. * tests/test-vsprintf-posix.c: Likewise. * tests/test-wcrtomb.c: Likewise. * tests/test-wcsnrtombs.c: Likewise. * tests/test-wcsrtombs.c: Likewise. * tests/test-wctype.c: Likewise. * tests/test-wcwidth.c: Likewise. * tests/test-xfprintf-posix.c: Likewise. * tests/test-xmemdup0.c: Likewise. * tests/test-xprintf-posix.c: Likewise. * tests/test-xvasprintf.c: Likewise. * tests/unicase/test-locale-language.c: Likewise. * tests/unicase/test-mapping-part1.h: Likewise. * tests/unicase/test-predicate-part1.h: Likewise. * tests/unicase/test-u8-casecmp.c: Likewise. * tests/unicase/test-u8-casecoll.c: Likewise. * tests/unicase/test-u8-casefold.c: Likewise. * tests/unicase/test-u8-is-cased.c: Likewise. * tests/unicase/test-u8-is-casefolded.c: Likewise. * tests/unicase/test-u8-is-lowercase.c: Likewise. * tests/unicase/test-u8-is-titlecase.c: Likewise. * tests/unicase/test-u8-is-uppercase.c: Likewise. * tests/unicase/test-u8-tolower.c: Likewise. * tests/unicase/test-u8-totitle.c: Likewise. * tests/unicase/test-u8-toupper.c: Likewise. * tests/unicase/test-u16-casecmp.c: Likewise. * tests/unicase/test-u16-casecoll.c: Likewise. * tests/unicase/test-u16-casefold.c: Likewise. * tests/unicase/test-u16-is-cased.c: Likewise. * tests/unicase/test-u16-is-casefolded.c: Likewise. * tests/unicase/test-u16-is-lowercase.c: Likewise. * tests/unicase/test-u16-is-titlecase.c: Likewise. * tests/unicase/test-u16-is-uppercase.c: Likewise. * tests/unicase/test-u16-tolower.c: Likewise. * tests/unicase/test-u16-totitle.c: Likewise. * tests/unicase/test-u16-toupper.c: Likewise. * tests/unicase/test-u32-casecmp.c: Likewise. * tests/unicase/test-u32-casecoll.c: Likewise. * tests/unicase/test-u32-casefold.c: Likewise. * tests/unicase/test-u32-is-cased.c: Likewise. * tests/unicase/test-u32-is-casefolded.c: Likewise. * tests/unicase/test-u32-is-lowercase.c: Likewise. * tests/unicase/test-u32-is-titlecase.c: Likewise. * tests/unicase/test-u32-is-uppercase.c: Likewise. * tests/unicase/test-u32-tolower.c: Likewise. * tests/unicase/test-u32-totitle.c: Likewise. * tests/unicase/test-u32-toupper.c: Likewise. * tests/unicase/test-ulc-casecmp.c: Likewise. * tests/unicase/test-ulc-casecoll.c: Likewise. * tests/uniconv/test-u8-conv-from-enc.c: Likewise. * tests/uniconv/test-u8-conv-to-enc.c: Likewise. * tests/uniconv/test-u8-strconv-from-enc.c: Likewise. * tests/uniconv/test-u8-strconv-to-enc.c: Likewise. * tests/uniconv/test-u16-conv-from-enc.c: Likewise. * tests/uniconv/test-u16-conv-to-enc.c: Likewise. * tests/uniconv/test-u16-strconv-from-enc.c: Likewise. * tests/uniconv/test-u16-strconv-to-enc.c: Likewise. * tests/uniconv/test-u32-conv-from-enc.c: Likewise. * tests/uniconv/test-u32-conv-to-enc.c: Likewise. * tests/uniconv/test-u32-strconv-from-enc.c: Likewise. * tests/uniconv/test-u32-strconv-to-enc.c: Likewise. * tests/unictype/test-bidi_byname.c: Likewise. * tests/unictype/test-bidi_name.c: Likewise. * tests/unictype/test-bidi_of.c: Likewise. * tests/unictype/test-bidi_test.c: Likewise. * tests/unictype/test-block_list.c: Likewise. * tests/unictype/test-block_of.c: Likewise. * tests/unictype/test-block_test.c: Likewise. * tests/unictype/test-categ_and.c: Likewise. * tests/unictype/test-categ_and_not.c: Likewise. * tests/unictype/test-categ_byname.c: Likewise. * tests/unictype/test-categ_name.c: Likewise. * tests/unictype/test-categ_none.c: Likewise. * tests/unictype/test-categ_of.c: Likewise. * tests/unictype/test-categ_or.c: Likewise. * tests/unictype/test-categ_test_withtable.c: Likewise. * tests/unictype/test-combining.c: Likewise. * tests/unictype/test-decdigit.c: Likewise. * tests/unictype/test-digit.c: Likewise. * tests/unictype/test-mirror.c: Likewise. * tests/unictype/test-numeric.c: Likewise. * tests/unictype/test-pr_byname.c: Likewise. * tests/unictype/test-pr_test.c: Likewise. * tests/unictype/test-predicate-part1.h: Likewise. * tests/unictype/test-scripts.c: Likewise. * tests/unictype/test-sy_c_ident.c: Likewise. * tests/unictype/test-sy_java_ident.c: Likewise. * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise. * tests/unilbrk/test-u8-width-linebreaks.c: Likewise. * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise. * tests/unilbrk/test-u16-width-linebreaks.c: Likewise. * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise. * tests/unilbrk/test-u32-width-linebreaks.c: Likewise. * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise. * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise. * tests/uninorm/test-canonical-decomposition.c: Likewise. * tests/uninorm/test-compat-decomposition.c: Likewise. * tests/uninorm/test-composition.c: Likewise. * tests/uninorm/test-decomposing-form.c: Likewise. * tests/uninorm/test-decomposition.c: Likewise. * tests/uninorm/test-u8-nfc.c: Likewise. * tests/uninorm/test-u8-nfd.c: Likewise. * tests/uninorm/test-u8-nfkc.c: Likewise. * tests/uninorm/test-u8-nfkd.c: Likewise. * tests/uninorm/test-u8-normcmp.c: Likewise. * tests/uninorm/test-u8-normcoll.c: Likewise. * tests/uninorm/test-u16-nfc.c: Likewise. * tests/uninorm/test-u16-nfd.c: Likewise. * tests/uninorm/test-u16-nfkc.c: Likewise. * tests/uninorm/test-u16-nfkd.c: Likewise. * tests/uninorm/test-u16-normcmp.c: Likewise. * tests/uninorm/test-u16-normcoll.c: Likewise. * tests/uninorm/test-u32-nfc.c: Likewise. * tests/uninorm/test-u32-nfd.c: Likewise. * tests/uninorm/test-u32-nfkc.c: Likewise. * tests/uninorm/test-u32-nfkd.c: Likewise. * tests/uninorm/test-u32-normalize-big.c: Likewise. * tests/uninorm/test-u32-normcmp.c: Likewise. * tests/uninorm/test-u32-normcoll.c: Likewise. * tests/uninorm/test-uninorm-filter-nfc.c: Likewise. * tests/unistdio/test-u8-asnprintf1.c: Likewise. * tests/unistdio/test-u8-vasnprintf1.c: Likewise. * tests/unistdio/test-u8-vasnprintf2.c: Likewise. * tests/unistdio/test-u8-vasnprintf3.c: Likewise. * tests/unistdio/test-u8-vasprintf1.c: Likewise. * tests/unistdio/test-u8-vsnprintf1.c: Likewise. * tests/unistdio/test-u8-vsprintf1.c: Likewise. * tests/unistdio/test-u16-asnprintf1.c: Likewise. * tests/unistdio/test-u16-vasnprintf1.c: Likewise. * tests/unistdio/test-u16-vasnprintf2.c: Likewise. * tests/unistdio/test-u16-vasnprintf3.c: Likewise. * tests/unistdio/test-u16-vasprintf1.c: Likewise. * tests/unistdio/test-u16-vsnprintf1.c: Likewise. * tests/unistdio/test-u16-vsprintf1.c: Likewise. * tests/unistdio/test-u32-asnprintf1.c: Likewise. * tests/unistdio/test-u32-vasnprintf1.c: Likewise. * tests/unistdio/test-u32-vasnprintf2.c: Likewise. * tests/unistdio/test-u32-vasnprintf3.c: Likewise. * tests/unistdio/test-u32-vasprintf1.c: Likewise. * tests/unistdio/test-u32-vsnprintf1.c: Likewise. * tests/unistdio/test-u32-vsprintf1.c: Likewise. * tests/unistdio/test-ulc-asnprintf1.c: Likewise. * tests/unistdio/test-ulc-vasnprintf1.c: Likewise. * tests/unistdio/test-ulc-vasnprintf2.c: Likewise. * tests/unistdio/test-ulc-vasnprintf3.c: Likewise. * tests/unistdio/test-ulc-vasprintf1.c: Likewise. * tests/unistdio/test-ulc-vsnprintf1.c: Likewise. * tests/unistdio/test-ulc-vsprintf1.c: Likewise. * tests/uniwbrk/test-u8-wordbreaks.c: Likewise. * tests/uniwbrk/test-u16-wordbreaks.c: Likewise. * tests/uniwbrk/test-u32-wordbreaks.c: Likewise. * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise. * tests/uniwidth/test-u8-strwidth.c: Likewise. * tests/uniwidth/test-u8-width.c: Likewise. * tests/uniwidth/test-u16-strwidth.c: Likewise. * tests/uniwidth/test-u16-width.c: Likewise. * tests/uniwidth/test-u32-strwidth.c: Likewise. * tests/uniwidth/test-u32-width.c: Likewise. * tests/uniwidth/test-uc_width.c: Likewise. * tests/uniwidth/test-uc_width2.c: Likewise. * modules/acl-tests (Files): Add tests/macros.h. * modules/areadlink-tests (Files): Likewise. * modules/areadlink-with-size-tests (Files): Likewise. * modules/areadlinkat-tests (Files): Likewise. * modules/areadlinkat-with-size-tests (Files): Likewise. * modules/argmatch-tests (Files): Likewise. * modules/argv-iter-tests (Files): Likewise. * modules/array-list-tests (Files): Likewise. * modules/array-mergesort-tests (Files): Likewise. * modules/array-oset-tests (Files): Likewise. * modules/avltree-list-tests (Files): Likewise. * modules/avltree-oset-tests (Files): Likewise. * modules/avltreehash-list-tests (Files): Likewise. * modules/base64-tests (Files): Likewise. * modules/binary-io-tests (Files): Likewise. * modules/bitrotate-tests (Files): Likewise. * modules/btowc-tests (Files): Likewise. * modules/byteswap-tests (Files): Likewise. * modules/c-ctype-tests (Files): Likewise. * modules/c-stack-tests (Files): Likewise. * modules/c-strcase-tests (Files): Likewise. * modules/c-strcasestr-tests (Files): Likewise. * modules/c-strstr-tests (Files): Likewise. * modules/canonicalize-lgpl-tests (Files): Likewise. * modules/canonicalize-tests (Files): Likewise. * modules/carray-list-tests (Files): Likewise. * modules/ceilf-tests (Files): Likewise. * modules/ceill-tests (Files): Likewise. * modules/chown-tests (Files): Likewise. * modules/cloexec-tests (Files): Likewise. * modules/copy-file-tests (Files): Likewise. * modules/count-one-bits-tests (Files): Likewise. * modules/dprintf-posix-tests (Files): Likewise. * modules/dup2-tests (Files): Likewise. * modules/dup3-tests (Files): Likewise. * modules/duplocale-tests (Files): Likewise. * modules/fbufmode-tests (Files): Likewise. * modules/fchdir-tests (Files): Likewise. * modules/fcntl-safer-tests (Files): Likewise. * modules/fcntl-tests (Files): Likewise. * modules/fdopendir-tests (Files): Likewise. * modules/fdutimensat-tests (Files): Likewise. * modules/fflush-tests (Files): Likewise. * modules/filevercmp-tests (Files): Likewise. * modules/flock-tests (Files): Likewise. * modules/floorf-tests (Files): Likewise. * modules/floorl-tests (Files): Likewise. * modules/fnmatch-tests (Files): Likewise. * modules/fopen-safer-tests (Files): Likewise. * modules/fopen-tests (Files): Likewise. * modules/fpending-tests (Files): Likewise. * modules/fprintf-posix-tests (Files): Likewise. * modules/fpurge-tests (Files): Likewise. * modules/freadable-tests (Files): Likewise. * modules/freadahead-tests (Files): Likewise. * modules/freading-tests (Files): Likewise. * modules/freadptr-tests (Files): Likewise. * modules/freadseek-tests (Files): Likewise. * modules/freopen-tests (Files): Likewise. * modules/frexp-nolibm-tests (Files): Likewise. * modules/frexp-tests (Files): Likewise. * modules/frexpl-nolibm-tests (Files): Likewise. * modules/frexpl-tests (Files): Likewise. * modules/fseek-tests (Files): Likewise. * modules/fseeko-tests (Files): Likewise. * modules/fstrcmp-tests (Files): Likewise. * modules/fsync-tests (Files): Likewise. * modules/ftell-tests (Files): Likewise. * modules/ftello-tests (Files): Likewise. * modules/func-tests (Files): Likewise. * modules/futimens-tests (Files): Likewise. * modules/fwritable-tests (Files): Likewise. * modules/fwriting-tests (Files): Likewise. * modules/getcwd-tests (Files): Likewise. * modules/getdate-tests (Files): Likewise. * modules/getdelim-tests (Files): Likewise. * modules/getdtablesize-tests (Files): Likewise. * modules/getgroups-tests (Files): Likewise. * modules/getline-tests (Files): Likewise. * modules/getndelim2-tests (Files): Likewise. * modules/glob-tests (Files): Likewise. * modules/hash-tests (Files): Likewise. * modules/i-ring-tests (Files): Likewise. * modules/iconv-tests (Files): Likewise. * modules/iconv_open-utf-tests (Files): Likewise. * modules/idpriv-drop-tests (Files): Likewise. * modules/idpriv-droptemp-tests (Files): Likewise. * modules/inet_ntop-tests (Files): Likewise. * modules/inet_pton-tests (Files): Likewise. * modules/isblank-tests (Files): Likewise. * modules/isfinite-tests (Files): Likewise. * modules/isinf-tests (Files): Likewise. * modules/isnan-tests (Files): Likewise. * modules/isnand-nolibm-tests (Files): Likewise. * modules/isnand-tests (Files): Likewise. * modules/isnanf-nolibm-tests (Files): Likewise. * modules/isnanf-tests (Files): Likewise. * modules/isnanl-nolibm-tests (Files): Likewise. * modules/isnanl-tests (Files): Likewise. * modules/lchown-tests (Files): Likewise. * modules/ldexpl-tests (Files): Likewise. * modules/link-tests (Files): Likewise. * modules/linkat-tests (Files): Likewise. * modules/linked-list-tests (Files): Likewise. * modules/linkedhash-list-tests (Files): Likewise. * modules/localename-tests (Files): Likewise. * modules/lseek-tests (Files): Likewise. * modules/lstat-tests (Files): Likewise. * modules/mbmemcasecmp-tests (Files): Likewise. * modules/mbmemcasecoll-tests (Files): Likewise. * modules/mbrtowc-tests (Files): Likewise. * modules/mbscasecmp-tests (Files): Likewise. * modules/mbscasestr-tests (Files): Likewise. * modules/mbschr-tests (Files): Likewise. * modules/mbscspn-tests (Files): Likewise. * modules/mbsinit-tests (Files): Likewise. * modules/mbsncasecmp-tests (Files): Likewise. * modules/mbsnrtowcs-tests (Files): Likewise. * modules/mbspbrk-tests (Files): Likewise. * modules/mbspcasecmp-tests (Files): Likewise. * modules/mbsrchr-tests (Files): Likewise. * modules/mbsrtowcs-tests (Files): Likewise. * modules/mbsspn-tests (Files): Likewise. * modules/mbsstr-tests (Files): Likewise. * modules/memchr-tests (Files): Likewise. * modules/memchr2-tests (Files): Likewise. * modules/memcmp-tests (Files): Likewise. * modules/memmem-tests (Files): Likewise. * modules/memrchr-tests (Files): Likewise. * modules/mkdir-tests (Files): Likewise. * modules/mkfifo-tests (Files): Likewise. * modules/mkfifoat-tests (Files): Likewise. * modules/mknod-tests (Files): Likewise. * modules/nanosleep-tests (Files): Likewise. * modules/nl_langinfo-tests (Files): Likewise. * modules/obstack-printf-tests (Files): Likewise. * modules/open-tests (Files): Likewise. * modules/openat-tests (Files): Likewise. * modules/pipe-filter-gi-tests (Files): Likewise. * modules/pipe-filter-ii-tests (Files): Likewise. * modules/pipe2-tests (Files): Likewise. * modules/popen-safer-tests (Files): Likewise. * modules/popen-tests (Files): Likewise. * modules/posixtm-tests (Files): Likewise. * modules/pread-tests (Files): Likewise. * modules/printf-frexp-tests (Files): Likewise. * modules/printf-frexpl-tests (Files): Likewise. * modules/printf-posix-tests (Files): Likewise. * modules/priv-set-tests (Files): Likewise. * modules/quotearg-tests (Files): Likewise. * modules/random_r-tests (Files): Likewise. * modules/rawmemchr-tests (Files): Likewise. * modules/rbtree-list-tests (Files): Likewise. * modules/rbtree-oset-tests (Files): Likewise. * modules/rbtreehash-list-tests (Files): Likewise. * modules/readlink-tests (Files): Likewise. * modules/remove-tests (Files): Likewise. * modules/rename-tests (Files): Likewise. * modules/renameat-tests (Files): Likewise. * modules/rmdir-tests (Files): Likewise. * modules/round-tests (Files): Likewise. * modules/roundf-tests (Files): Likewise. * modules/roundl-tests (Files): Likewise. * modules/safe-alloc-tests (Files): Likewise. * modules/setenv-tests (Files): Likewise. * modules/sigaction-tests (Files): Likewise. * modules/signbit-tests (Files): Likewise. * modules/sleep-tests (Files): Likewise. * modules/snprintf-posix-tests (Files): Likewise. * modules/snprintf-tests (Files): Likewise. * modules/sprintf-posix-tests (Files): Likewise. * modules/stat-tests (Files): Likewise. * modules/stat-time-tests (Files): Likewise. * modules/strcasestr-tests (Files): Likewise. * modules/strchrnul-tests (Files): Likewise. * modules/strerror-tests (Files): Likewise. * modules/striconv-tests (Files): Likewise. * modules/striconveh-tests (Files): Likewise. * modules/striconveha-tests (Files): Likewise. * modules/strsignal-tests (Files): Likewise. * modules/strstr-tests (Files): Likewise. * modules/strtod-tests (Files): Likewise. * modules/strverscmp-tests (Files): Likewise. * modules/symlink-tests (Files): Likewise. * modules/symlinkat-tests (Files): Likewise. * modules/trunc-tests (Files): Likewise. * modules/truncf-tests (Files): Likewise. * modules/truncl-tests (Files): Likewise. * modules/uname-tests (Files): Likewise. * modules/unicase/cased-tests (Files): Likewise. * modules/unicase/ignorable-tests (Files): Likewise. * modules/unicase/locale-language-tests (Files): Likewise. * modules/unicase/tolower-tests (Files): Likewise. * modules/unicase/totitle-tests (Files): Likewise. * modules/unicase/toupper-tests (Files): Likewise. * modules/unicase/u8-casecmp-tests (Files): Likewise. * modules/unicase/u8-casecoll-tests (Files): Likewise. * modules/unicase/u8-casefold-tests (Files): Likewise. * modules/unicase/u8-is-cased-tests (Files): Likewise. * modules/unicase/u8-is-casefolded-tests (Files): Likewise. * modules/unicase/u8-is-lowercase-tests (Files): Likewise. * modules/unicase/u8-is-titlecase-tests (Files): Likewise. * modules/unicase/u8-is-uppercase-tests (Files): Likewise. * modules/unicase/u8-tolower-tests (Files): Likewise. * modules/unicase/u8-totitle-tests (Files): Likewise. * modules/unicase/u8-toupper-tests (Files): Likewise. * modules/unicase/u16-casecmp-tests (Files): Likewise. * modules/unicase/u16-casecoll-tests (Files): Likewise. * modules/unicase/u16-casefold-tests (Files): Likewise. * modules/unicase/u16-is-cased-tests (Files): Likewise. * modules/unicase/u16-is-casefolded-tests (Files): Likewise. * modules/unicase/u16-is-lowercase-tests (Files): Likewise. * modules/unicase/u16-is-titlecase-tests (Files): Likewise. * modules/unicase/u16-is-uppercase-tests (Files): Likewise. * modules/unicase/u16-tolower-tests (Files): Likewise. * modules/unicase/u16-totitle-tests (Files): Likewise. * modules/unicase/u16-toupper-tests (Files): Likewise. * modules/unicase/u32-casecmp-tests (Files): Likewise. * modules/unicase/u32-casecoll-tests (Files): Likewise. * modules/unicase/u32-casefold-tests (Files): Likewise. * modules/unicase/u32-is-cased-tests (Files): Likewise. * modules/unicase/u32-is-casefolded-tests (Files): Likewise. * modules/unicase/u32-is-lowercase-tests (Files): Likewise. * modules/unicase/u32-is-titlecase-tests (Files): Likewise. * modules/unicase/u32-is-uppercase-tests (Files): Likewise. * modules/unicase/u32-tolower-tests (Files): Likewise. * modules/unicase/u32-totitle-tests (Files): Likewise. * modules/unicase/u32-toupper-tests (Files): Likewise. * modules/unicase/ulc-casecmp-tests (Files): Likewise. * modules/unicase/ulc-casecoll-tests (Files): Likewise. * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise. * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise. * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise. * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise. * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise. * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise. * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise. * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise. * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise. * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise. * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise. * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise. * modules/unictype/bidicategory-byname-tests (Files): Likewise. * modules/unictype/bidicategory-name-tests (Files): Likewise. * modules/unictype/bidicategory-of-tests (Files): Likewise. * modules/unictype/bidicategory-test-tests (Files): Likewise. * modules/unictype/block-list-tests (Files): Likewise. * modules/unictype/block-of-tests (Files): Likewise. * modules/unictype/block-test-tests (Files): Likewise. * modules/unictype/category-C-tests (Files): Likewise. * modules/unictype/category-Cc-tests (Files): Likewise. * modules/unictype/category-Cf-tests (Files): Likewise. * modules/unictype/category-Cn-tests (Files): Likewise. * modules/unictype/category-Co-tests (Files): Likewise. * modules/unictype/category-Cs-tests (Files): Likewise. * modules/unictype/category-L-tests (Files): Likewise. * modules/unictype/category-Ll-tests (Files): Likewise. * modules/unictype/category-Lm-tests (Files): Likewise. * modules/unictype/category-Lo-tests (Files): Likewise. * modules/unictype/category-Lt-tests (Files): Likewise. * modules/unictype/category-Lu-tests (Files): Likewise. * modules/unictype/category-M-tests (Files): Likewise. * modules/unictype/category-Mc-tests (Files): Likewise. * modules/unictype/category-Me-tests (Files): Likewise. * modules/unictype/category-Mn-tests (Files): Likewise. * modules/unictype/category-N-tests (Files): Likewise. * modules/unictype/category-Nd-tests (Files): Likewise. * modules/unictype/category-Nl-tests (Files): Likewise. * modules/unictype/category-No-tests (Files): Likewise. * modules/unictype/category-P-tests (Files): Likewise. * modules/unictype/category-Pc-tests (Files): Likewise. * modules/unictype/category-Pd-tests (Files): Likewise. * modules/unictype/category-Pe-tests (Files): Likewise. * modules/unictype/category-Pf-tests (Files): Likewise. * modules/unictype/category-Pi-tests (Files): Likewise. * modules/unictype/category-Po-tests (Files): Likewise. * modules/unictype/category-Ps-tests (Files): Likewise. * modules/unictype/category-S-tests (Files): Likewise. * modules/unictype/category-Sc-tests (Files): Likewise. * modules/unictype/category-Sk-tests (Files): Likewise. * modules/unictype/category-Sm-tests (Files): Likewise. * modules/unictype/category-So-tests (Files): Likewise. * modules/unictype/category-Z-tests (Files): Likewise. * modules/unictype/category-Zl-tests (Files): Likewise. * modules/unictype/category-Zp-tests (Files): Likewise. * modules/unictype/category-Zs-tests (Files): Likewise. * modules/unictype/category-and-not-tests (Files): Likewise. * modules/unictype/category-and-tests (Files): Likewise. * modules/unictype/category-byname-tests (Files): Likewise. * modules/unictype/category-name-tests (Files): Likewise. * modules/unictype/category-none-tests (Files): Likewise. * modules/unictype/category-of-tests (Files): Likewise. * modules/unictype/category-or-tests (Files): Likewise. * modules/unictype/category-test-withtable-tests (Files): Likewise. * modules/unictype/combining-class-tests (Files): Likewise. * modules/unictype/ctype-alnum-tests (Files): Likewise. * modules/unictype/ctype-alpha-tests (Files): Likewise. * modules/unictype/ctype-blank-tests (Files): Likewise. * modules/unictype/ctype-cntrl-tests (Files): Likewise. * modules/unictype/ctype-digit-tests (Files): Likewise. * modules/unictype/ctype-graph-tests (Files): Likewise. * modules/unictype/ctype-lower-tests (Files): Likewise. * modules/unictype/ctype-print-tests (Files): Likewise. * modules/unictype/ctype-punct-tests (Files): Likewise. * modules/unictype/ctype-space-tests (Files): Likewise. * modules/unictype/ctype-upper-tests (Files): Likewise. * modules/unictype/ctype-xdigit-tests (Files): Likewise. * modules/unictype/decimal-digit-tests (Files): Likewise. * modules/unictype/digit-tests (Files): Likewise. * modules/unictype/mirror-tests (Files): Likewise. * modules/unictype/numeric-tests (Files): Likewise. * modules/unictype/property-alphabetic-tests (Files): Likewise. * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise. * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise. * modules/unictype/property-bidi-arabic-right-to-left-tests (Files): Likewise. * modules/unictype/property-bidi-block-separator-tests (Files): Likewise. * modules/unictype/property-bidi-boundary-neutral-tests (Files): Likewise. * modules/unictype/property-bidi-common-separator-tests (Files): Likewise. * modules/unictype/property-bidi-control-tests (Files): Likewise. * modules/unictype/property-bidi-embedding-or-override-tests (Files): Likewise. * modules/unictype/property-bidi-eur-num-separator-tests (Files): Likewise. * modules/unictype/property-bidi-eur-num-terminator-tests (Files): Likewise. * modules/unictype/property-bidi-european-digit-tests (Files): Likewise. * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files): Likewise. * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise. * modules/unictype/property-bidi-non-spacing-mark-tests (Files): Likewise. * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise. * modules/unictype/property-bidi-pdf-tests (Files): Likewise. * modules/unictype/property-bidi-segment-separator-tests (Files): Likewise. * modules/unictype/property-bidi-whitespace-tests (Files): Likewise. * modules/unictype/property-byname-tests (Files): Likewise. * modules/unictype/property-combining-tests (Files): Likewise. * modules/unictype/property-composite-tests (Files): Likewise. * modules/unictype/property-currency-symbol-tests (Files): Likewise. * modules/unictype/property-dash-tests (Files): Likewise. * modules/unictype/property-decimal-digit-tests (Files): Likewise. * modules/unictype/property-default-ignorable-code-point-tests (Files): Likewise. * modules/unictype/property-deprecated-tests (Files): Likewise. * modules/unictype/property-diacritic-tests (Files): Likewise. * modules/unictype/property-extender-tests (Files): Likewise. * modules/unictype/property-format-control-tests (Files): Likewise. * modules/unictype/property-grapheme-base-tests (Files): Likewise. * modules/unictype/property-grapheme-extend-tests (Files): Likewise. * modules/unictype/property-grapheme-link-tests (Files): Likewise. * modules/unictype/property-hex-digit-tests (Files): Likewise. * modules/unictype/property-hyphen-tests (Files): Likewise. * modules/unictype/property-id-continue-tests (Files): Likewise. * modules/unictype/property-id-start-tests (Files): Likewise. * modules/unictype/property-ideographic-tests (Files): Likewise. * modules/unictype/property-ids-binary-operator-tests (Files): Likewise. * modules/unictype/property-ids-trinary-operator-tests (Files): Likewise. * modules/unictype/property-ignorable-control-tests (Files): Likewise. * modules/unictype/property-iso-control-tests (Files): Likewise. * modules/unictype/property-join-control-tests (Files): Likewise. * modules/unictype/property-left-of-pair-tests (Files): Likewise. * modules/unictype/property-line-separator-tests (Files): Likewise. * modules/unictype/property-logical-order-exception-tests (Files): Likewise. * modules/unictype/property-lowercase-tests (Files): Likewise. * modules/unictype/property-math-tests (Files): Likewise. * modules/unictype/property-non-break-tests (Files): Likewise. * modules/unictype/property-not-a-character-tests (Files): Likewise. * modules/unictype/property-numeric-tests (Files): Likewise. * modules/unictype/property-other-alphabetic-tests (Files): Likewise. * modules/unictype/property-other-default-ignorable-code-point-tests (Files): Likewise. * modules/unictype/property-other-grapheme-extend-tests (Files): Likewise. * modules/unictype/property-other-id-continue-tests (Files): Likewise. * modules/unictype/property-other-id-start-tests (Files): Likewise. * modules/unictype/property-other-lowercase-tests (Files): Likewise. * modules/unictype/property-other-math-tests (Files): Likewise. * modules/unictype/property-other-uppercase-tests (Files): Likewise. * modules/unictype/property-paired-punctuation-tests (Files): Likewise. * modules/unictype/property-paragraph-separator-tests (Files): Likewise. * modules/unictype/property-pattern-syntax-tests (Files): Likewise. * modules/unictype/property-pattern-white-space-tests (Files): Likewise. * modules/unictype/property-private-use-tests (Files): Likewise. * modules/unictype/property-punctuation-tests (Files): Likewise. * modules/unictype/property-quotation-mark-tests (Files): Likewise. * modules/unictype/property-radical-tests (Files): Likewise. * modules/unictype/property-sentence-terminal-tests (Files): Likewise. * modules/unictype/property-soft-dotted-tests (Files): Likewise. * modules/unictype/property-space-tests (Files): Likewise. * modules/unictype/property-terminal-punctuation-tests (Files): Likewise. * modules/unictype/property-test-tests (Files): Likewise. * modules/unictype/property-titlecase-tests (Files): Likewise. * modules/unictype/property-unassigned-code-value-tests (Files): Likewise. * modules/unictype/property-unified-ideograph-tests (Files): Likewise. * modules/unictype/property-uppercase-tests (Files): Likewise. * modules/unictype/property-variation-selector-tests (Files): Likewise. * modules/unictype/property-white-space-tests (Files): Likewise. * modules/unictype/property-xid-continue-tests (Files): Likewise. * modules/unictype/property-xid-start-tests (Files): Likewise. * modules/unictype/property-zero-width-tests (Files): Likewise. * modules/unictype/scripts-tests (Files): Likewise. * modules/unictype/syntax-c-ident-tests (Files): Likewise. * modules/unictype/syntax-c-whitespace-tests (Files): Likewise. * modules/unictype/syntax-java-ident-tests (Files): Likewise. * modules/unictype/syntax-java-whitespace-tests (Files): Likewise. * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise. * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise. * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise. * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise. * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise. * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise. * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise. * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise. * modules/uninorm/canonical-decomposition-tests (Files): Likewise. * modules/uninorm/compat-decomposition-tests (Files): Likewise. * modules/uninorm/composition-tests (Files): Likewise. * modules/uninorm/decomposing-form-tests (Files): Likewise. * modules/uninorm/decomposition-tests (Files): Likewise. * modules/uninorm/filter-tests (Files): Likewise. * modules/uninorm/nfc-tests (Files): Likewise. * modules/uninorm/nfd-tests (Files): Likewise. * modules/uninorm/nfkc-tests (Files): Likewise. * modules/uninorm/nfkd-tests (Files): Likewise. * modules/uninorm/u8-normcmp-tests (Files): Likewise. * modules/uninorm/u8-normcoll-tests (Files): Likewise. * modules/uninorm/u16-normcmp-tests (Files): Likewise. * modules/uninorm/u16-normcoll-tests (Files): Likewise. * modules/uninorm/u32-normcmp-tests (Files): Likewise. * modules/uninorm/u32-normcoll-tests (Files): Likewise. * modules/unistdio/u8-asnprintf-tests (Files): Likewise. * modules/unistdio/u8-vasnprintf-tests (Files): Likewise. * modules/unistdio/u8-vasprintf-tests (Files): Likewise. * modules/unistdio/u8-vsnprintf-tests (Files): Likewise. * modules/unistdio/u8-vsprintf-tests (Files): Likewise. * modules/unistdio/u16-asnprintf-tests (Files): Likewise. * modules/unistdio/u16-vasnprintf-tests (Files): Likewise. * modules/unistdio/u16-vasprintf-tests (Files): Likewise. * modules/unistdio/u16-vsnprintf-tests (Files): Likewise. * modules/unistdio/u16-vsprintf-tests (Files): Likewise. * modules/unistdio/u32-asnprintf-tests (Files): Likewise. * modules/unistdio/u32-vasnprintf-tests (Files): Likewise. * modules/unistdio/u32-vasprintf-tests (Files): Likewise. * modules/unistdio/u32-vsnprintf-tests (Files): Likewise. * modules/unistdio/u32-vsprintf-tests (Files): Likewise. * modules/unistdio/ulc-asnprintf-tests (Files): Likewise. * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise. * modules/unistdio/ulc-vasprintf-tests (Files): Likewise. * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise. * modules/unistdio/ulc-vsprintf-tests (Files): Likewise. * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise. * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise. * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise. * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise. * modules/uniwidth/u8-strwidth-tests (Files): Likewise. * modules/uniwidth/u8-width-tests (Files): Likewise. * modules/uniwidth/u16-strwidth-tests (Files): Likewise. * modules/uniwidth/u16-width-tests (Files): Likewise. * modules/uniwidth/u32-strwidth-tests (Files): Likewise. * modules/uniwidth/u32-width-tests (Files): Likewise. * modules/uniwidth/width-tests (Files): Likewise. * modules/unlink-tests (Files): Likewise. * modules/unsetenv-tests (Files): Likewise. * modules/usleep-tests (Files): Likewise. * modules/utimens-tests (Files): Likewise. * modules/utimensat-tests (Files): Likewise. * modules/vasnprintf-posix-tests (Files): Likewise. * modules/vasnprintf-tests (Files): Likewise. * modules/vasprintf-posix-tests (Files): Likewise. * modules/vasprintf-tests (Files): Likewise. * modules/vdprintf-posix-tests (Files): Likewise. * modules/vfprintf-posix-tests (Files): Likewise. * modules/vprintf-posix-tests (Files): Likewise. * modules/vsnprintf-posix-tests (Files): Likewise. * modules/vsnprintf-tests (Files): Likewise. * modules/vsprintf-posix-tests (Files): Likewise. * modules/wcrtomb-tests (Files): Likewise. * modules/wcsnrtombs-tests (Files): Likewise. * modules/wcsrtombs-tests (Files): Likewise. * modules/wctype-tests (Files): Likewise. * modules/wcwidth-tests (Files): Likewise. * modules/xmemdup0-tests (Files): Likewise. * modules/xprintf-posix-tests (Files): Likewise. * modules/xvasprintf-tests (Files): Likewise. 2009-12-24 Eric Blake test-nanosleep: fix typo * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous patch. Reported by Bruno Haible. 2009-12-24 Bruno Haible Reduce namespace pollution on glibc systems. * lib/inttypes.in.h: Don't include on glibc systems. * lib/stdlib.in.h: Don't include , on glibc systems. * lib/unistd.in.h: Don't include , , , on glibc systems. * lib/fcntl.in.h: Don't include , on glibc systems. * lib/fcntl.c: Include here instead. 2009-12-24 Bruno Haible * lib/stdlib.in.h (includes): Fix typo in today's commit. 2009-12-24 Eric Blake tests: add signature checks * tests/signature.h (SIGNATURE_CHECK): New file. * modules/atexit-tests (Files): Use it. * modules/btowc-tests (Files): Likewise. * modules/canonicalize-lgpl-tests (Files): Likewise. * modules/ceilf-tests (Files): Likewise. * modules/ceill-tests (Files): Likewise. * modules/chown-tests (Files): Likewise. * modules/dprintf-posix-tests (Files): Likewise. * modules/dup2-tests (Files): Likewise. * modules/dup3-tests (Files): Likewise. * modules/duplocale-tests (Files): Likewise. * modules/fchdir-tests (Files): Likewise. * modules/fcntl-tests (Files): Likewise. * modules/fdopendir-tests (Files): Likewise. * modules/fflush-tests (Files): Likewise. * modules/flock-tests (Files): Likewise. * modules/floorf-tests (Files): Likewise. * modules/floorl-tests (Files): Likewise. * modules/fnmatch-tests (Files): Likewise. * modules/fopen-tests (Files): Likewise. * modules/fprintf-posix-tests (Files): Likewise. * modules/freopen-tests (Files): Likewise. * modules/frexp-nolibm-tests (Files): Likewise. * modules/frexp-tests (Files): Likewise. * modules/frexpl-nolibm-tests (Files): Likewise. * modules/frexpl-tests (Files): Likewise. * modules/fseek-tests (Files): Likewise. * modules/fseeko-tests (Files): Likewise. * modules/fsync-tests (Files): Likewise. * modules/ftell-tests (Files): Likewise. * modules/ftello-tests (Files): Likewise. * modules/futimens-tests (Files): Likewise. * modules/getaddrinfo-tests (Files): Likewise. * modules/getcwd-tests (Files): Likewise. * modules/getdelim-tests (Files): Likewise. * modules/getdtablesize-tests (Files): Likewise. * modules/getgroups-tests (Files): Likewise. * modules/gethostname-tests (Files): Likewise. * modules/getline-tests (Files): Likewise. * modules/getopt-posix-tests (Files): Likewise. * modules/gettimeofday-tests (Files): Likewise. * modules/glob-tests (Files): Likewise. * modules/iconv-tests (Files): Likewise. * modules/inet_ntop-tests (Files): Likewise. * modules/inet_pton-tests (Files): Likewise. * modules/isblank-tests (Files): Likewise. * modules/lchown-tests (Files): Likewise. * modules/ldexpl-tests (Files): Likewise. * modules/link-tests (Files): Likewise. * modules/linkat-tests (Files): Likewise. * modules/lseek-tests (Files): Likewise. * modules/lstat-tests (Files): Likewise. * modules/mbrtowc-tests (Files): Likewise. * modules/mbsinit-tests (Files): Likewise. * modules/mbsnrtowcs-tests (Files): Likewise. * modules/mbsrtowcs-tests (Files): Likewise. * modules/memchr-tests (Files): Likewise. * modules/memcmp-tests (Files): Likewise. * modules/memmem-tests (Files): Likewise. * modules/memrchr-tests (Files): Likewise. * modules/mkdir-tests (Files): Likewise. * modules/mkfifo-tests (Files): Likewise. * modules/mkfifoat-tests (Files): Likewise. * modules/mknod-tests (Files): Likewise. * modules/nanosleep-tests (Files): Likewise. * modules/nl_langinfo-tests (Files): Likewise. * modules/obstack-printf-tests (Files): Likewise. * modules/open-tests (Files): Likewise. * modules/openat-tests (Files): Likewise. * modules/perror-tests (Files): Likewise. * modules/pipe2-tests (Files): Likewise. * modules/poll-tests (Files): Likewise. * modules/popen-tests (Files): Likewise. * modules/posix_spawn-tests (Files): Likewise. * modules/posix_spawnp-tests (Files): Likewise. * modules/pread-tests (Files): Likewise. * modules/printf-posix-tests (Files): Likewise. * modules/pty-tests (Files): Likewise. * modules/random_r-tests (Files): Likewise. * modules/rawmemchr-tests (Files): Likewise. * modules/readlink-tests (Files): Likewise. * modules/remove-tests (Files): Likewise. * modules/rename-tests (Files): Likewise. * modules/renameat-tests (Files): Likewise. * modules/rmdir-tests (Files): Likewise. * modules/round-tests (Files): Likewise. * modules/roundf-tests (Files): Likewise. * modules/roundl-tests (Files): Likewise. * modules/select-tests (Files): Likewise. * modules/setenv-tests (Files): Likewise. * modules/sigaction-tests (Files): Likewise. * modules/sleep-tests (Files): Likewise. * modules/snprintf-posix-tests (Files): Likewise. * modules/snprintf-tests (Files): Likewise. * modules/sprintf-posix-tests (Files): Likewise. * modules/stat-tests (Files): Likewise. * modules/strcasestr-tests (Files): Likewise. * modules/strchrnul-tests (Files): Likewise. * modules/strerror-tests (Files): Likewise. * modules/strsignal-tests (Files): Likewise. * modules/strstr-tests (Files): Likewise. * modules/strtod-tests (Files): Likewise. * modules/strverscmp-tests (Files): Likewise. * modules/symlink-tests (Files): Likewise. * modules/symlinkat-tests (Files): Likewise. * modules/times-tests (Files): Likewise. * modules/trunc-tests (Files): Likewise. * modules/truncf-tests (Files): Likewise. * modules/truncl-tests (Files): Likewise. * modules/tsearch-tests (Files): Likewise. * modules/uname-tests (Files): Likewise. * modules/unlink-tests (Files): Likewise. * modules/unsetenv-tests (Files): Likewise. * modules/usleep-tests (Files): Likewise. * modules/utimensat-tests (Files): Likewise. * modules/vasprintf-tests (Files): Likewise. * modules/vdprintf-posix-tests (Files): Likewise. * modules/vfprintf-posix-tests (Files): Likewise. * modules/vprintf-posix-tests (Files): Likewise. * modules/vsnprintf-posix-tests (Files): Likewise. * modules/vsnprintf-tests (Files): Likewise. * modules/vsprintf-posix-tests (Files): Likewise. * modules/wcrtomb-tests (Files): Likewise. * modules/wcsnrtombs-tests (Files): Likewise. * modules/wcsrtombs-tests (Files): Likewise. * modules/wcwidth-tests (Files): Likewise. * tests/test-isfinite.c (isfinite): Ensure macro declaration. * tests/test-isinf.c (isinf): Likewise. * tests/test-isnan.c (isnan): Likewise. * tests/test-signbit.c (signbit): Likewise. * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure declaration, either as macro or with correct signature. (select): Ensure function under test is declared with correct signature in correct header. * tests/test-atexit.c (atexit): Likewise. * tests/test-btowc.c (btowc): Likewise. * tests/test-canonicalize-lgpl.c (realpath) (canonicalize_file_name): Likewise. * tests/test-ceilf1.c (ceilf): Likewise. * tests/test-ceill.c (ceill): Likewise. * tests/test-chown.c (chown): Likewise. * tests/test-dprintf-posix.c (dprintf): Likewise. * tests/test-dup2.c (dup2): Likewise. * tests/test-dup3.c (dup3): Likewise. * tests/test-duplocale.c (duplocale): Likewise. * tests/test-fchdir.c (fchdir): Likewise. * tests/test-fchownat.c (fchownat): Likewise. * tests/test-fcntl.c (fcntl): Likewise. * tests/test-fdopendir.c (fdopendir): Likewise. * tests/test-fflush.c (fflush): Likewise. * tests/test-flock.c (flock): Likewise. * tests/test-floorf1.c (floorf): Likewise. * tests/test-floorl.c (floorl): Likewise. * tests/test-fnmatch.c (fnmatch): Likewise. * tests/test-fopen.c (fopen): Likewise. * tests/test-fprintf-posix.c (fprintf): Likewise. * tests/test-freopen.c (freopen): Likewise. * tests/test-frexp.c (frexp): Likewise. * tests/test-frexpl.c (frexpl): Likewise. * tests/test-fseek.c (fseek): Likewise. * tests/test-fseeko.c (fseeko): Likewise. * tests/test-fstatat.c (fstatat): Likewise. * tests/test-fsync.c (fsync): Likewise. * tests/test-ftell.c (ftell): Likewise. * tests/test-ftello.c (ftello): Likewise. * tests/test-futimens.c (futimens): Likewise. * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo) (gai_strerror): Likewise. * tests/test-getcwd.c (getcwd): Likewise. * tests/test-getdelim.c (getdelim): Likewise. * tests/test-getdtablesize.c (getdtablesize): Likewise. * tests/test-getgroups.c (getgroups): Likewise. * tests/test-gethostname.c (gethostname): Likewise. * tests/test-getline.c (getline): Likewise. * tests/test-getopt.c (getopt, getopt_long, getopt_long_only): Likewise. * tests/test-gettimeofday.c (gettimeofday): Likewise. * tests/test-glob.c (glob, globfree): Likewise. * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise. * tests/test-inet_ntop.c (inet_ntop): Likewise. * tests/test-inet_pton.c (inet_pton): Likewise. * tests/test-isblank.c (isblank): Likewise. * tests/test-lchown.c (lchown): Likewise. * tests/test-ldexpl.c (ldexpl): Likewise. * tests/test-link.c (link): Likewise. * tests/test-linkat.c (linkat): Likewise. * tests/test-lseek.c (lseek): Likewise. * tests/test-lstat.c (lstat): Likewise. * tests/test-mbrtowc.c (mbrtowc): Likewise. * tests/test-mbsinit.c (mbsinit): Likewise. * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise. * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise. * tests/test-memchr.c (memchr): Likewise. * tests/test-memcmp.c (memcmp): Likewise. * tests/test-memmem.c (memmem): Likewise. * tests/test-memrchr.c (memrchr): Likewise. * tests/test-mkdir.c (mkdir): Likewise. * tests/test-mkdirat.c (mkdirat): Likewise. * tests/test-mkfifo.c (mkfifo): Likewise. * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise. * tests/test-mknod.c (mknod): Likewise. * tests/test-nanosleep.c (nanosleep): Likewise. * tests/test-nl_langinfo.c (nl_langinfo): Likewise. * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf): Likewise. * tests/test-open.c (open): Likewise. * tests/test-openat.c (openat): Likewise. * tests/test-perror.c (perror): Likewise. * tests/test-pipe2.c (pipe2): Likewise. * tests/test-poll.c (poll): Likewise. * tests/test-popen.c (popen, pclose): Likewise. * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init) (posix_spawnattr_destroy, posix_spawnattr_setsigmask) (posix_spawnattr_setflags, posix_spawn_file_actions_init) (posix_spawn_file_actions_destroy) (posix_spawn_file_actions_addclose) (posix_spawn_file_actions_addopen) (posix_spawn_file_actions_adddup2): Likewise. * tests/test-posix_spawn3.c (posix_spawn): Likewise. * tests/test-pread.c (pread): Likewise. * tests/test-printf-posix.c (printf): Likewise. * tests/test-pty.c (openpty, forkpty): Likewise. * tests/test-random_r.c (srandom_r, initstate_r, setstate_r) (random_r): Likewise. * tests/test-rawmemchr.c (rawmemchr): Likewise. * tests/test-readlink.c (readlink): Likewise. * tests/test-remove.c (remove): Likewise. * tests/test-rename.c (rename): Likewise. * tests/test-renameat.c (renameat): Likewise. * tests/test-rmdir.c (rmdir): Likewise. * tests/test-round1.c (round): Likewise. * tests/test-roundf1.c (roundf): Likewise. * tests/test-roundl.c (roundl): Likewise. * tests/test-setenv.c (setenv): Likewise. * tests/test-sigaction.c (sigaction): Likewise. * tests/test-sleep.c (sleep): Likewise. * tests/test-snprintf.c (snprintf): Likewise. * tests/test-sprintf-posix.c (sprintf): Likewise. * tests/test-stat.c (stat): Likewise. * tests/test-stpncpy.c (stpncpy): Likewise. * tests/test-strcasestr.c (strcasestr): Likewise. * tests/test-strchrnul.c (strchrnul): Likewise. * tests/test-strerror.c (strerror): Likewise. * tests/test-strsignal.c (strsignal): Likewise. * tests/test-strstr.c (strstr): Likewise. * tests/test-strtod.c (strtod): Likewise. * tests/test-strverscmp.c (strverscmp): Likewise. * tests/test-symlink.c (symlink): Likewise. * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise. * tests/test-times.c (times): Likewise. * tests/test-trunc1.c (trunc): Likewise. * tests/test-truncf1.c (truncf): Likewise. * tests/test-truncl.c (truncl): Likewise. * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk): Likewise. * tests/test-uname.c (uname): Likewise. * tests/test-unlink.c (unlink): Likewise. * tests/test-unlinkat.c (unlinkat): Likewise. * tests/test-unsetenv.c (unsetenv): Likewise. * tests/test-usleep.c (usleep): Likewise. * tests/test-utimensat.c (utimensat): Likewise. * tests/test-vasprintf.c (asprintf, vasprintf): Likewise. * tests/test-vdprintf-posix.c (vdprintf): Likewise. * tests/test-vfprintf-posix.c (vfprintf): Likewise. * tests/test-vprintf-posix.c (vprintf): Likewise. * tests/test-vsnprintf.c (vsnprintf): Likewise. * tests/test-vsprintf-posix.c (vsprintf): Likewise. * tests/test-wcrtomb.c (wcrtomb): Likewise. * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise. * tests/test-wcsrtombs.c (wcsrtombs): Likewise. * tests/test-wcwidth.c (wcwidth): Likewise. build: pull in conditional headers during GNULIB_POSIXCHECK * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires definitions from any conditionally-included headers. * lib/stdlib.in.h (includes): Likewise. * lib/unistd.in.h (includes): Likewise. 2009-12-24 Bruno Haible * tests/test-argv-iter.c: Include header file being tested immediately after config.h. * tests/test-base64.c: Likewise. * tests/test-flock.c: Likewise. * tests/test-fsync.c: Likewise. * tests/test-getdate.c: Likewise. * tests/test-getndelim2.c: Likewise. * tests/test-isfinite.c: Likewise. * tests/test-isinf.c: Likewise. * tests/test-strerror.c: Likewise. * tests/test-strsignal.c: Likewise. 2009-12-23 Eric Blake unistd: work around cygwin bug * lib/unistd.in.h (includes): Pick up headers needed for cygwin. * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug. * doc/posix-functions/symlinkat.texi (symlinkat): Likewise. 2009-12-23 Bruno Haible localename: More tests. * tests/test-localename.c (SIZEOF): New macro. (categories): New variable. (test_locale_name, test_locale_name_posix, test_locale_name_environ, test_locale_name_default): Add test w.r.t. thread locale. (test_locale_name_thread): New function. (main): Invoke it. localename: Make aware of thread locale. * lib/localename.h (gl_locale_name_thread): New declaration. (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify behaviour with respect to thread locale. * lib/localename.c: Include , , , , glthread/lock.h. (SIZE_BITS): New macro. (string_hash): New function. (struct hash_node): New type. (HASH_TABLE_SIZE): New macro. (struniq_hash_table, struniq_lock): New variables. (struniq): New function. (gl_locale_name_thread): New function. (gl_locale_name): Invoke it. * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function. * modules/localename (Depends-on): Add lock. Reported by Mike Gran . 2009-12-23 Eric Blake va-args: new module * modules/va-args: New file. * m4/va-args.m4 (gl_VA_ARGS): Likewise. * MODULES.html.sh (Core language properties): Mention it. gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_ * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately named alias for __attribute__((__unused__)). * lib/chown.c: Update client. * lib/fchmodat.c: Likewise. * lib/fts.c: Likewise. * lib/getdate.y: Likewise. * lib/getgroups.c: Likewise. * lib/getopt.c: Likewise. * lib/getugroups.c: Likewise. * lib/mkdir.c: Likewise. * lib/mkfifo.c: Likewise. * lib/mkfifoat.c: Likewise. * lib/mknod.c: Likewise. * lib/mknodat.c: Likewise. * lib/readlink.c: Likewise. * lib/se-context.in.h: Likewise. * lib/se-selinux.in.h: Likewise. * lib/sockets.c: Likewise. * lib/symlink.c: Likewise. * lib/symlinkat.c: Likewise. * lib/unicodeio.c: Likewise. * lib/unistr.h: Likewise. * tests/test-areadlink.c: Likewise. * tests/test-areadlinkat.c: Likewise. * tests/test-filenamecat.c: Likewise. * tests/test-fseeko.c: Likewise. * tests/test-ftello.c: Likewise. * tests/test-getdate.c: Likewise. * tests/test-getgroups.c: Likewise. * tests/test-gethostname.c: Likewise. * tests/test-quotearg.c: Likewise. * tests/test-version-etc.c: Likewise. * tests/test-xalloc-die.c: Likewise. * tests/test-xfprintf-posix.c: Likewise. * tests/test-xprintf-posix.c: Likewise. * tests/test-xvasprintf.c: Likewise. tests: avoid compiler warnings * tests/test-fcntl.c (main): Delete unused parameters. * tests/test-freopen-safer.c (main): Likewise. * tests/test-xalloc-die.c (main): Mark unused parameters. * tests/test-fseeko.c (main): Likewise. * tests/test-ftello.c (main): Likewise. * tests/test-nanosleep.c (main): Avoid declaration warning. * tests/test-sleep.c (main): Likewise. * tests/test-unsetenv.c (main): Silence warning about string literal. * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise. 2009-12-23 Bruno Haible * tests/test-localename.c (test_locale_name): New function, extracted from main. Also test mixed situations. (test_locale_name_posix, test_locale_name_environ, test_locale_name_default): New functions. (main): Invoke them all. * modules/localename-tests (configure.ac): Test for newlocale. 2009-12-23 Bruno Haible unistd: Ensure getcwd gets declared before being overridden. * lib/unistd.in.h: Conditionally include . 2009-12-22 Bruno Haible wchar: Diagnose broken combination of glibc and gcc versions and flags. * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro. (gl_WCHAR_H): Invoke it. * m4/btowc.m4 (gl_FUNC_BTOWC): Require it. * doc/posix-headers/wchar.texi: Mention the interoperability problem. Reported by Karl Berry . 2009-12-22 Eric Blake math, unistd: avoid redundant includes * lib/math.in.h (isnan): No need to re-include . * lib/unistd.in.h (getcwd): Likewise, for . getsubopt: work around cygwin bug * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to avoid conflicting with system getsubopt. * doc/posix-functions/getsubopt.texi (getsubopt): Document the bug. getopt: synchronize from glibc * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap parameter order. Adjust all callers. (_getopt_internal_r, main): Adjust quoting in error messages. Drop considerations for outdated POSIX 1003.2 error message. * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust callers. * lib/getopt_int.h (_getopt_internal_r): Adjust prototype. test-getopt: test stderr behavior * modules/getopt-posix-tests (Depends-on): Add dup2. * tests/test-getopt.c (ASSERT): Avoid stderr. (main): Move stderr to a temporary file. * tests/test-getopt.h (getopt_loop): No longer manipulate opterr. Instead, add parameter to inform caller if output occurred. (test_getopt): Adjust all existing tests to expect silence, and add new tests of leading ":". * doc/glibc-functions/getopt_long.texi (getopt_long): Document glibc shortcomings with leading "-:" or "+:" in optstring. * doc/glibc-functions/getopt_long_only.texi (getopt_long_only): Likewise. * doc/posix-functions/getopt.texi (getopt): Likewise. test-getopt: enhance test * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long supports optind=0. * tests/test-getopt.c (OPTIND_MIN): Move... * tests/test-getopt.h (OPTIND_MIN): ...here. * tests/test-getopt_long.h (test_getopt_long): Add more coverage. Require that optind=0 works, since modern BSD supports it in addition to optreset, and since coreutils expects it. (test_getopt_long_only): New test. * doc/glibc-functions/getopt_long.texi (getopt_long): Document glibc shortcomings with 'W;', and enforcement of optind=0. * doc/glibc-functions/getopt_long_only.texi (getopt_long_only): Likewise. 2009-12-21 Bruno Haible localename: Improvements for MacOS X and Cygwin. * lib/localename.h (gl_locale_name_environ): New declaration. * lib/localename.c (gl_locale_name_environ): New function, extracted from gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin. (gl_locale_name_posix): Invoke it. (gl_locale_name_default): Add comments. Use Windows native API also on Cygwin. 2009-12-21 Bruno Haible Update list of Win32 locale ids. * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE. (LANG_SAMI): Renamed from LANG_SAAMI. (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC, LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN, LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF, LANG_DARI, LANG_SCOTTISH_GAELIC): New macros. (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA, SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA, SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA, SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE, SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE, SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA, SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE, SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK, SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES, SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA, SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN, SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS, SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA, SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND, SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN, SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY, SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA, SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA, SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND, SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA, SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA, SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA, SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA, SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY, SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA, SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA, SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE, SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL, SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA, SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND, SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY, SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND, SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN, SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN, SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND, SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA, SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA, SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA, SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA, SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN, SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA, SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA, SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN, SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY, SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM, SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA, SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA, SUBLANG_ZULU_SOUTH_AFRICA): New macros. (gl_locale_name_from_win32_LANGID): Handle also the territory neutral locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari, Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk, Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi. Add more languages and countries for Sami, Sorbian. Add more countries for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise for Pashto. Change country for Syriac, Tswana. 2009-12-21 Eric Blake test-utimens: avoid spurious failure * tests/test-chown.h (nap): Factor... * tests/nap.h: ...into new file. * tests/test-lchown.h (nap): Avoid duplication. * tests/test-utimens-common.h (nap): Use shared implementation, necessary on file systems with 1-second resolution. * modules/chown-tests (Files): Include new file. * modules/fdutimensat-tests (Files): Likewise. * modules/futimens-tests (Files): Likewise. * modules/lchown-tests (Files): Likewise. * modules/openat-tests (Files): Likewise. * modules/utimens-tests (Files): Likewise. * modules/utimensat-tests (Files): Likewise. 2009-12-19 Eric Blake futimens, utimensat: work around Linux bug * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug. * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise. * lib/utimensat.c (rpl_utimensat): Work around it. * lib/futimens.c (rpl_futimens): Adjust comment. utimens: work around Linux ctime bug * lib/utimens.c (detect_ctime_bug): New helper function. (update_timespec): Differentiate between workaround needed for this bug vs. what is needed for systems that lack utimensat. (fdutimens, lutimens): Work around bug. utimens: check for ctime update * tests/test-utimens-common.h (check_ctime): Define. * tests/test-utimens.h (test_utimens): Expose the Linux bug. * tests/test-futimens.h (test_futimens): Likewise. * tests/test-lutimens.h (test_lutimens): Likewise. * doc/posix-functions/futimens.texi (futimens): Document the bug. * doc/posix-functions/utimensat.texi (utimensat): Likewise. 2009-12-19 Bruno Haible dprintf-posix: Check against memory leak fixed on 2009-12-15. * tests/test-dprintf-posix2.sh: New file. * tests/test-dprintf-posix2.c: New file. * modules/dprintf-posix-tests (Files): Add them. (configure.ac): Check for getrlimit and setrlimit. (Makefile.am): Augment TESTS and CHECK_PROGRAMS. 2009-12-19 Bruno Haible fprintf-posix: Check against memory leak fixed on 2009-12-15. * tests/test-fprintf-posix3.sh: New file. * tests/test-fprintf-posix3.c: New file. * modules/fprintf-posix-tests (Files): Add them. (Makefile.am): Augment TESTS and CHECK_PROGRAMS. 2009-12-19 Eric Blake dirfd: fix prototype * lib/dirent.in.h (dirfd): Argument is not const, per POSIX. * lib/dirfd.c (dirfd): Likewise. canonicalize: reduce memory usage * lib/canonicalize.c (canonicalize_filename_mode): Trim the allocation to size. Reported by Solar Designer . 2009-12-19 Bruno Haible New module attribute 'Applicability'. * modules/TEMPLATE-EXTENDED: New field 'Applicability'. * gnulib-tool: New option --extract-applicability. (func_usage): Document it. (sed_extract_prog): Recognize it. (func_get_applicability): New function. (func_import): Generalize handling of 'link-warning' module. * modules/link-warning (Applicability): New section. * modules/arg-nonnull (Applicability): New section. Repoted by Simon Josefsson . 2009-12-19 Bruno Haible fflush: tweak * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin. * lib/fseeko.c (rpl_fseeko): Likewise. 2009-12-16 José E. Marchesi (tiny change) * lib/gl_list.h: Fix typo in comment. 2009-12-16 Eric Blake fcntl: use to simplify other modules * modules/cloexec (Depends-on): Add fcntl. * modules/fchdir (Depends-on): Likewise. * modules/fd-safer-flag (Depends-on): Likewise. * modules/unistd-safer (Depends-on): Likewise. * modules/dup3 (configure.ac): Set module indicator. * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is missing. * lib/fchdir.c (_gl_register_dup): Fix comment. * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl. * lib/dup-safer.c (dup_safer): Likewise. * lib/dup-safer-flag.c (dup_safer_flag): Likewise. * lib/dup3.c (dup3): Likewise. * tests/test-fchdir.c (main): Enhance test. Fixes a dup_cloexec bug reported by Ondřej Vašík. fcntl: port portions of fcntl to mingw * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw. * lib/fcntl.c (fcntl) : Provide replacement for mingw. * modules/fcntl (Description): Update. (Depends-on): Add dup2. * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness. * modules/fcntl-h (Makefile.am): Substitute it. * lib/fcntl.in.h (fcntl): Update declaration. (F_DUPFD, F_GETFD): New macros, when needed. * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation. * doc/posix-functions/fcntl.texi (fcntl): Likewise. * tests/test-fcntl.c (check_flags, main): Enhance test for items we now guarantee. fcntl: work around cygwin bug in F_DUPFD * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro. (gl_FUNC_FCNTL): Use it. Test for F_DUPFD bug. * lib/fcntl.c (rpl_fcntl) : Work around it. : Reduce calls to _gl_register_dup. * doc/posix-functions/fcntl.texi (fcntl): Document it. fcntl: support F_DUPFD_CLOEXEC on systems with fcntl * modules/fcntl (Files): List new files. (configure.ac): Run a test. * m4/fcntl.m4 (gl_FUNC_FCNTL): New file. * lib/fcntl.c (rpl_fcntl): Likewise. * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults. (gl_FCNTL_H): Always replace fcntl.h. * modules/fcntl-h (Makefile.am): Substitute witnesses. * lib/fcntl.in.h (fcntl): Declare replacement. (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when needed, plus a witness. * doc/posix-functions/fcntl.texi (fcntl): Document this. * doc/posix-headers/fcntl.texi (fcntl.h): Likewise. * tests/test-fcntl.c: New file. * modules/fcntl-tests: Likewise. binary-io: avoid potential compilation warning * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor directives. fflush: avoid compilation error on NetBSD * lib/fflush.c (update_fpos_cache): Use a union to safely convert between off_t and fpos_t, since the latter is sometimes a struct. * lib/fseeko.c (rpl_fseeko): Likewise. Reported by Alexander Nasonov . 2009-12-15 Eric Blake fcntl-h, stdio, sys_ioctl: fix declarations * lib/stdio.in.h (dprintf): Use of link warning on a variadic function must not take arguments. * lib/sys_ioctl.in.h (ioctl): Likewise. * lib/fcntl.in.h (openat): Likewise. Declare extern. (open): Add a link warning. 2009-12-15 Jim Meyering areadlink, areadlink-with-size: relax license to LGPLv2+ * modules/areadlink (License): Relax to LGPLv2+. * modules/areadlink-with-size (License): Likewise. 2009-12-15 Joel E. Denny Bruno Haible *printf: Fix memory leak. * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf. * lib/vfprintf.c (vfprintf): Likewise. * lib/dprintf.c (dprintf): Likewise. * lib/vdprintf.c (vdprintf): Likewise. 2009-12-14 Eric Blake accept4: adjust module dependencies * modules/accept4 (Depends-on): Use fcntl-h, not fcntl. utimens: one more try at avoiding compiler warning * lib/utimens.c (lutimens): Lower scope of result. 2009-12-13 Bruno Haible Move the malloc checking from module 'list' to new module 'xlist'. * modules/xlist: New file. * lib/gl_xlist.h: New file. * lib/gl_xlist.c: New file. * lib/gl_list.h (gl_list_create_empty, gl_list_create, gl_list_node_set_value, gl_list_set_at, gl_list_add_first, gl_list_add_last, gl_list_add_before, gl_list_add_after, gl_list_nx_add_at, gl_sortedlist_add): Disable declarations. (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value, gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last, gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at, gl_sortedlist_nx_add): New declarations. (struct gl_list_implementation): Rename and change methods accordingly. (gl_list_nx_create_empty): Renamed from gl_list_create_empty. (gl_list_nx_create): Renamed from gl_list_create. (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value. (gl_list_nx_set_at): Renamed from gl_list_set_at. (gl_list_nx_add_first): Renamed from gl_list_add_first. (gl_list_nx_add_last): Renamed from gl_list_add_last. (gl_list_nx_add_before): Renamed from gl_list_add_before. (gl_list_nx_add_after): Renamed from gl_list_add_after. (gl_list_nx_add_at): Renamed from gl_list_add_at. (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add. * lib/gl_list.c (gl_list_nx_create_empty): Renamed from gl_list_create_empty. (gl_list_nx_create): Renamed from gl_list_create. (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value. (gl_list_nx_set_at): Renamed from gl_list_set_at. (gl_list_nx_add_first): Renamed from gl_list_add_first. (gl_list_nx_add_last): Renamed from gl_list_add_last. (gl_list_nx_add_before): Renamed from gl_list_add_before. (gl_list_nx_add_after): Renamed from gl_list_add_after. (gl_list_nx_add_at): Renamed from gl_list_add_at. (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add. * lib/gl_array_list.c: Don't include xalloc.h. (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return NULL upon out-of-memory. (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon out-of-memory. (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value. Change return type to 'int'. (gl_array_nx_set_at): Renamed from gl_array_set_at. (grow): Change return type to 'int'. Return -1 upon out-of-memory. (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL upon out-of-memory. (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL upon out-of-memory. (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL upon out-of-memory. (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL upon out-of-memory. (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon out-of-memory. (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add. Update. (gl_array_list_implementation): Update. * lib/gl_carray_list.c: Don't include xalloc.h. (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty. Return NULL upon out-of-memory. (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon out-of-memory. (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value. Change return type to 'int'. (gl_carray_nx_set_at): Renamed from gl_carray_set_at. (grow): Change return type to 'int'. Return -1 upon out-of-memory. (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL upon out-of-memory. (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL upon out-of-memory. (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon out-of-memory. (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update. (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update. (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add. Update. (gl_carray_list_implementation): Update. * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory. * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from gl_linked_create_empty. Return NULL upon out-of-memory. (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon out-of-memory. (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value. Change return type to 'int'. Return -1 upon out-of-memory. (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon out-of-memory. (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL upon out-of-memory. (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL upon out-of-memory. (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return NULL upon out-of-memory. (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL upon out-of-memory. (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon out-of-memory. (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add. Update. * lib/gl_linked_list.c: Don't include xalloc.h. (gl_linked_list_implementation): Update. * lib/gl_linkedhash_list.c: Don't include xalloc.h. (add_to_bucket): Change return type to 'int'. (gl_linkedhash_list_implementation): Update. * lib/gl_anytree_list1.h (free_subtree): New function. * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from gl_tree_create_empty. Return NULL upon out-of-memory. (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value. Change return type to 'int'. Return -1 upon out-of-memory. (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon out-of-memory. (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update. (gl_tree_remove_node): New function, moved here from lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h. (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add. Update. * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use malloc, not xmalloc. Return NULL upon out-of-memory. (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon out-of-memory. (gl_tree_remove_node_from_tree): New function, extracted from gl_tree_remove_node. (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL upon out-of-memory. (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon out-of-memory. (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL upon out-of-memory. (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL upon out-of-memory. (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h. * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc, not xmalloc. Return NULL upon out-of-memory. (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon out-of-memory. (gl_tree_remove_node_from_tree): New function, extracted from gl_tree_remove_node. (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL upon out-of-memory. (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon out-of-memory. (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL upon out-of-memory. (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL upon out-of-memory. (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h. * lib/gl_avltree_list.c: Don't include xalloc.h. Include gl_anytree_list1.h before gl_anyavltree_list2.h. (gl_avltree_list_implementation): Update. * lib/gl_rbtree_list.c: Don't include xalloc.h. Include gl_anytree_list1.h before gl_anyavltree_list2.h. (gl_rbtree_list_implementation): Update. * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets): Change return type to 'int'. Return -1 upon out-of-memory. Use __builtin_expect. * lib/gl_avltreehash_list.c: Don't include xalloc.h. (gl_avltreehash_list_implementation): Update. * lib/gl_rbtreehash_list.c: Don't include xalloc.h. (gl_rbtreehash_list_implementation): Update. * modules/array-list (Depends-on): Remove xalloc. * modules/carray-list (Depends-on): Likewise. * modules/linked-list (Depends-on): Likewise. * modules/linkedhash-list (Depends-on): Likewise. * modules/avltree-list (Depends-on): Likewise. * modules/rbtree-list (Depends-on): Likewise. * modules/avltreehash-list (Depends-on): Likewise. * modules/rbtreehash-list (Depends-on): Likewise. * modules/xsublist: New file. * lib/gl_xsublist.h: New file. * lib/gl_xsublist.c: New file. * lib/gl_sublist.h (gl_sublist_create): Disable declaration. (gl_sublist_nx_create): New declaration. * lib/gl_sublist.c: Don't include xalloc.h. (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty. (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill. (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value. Change return type to 'int'. Return -1 upon out-of-memory. (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL upon out-of-memory. (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return NULL upon out-of-memory. (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL upon out-of-memory. (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return NULL upon out-of-memory. (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return NULL upon out-of-memory. (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL upon out-of-memory. (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add. (gl_sublist_list_implementation): Update. (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL upon out-of-memory. * modules/sublist (Depends-on): Remove xalloc. * tests/test-array_list.c: Use gl_list_nx_* functions where possible. * tests/test-carray_list.c: Likewise. * tests/test-linked_list.c: Likewise. * tests/test-linkedhash_list.c: Likewise. * tests/test-avltree_list.c: Likewise. * tests/test-rbtree_list.c: Likewise. * tests/test-avltreehash_list.c: Likewise. * tests/test-rbtreehash_list.c: Likewise. * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@. * modules/carray-list-tests (Makefile.am): Likewise. * modules/linked-list-tests (Makefile.am): Likewise. * modules/linkedhash-list-tests (Makefile.am): Likewise. * modules/avltree-list-tests (Makefile.am): Likewise. * modules/rbtree-list-tests (Makefile.am): Likewise. * modules/avltreehash-list-tests (Makefile.am): Likewise. * modules/rbtreehash-list-tests (Makefile.am): Likewise. * NEWS: Mention the changes. * lib/clean-temp.c: Include gl_xlist.h. * modules/clean-temp (Depends-on): Add xlist. * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h. * modules/git-merge-changelog (Depends-on): Add xlist. Remove list. * tests/test-array_oset.c: Include gl_xlist.h. * modules/array-oset-tests (Depends-on): Add xlist. Reported by José E. Marchesi . 2009-12-13 Bruno Haible Move the malloc checking from module 'oset' to new module 'xoset'. * modules/xoset: New file. * lib/gl_xoset.h: New file. * lib/gl_xoset.c: New file. * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable declarations. (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations. (struct gl_oset_implementation): Rename and change methods accordingly. (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty. (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to 'int'. Mark as __warn_unused_result__. * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty. (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to 'int'. * lib/gl_array_oset.c: Don't include xalloc.h. (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use malloc, not xmalloc. (grow): Change return type to 'int'. Don't call xalloc_die. (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type to 'int'. (gl_array_nx_add): Renamed from gl_array_add. Change return type to 'int'. (gl_array_oset_implementation): Update. * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from gl_tree_create_empty. (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to 'int'. * lib/gl_avltree_oset.c: Don't include xalloc.h. (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not xmalloc. (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc, not xmalloc. (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not xmalloc. (gl_avltree_oset_implementation): Update. * lib/gl_rbtree_oset.c: Don't include xalloc.h. (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not xmalloc. (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc, not xmalloc. (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not xmalloc. (gl_rbtree_oset_implementation): Update. * modules/array-oset (Depends-on): Remove xalloc. * modules/avltree-oset (Depends-on): Likewise. * modules/rbtree-oset (Depends-on): Likewise. * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible. * tests/test-avltree_oset.c: Likewise. * tests/test-rbtree_oset.c: Likewise. * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise. * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@. * modules/rbtree-oset-tests (Makefile.am): Likewise. * NEWS: Mention the change. 2009-12-05 Alfred M. Szmidt maint.mk: allow a project to override release-prep commands * top/maint.mk (alpha, beta, stable): Move release-preparatory commands into a new rule. (release-prep): New rule. (release-prep-hook): New overridable variable. 2009-12-13 Bruno Haible * lib/localcharset.c (locale_charset): Fix comment about use of GetACP. 2009-12-13 Jim Meyering maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions. 2009-12-12 Bruno Haible duplocale: Tweak. * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'. 2009-12-12 Karl Berry * config/srclist.txt (strtoll.c): tab changes, no more sync. 2009-12-12 Bruno Haible * m4/po.m4: Undo incorrect untabification. 2009-12-12 Bruno Haible c-strtod, c-strtold: Use multithread-safe implementation on MacOS X. * modules/c-strtod (Depends-on): Add locale. * modules/c-strtold (Depends-on): Likewise. 2009-12-12 Bruno Haible * lib/localcharset.c (locale_charset): Add comment about use of GetACP. 2009-12-11 Eric Blake setenv: relax requirement in light of POSIX ruling * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but not NULL. * tests/test-setenv.c (main): Relax test. * tests/test-unsetenv.c (main): Likewise. * doc/posix-functions/setenv.texi (setenv): Document this. * doc/posix-functions/unsetenv.texi (unsetenv): Likewise. 2009-12-11 Bruno Haible New module 'fd-safer-flag'. * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c. * lib/dup-safer.c (dup_safer_flag): Remove function. * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c. * lib/fd-safer.c (fd_safer_flag): Remove function. * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition. * modules/cloexec (configure.ac): Drop indicator macro. * modules/fd-safer-flag: New file. * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec. * modules/stdlib-safer (Depends-on): Add fd-safer-flag. * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag. 2009-12-11 Bruno Haible Tests for module 'nl_langinfo'. * modules/nl_langinfo-tests: New file. * tests/test-nl_langinfo.sh: New file. * tests/test-nl_langinfo.c: New file. New module 'nl_langinfo'. * lib/nl_langinfo.c: New file. * m4/nl_langinfo.m4: New file. * modules/nl_langinfo: New file. * doc/posix-functions/nl_langinfo.texi: Mention the new module. 2009-12-11 Bruno Haible Tests for module 'langinfo'. * modules/langinfo-tests: New file. * tests/test-langinfo.c: New file. New module 'langinfo'. * lib/langinfo.in.h: New file. * m4/langinfo_h.m4: New file. * modules/langinfo: New file. * doc/posix-headers/langinfo.texi: Mention the new module. 2009-12-11 Bruno Haible * lib/config.charset: Untabify. 2009-12-11 Bruno Haible * modules/unistd-safer (configure.ac): Drop indicator macro. 2009-12-11 Bruno Haible Move pipe2-safer code to its own file. * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c. * lib/pipe-safer.c (pipe2_safer): Remove function. * modules/pipe2-safer (Files): Add lib/pipe2-safer.c. (Makefile.am): Add it to lib_SOURCES. 2009-12-10 Bruno Haible * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL. 2009-12-10 Bruno Haible Declare which arguments expect non-NULL values, for GCC and clang. * build-aux/arg-nonnull.h: New file. * modules/arg-nonnull: New file. * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder. (inet_ntop, inet_pton): Use it. * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder. (closedir, dirfd, opendir, scandir, alphasort): Use it. * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder. (open, openat): Use it. * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder. (fnmatch): Use it. * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder. (getopt, getopt_long, getopt_long_only): Use it. * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder. * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p): Use it. * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder. (iconv_open): Use it. * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder. (strtoimax, strtoumax): Use it. * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder. (duplocale): Use it. * lib/math.in.h (_GL_ARG_NONNULL): New placeholder. (frexp, frexpl): Use it. * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder. (getaddrinfo, freeaddrinfo, getnameinfo): Use it. * lib/search.in.h (_GL_ARG_NONNULL): New placeholder. (tsearch, tfind, tdelete, twalk): Use it. * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder. (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset, sigpending): Use it. * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder. (posix_spawn, posix_spawnp, posix_spawnattr_init, posix_spawnattr_destroy, posix_spawnattr_getsigdefault, posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask, posix_spawnattr_setsigmask, posix_spawnattr_getflags, posix_spawnattr_setflags, posix_spawnattr_getpgroup, posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam, posix_spawnattr_setschedparam, posix_spawn_file_actions_init, posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen, posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2): Use it. * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder. (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen, rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline, obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): Use it. * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder. (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r, setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll, strtoull, unsetenv): Use it. * lib/string.in.h (_GL_ARG_NONNULL): New placeholder. (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy, strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr, strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr, mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk, mbsspn, mbssep, mbstok_r, strverscmp): Use it. * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder. (strcasecmp, strncasecmp): Use it. * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder. (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Use it. * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder. (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo, mkfifoat, mknod, mknodat, stat, utimensat): Use it. * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder. (gettimeofday): Use it. * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder. (times): Use it. * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder. (uname): Use it. * lib/time.in.h (_GL_ARG_NONNULL): New placeholder. (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it. * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder. (chown, euidaccess, faccessat, _gl_register_fd, fchownat, getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2, pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink, unlinkat, write): Use it. * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder. (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it. * lib/argv-iter.h: Include arg-nonnull.h. (_ATTRIBUTE_NONNULL_): Remove macro. (argv_iter_init_argv, argv_iter_init_stream, argv_iter, argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL. * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc optimization. * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise. * lib/getdelim.c (_GL_ARG_NONNULL): Likewise. * lib/glob.c (_GL_ARG_NONNULL): Likewise. * lib/random_r.c (_GL_ARG_NONNULL): Likewise. * lib/setenv.c (_GL_ARG_NONNULL): Likewise. * lib/strtod.c (_GL_ARG_NONNULL): Likewise. * lib/tsearch.c (_GL_ARG_NONNULL): Likewise. * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise. * modules/arpa_inet (Depends-on): Add arg-nonnull. (Makefile.am): Insert arg-nonnull.h into arpa/inet.h. * modules/dirent (Depends-on): Add arg-nonnull. (Makefile.am): Insert arg-nonnull.h into dirent.h. * modules/fcntl-h (Depends-on): Add arg-nonnull. (Makefile.am): Insert arg-nonnull.h into fcntl.h. * modules/fnmatch (Depends-on): Add arg-nonnull. (Makefile.am): Insert arg-nonnull.h into fnmatch.h. * modules/getopt-posix (Depends-on): Add arg-nonnull. (Makefile.am): Insert arg-nonnull.h into getopt.h. * modules/glob (Depends-on): Add arg-nonnull. (Makefile.am): Insert arg-nonnull.h into glob.h. * modules/iconv_open (Depends-on): Add arg-nonnull. (Makefile.am): Insert arg-nonnull.h into iconv.h. * modules/inttypes (Depends-on): Add arg-nonnull. (Makefile.am): Insert arg-nonnull.h into inttypes.h. * modules/locale (Depends-on): Add arg-nonnull. (Makefile.am): Insert arg-nonnull.h into locale.h. * modules/math (Depends-on): Add arg-nonnull. (Makefile.am): Insert arg-nonnull.h into math.h. * modules/netdb (Depends-on): Add arg-nonnull. (Makefile.am): Insert arg-nonnull.h into netdb.h. * modules/search (Depends-on): Add arg-nonnull. (Makefile.am): Insert arg-nonnull.h into search.h. * modules/signal (Depends-on): Add arg-nonnull. (Makefile.am): Insert arg-nonnull.h into signal.h. * modules/spawn (Depends-on): Add arg-nonnull. (Makefile.am): Insert arg-nonnull.h into spawn.h. * modules/stdio (Depends-on): Add arg-nonnull. (Makefile.am): Insert arg-nonnull.h into stdio.h. * modules/stdlib (Depends-on): Add arg-nonnull. (Makefile.am): Insert arg-nonnull.h into stdlib.h. * modules/string (Depends-on): Add arg-nonnull. (Makefile.am): Insert arg-nonnull.h into string.h. * modules/strings (Depends-on): Add arg-nonnull. (Makefile.am): Insert arg-nonnull.h into strings.h. * modules/sys_socket (Depends-on): Add arg-nonnull. (Makefile.am): Insert arg-nonnull.h into sys/socket.h. * modules/sys_stat (Depends-on): Add arg-nonnull. (Makefile.am): Insert arg-nonnull.h into sys/stat.h. * modules/sys_time (Depends-on): Add arg-nonnull. (Makefile.am): Insert arg-nonnull.h into sys/time.h. * modules/sys_times (Depends-on): Add arg-nonnull. (Makefile.am): Insert arg-nonnull.h into sys/times.h. * modules/sys_utsname (Depends-on): Add arg-nonnull. (Makefile.am): Insert arg-nonnull.h into sys/utsname.h. * modules/time (Depends-on): Add arg-nonnull. (Makefile.am): Insert arg-nonnull.h into time.h. * modules/unistd (Depends-on): Add arg-nonnull. (Makefile.am): Insert arg-nonnull.h into unistd.h. * modules/wchar (Depends-on): Add arg-nonnull. (Makefile.am): Insert arg-nonnull.h into wchar.h. * modules/argv-iter (Depends-on): Add arg-nonnull. * tests/test-canonicalize.c (null_ptr): New function. (main): Use it. * tests/test-canonicalize-lgpl.c (null_ptr): New function. (main): Use it. * tests/test-memmem.c (null_ptr): New function. (main): Use it. Reported by Jim Meyering. 2009-12-10 Bruno Haible Use spaces for indentation, not tabs. * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify. * m4/*.m4: Untabify. * build-aux/*.h: Untabify. * tests/**/*.[hc]: Untabify. * README: New section "Indent with spaces, not TABs", based on coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini. * NEWS: Mention the change. 2009-12-10 Bruno Haible pty test: Fix link error. * modules/pty-tests (Makefile.am): Add the default LDADD value to test_pty_LDADD. 2009-12-07 Simon Josefsson * modules/pty: New file. * modules/pty-tests: New file. * m4/pty.m4: New file. * tests/test-pty.c: New file. * doc/glibc-headers/pty.texi: Modified. * doc/glibc-functions/forkpty.texi: Modified. * doc/glibc-functions/openpty.texi: Modified. 2009-12-10 Bruno Haible Avoid syntax error in C++ mode. * lib/stdio.in.h (rename): Don't use parameter name 'new'. 2009-12-10 Bruno Haible Use sed with option -e. * gnulib-tool (func_version, func_emit_copyright_notice, func_emit_initmacro_end, func_import, func_create_testdir): Pass option -e to sed. * modules/link-warning (Makefile.am): Likewise. 2009-12-10 Jim Meyering mgetgroups: do not write bytes beyond end of malloc'd buffer * lib/mgetgroups.c: Fix an off-by-one error. When we have no username, we call getgroups with a one-element-shorter buffer, but still told it the length was original, max_n_groups. 2009-12-09 Eric Blake cloexec: relax license * modules/cloexec (Maintainer): Add myself. (License): Use LGPL, not GPL. link-warning: optimize generation * modules/link-warning (Makefile.am): Reduce process usage. 2009-12-09 Bruno Haible * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a workaround was added on 2009-11-17. 2009-12-09 Jim Meyering Bruno Haible link-warning: Allow extra lines at the top of build-aux/link-warning.h. * modules/link-warning (Makefile.am): Make the comment-removing sed command more robust in the face of bootstrap-prepended comment lines. 2009-12-09 Bruno Haible * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at most one group. 2009-12-09 Simon Josefsson Bruno Haible * build-aux/link-warning.h: Add copyright notice. * modules/link-warning (Makefile.am): Generate link-warning.h from build-aux/link-warning.h. Update LINK_WARNING_H accordingly. * NEWS: Mention change in link-warning module. * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h. * modules/dirent (Makefile.am): Add dependency to dirent.h. * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h. * modules/getopt-posix (Makefile.am): Add dependency to getopt.h. * modules/inttypes (Makefile.am): Add dependency to inttypes.h. * modules/math (Makefile.am): Add dependency to math.h. * modules/search (Makefile.am): Add dependency to search.h. * modules/signal (Makefile.am): Add dependency to signal.h. * modules/spawn (Makefile.am): Add dependency to spawn.h. * modules/stdio (Makefile.am): Add dependency to stdio.h. * modules/stdlib (Makefile.am): Add dependency to stdlib.h. * modules/string (Makefile.am): Add dependency to string.h. * modules/strings (Makefile.am): Add dependency to strings.h. * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h. * modules/sys_select (Makefile.am): Add dependency to sys/select.h. * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h. * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h. * modules/sys_times (Makefile.am): Add dependency to sys/times.h. * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h. * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h. * modules/unistd (Makefile.am): Add dependency to unistd.h. * modules/wchar (Makefile.am): Add dependency to wchar.h. 2009-12-09 Bruno Haible fchdir: Optimize away rpl_fstat when possible. * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with REPLACE_OPEN_DIRECTORY. * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY. 2009-12-09 Bruno Haible * lib/fchdir.c: Update comment. 2009-12-09 Bruno Haible * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call. 2009-12-08 Eric Blake fchdir: avoid memory leak on re-registration. * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak. 2009-12-08 Jim Meyering init.sh: avoid Solaris 10 /bin/sh portability problem Solaris 10's /bin/sh does not pass '.' arguments 2.. to the sourced script: $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar' $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar' bar tests/init.sh relied on that, accepting a --set-path=DIR argument, and two tests used that idiom. * tests/init.sh: Update suggested usage comments. (path_prepend_): New function, to be used in place of the --src-path=DIR option. (setup_): Move PATH-prepending code into path_prepend_. * tests/test-pread.sh: Adapt to new usage. * tests/test-xalloc-die.sh: Likewise. 2009-12-08 Simon Josefsson * doc/gnulib.texi (Glibc pty.h): Add. * doc/glibc-functions/forkpty.texi: Add. * doc/glibc-functions/openpty.texi: Add. Suggested by Bruno Haible. 2009-12-08 Eric Blake fchdir: fix logic bugs * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug. * tests/test-fchdir.c (main): Enhance test. * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement is in use. dup2: fix logic bugs * lib/dup2.c (dup2): Fix logic bugs. Use HAVE_DUP2 rather than REPLACE_DUP2 to decide when rpl_dup2 is needed. * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2 exists. (gl_FUNC_DUP2): Drop unneeded AC_DEFINE. 2009-12-07 Eric Blake unlink: fix m4 detection * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header. unistd-safer: add unit test * modules/unistd-safer-tests: New file. * tests/test-dup-safer.c: Likewise. * tests/test-cloexec.c (setmode): Avoid compiler warning. * tests/test-dup2.c (setmode): Likewise. * lib/cloexec.c (dup_cloexec): Fix mingw compile error. cloexec: preserve text vs. binary across dup_cloexec * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation mode. * modules/dup2-tests (Depends-on): Add binary-io. * modules/cloexec-tests (Depends-on): Likewise. * tests/test-dup2.c (setmode, is_mode): New helpers. (main): Add tests that translation mode is preserved. * tests/test-cloexec.c (setmode, is_mode, main): Likewise. Reported by Bruno Haible. mgetgroups: reduce duplicate listings * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the resulting array. * tests/test-chown.h (test_chown): Simplify client. * tests/test-lchown.h (test_lchown): Likewise. 2009-12-06 Bruno Haible * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return value. 2009-12-06 Bruno Haible * lib/progname.c: Include stdio.h, stdlib.h. (set_program_name): Reject a NULL argument. 2009-12-05 Eric Blake pipe2-safer: new module * modules/pipe2-safer: New file. * lib/unistd-safer.h (pipe2_safer): New prototype. * lib/unistd--.h (pipe2): New wrapper. * lib/pipe-safer.c (pipe2_safer): New function. * modules/pipe (Depends-on): Add pipe2-safer. * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work. stdlib-safer: preserve cloexec flag for mkostemp[s] * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new fd_safer_flag. unistd-safer: allow preservation of cloexec status via flag * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New prototypes. * lib/dup-safer.c (dup_safer_flag): New function. * lib/fd-safer.c (fd_safer_flag): Likewise. * modules/cloexec (configure.ac): Set witness. test-dup2: enhance test * modules/dup2-tests (Depends-on): Add cloexec. * tests/test-dup2.c (main): Enhance test. cloexec: add dup_cloexec * lib/cloexec.h (dup_cloexec): New prototype. Add copyright header and comments. * lib/cloexec.c (set_cloexec_flag): Add comments. (dup_cloexec): New function, with mingw implementation borrowed from... * lib/w32spawn.h (dup_noinherit): ...here. * modules/execute (Depends-on): Add cloexec. * modules/pipe (Depends-on): Likewise. * modules/cloexec (Depends-on): Add dup2. * modules/cloexec-tests (Files): New file. * tests/test-cloexec.c: Likewise. test-xalloc-die: fix test for mingw * modules/xalloc-die-tests (Files): Add tests/init.sh. * tests/test-xalloc-die.sh: Rewrite to use init.sh. Strip directory and .exe suffix off argv[0] output. test-fseeko: fix test for mingw * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather than undefining fseek, so test will pass on mingw. 2009-12-05 Bruno Haible * lib/progname.h (set_program_name): Clarify specification. * lib/progname.c (set_program_name): Likewise. Reported by Jim Meyering. 2009-12-05 Jim Meyering maint.mk: backslash-escape parens in default regexp * top/maint.mk (news-check-regexp): Now that we're using grep -E, backslash-escape the literal parentheses. maint.mk: news-date-check: use grep -E * top/maint.mk (today): Define a Make variable, not a... (news-date-check): ...shell variable. (news-date-regexp): Use the Make variable. Use grep's -E option. Change the failing diagnostic to mention the variable, $(news-date-regexp). 2009-12-04 Alfred M. Szmidt maintainer-makefile: allow customization of NEWS entry format * top/maint.mk (news-date-regexp): New overridable variable. (news-date-check): Use it. 2009-12-04 Eric Blake mgetgroups: add xgetgroups, and avoid ENOSYS failures * lib/mgetgroups.h (xgetgroups): New prototype. * lib/mgetgroups.c (xgetgroups): New wrapper. (mgetgroups): Handle ENOSYS. * modules/mgetgroups (Depends-on): Add realloc. Reported by Scott Harrison . mgetgroups: avoid argument promotion issues with -1 * lib/mgetgroups.c (mgetgroups): A cast is required when checking for invalid gid_t. * tests/test-chown.h (getegid, test_chown): Likewise. * tests/test-lchown.h (getegid, test_lchown): Likewise. 2009-12-03 Paolo Bonzini exclude: Fix header file problems. * lib/exclude.h: Add multiple inclusion guards and include stdbool.h. 2009-12-01 Jim Meyering fts: fts_open: do not let an empty string cause immediate failure This is required in support of GNU rm, for which the command "rm A '' B" must process and remove both A and B, in spite of the empty string argument. * lib/fts.c (fts_open): Do not let the presence of an empty string cause fts_open to fail immediately. Most fts-using tools must be able to process all arguments, in order, and can be expected to diagnose such arguments themselves. 2009-11-30 Eric Blake utimens: fix compilation error * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]: Declare variable at right scope. 2009-11-29 Jim Meyering bootstrap: handle perl-5.11's changed --version output * build-aux/bootstrap (get_version): Handle perl separately, since perl-5.11's --version output is different. 2009-11-28 Jim Meyering userspec: depend on the inttostr module, too * modules/userspec (Depends-on): Add inttostr. userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1 * lib/userspec.c (parse_with_separator): Do not accept a user ID number of MAXUID when it evaluates to (uid_t) -1. Likewise for group ID. Reported by Matt McCutchen in userspec: reformat to use spaces, not TABs * lib/userspec.c: Expand TABs to spaces. Add Emacs' "indent-tabs-mode: nil" hint. 2009-11-27 Eric Blake getopt-gnu: flush out another BSD bug * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug. * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to flush out BSD bug. * tests/test-getopt.h (test_getopt): End lists with NULL. * tests/test-getopt_long.h (test_getopt_long): Likewise. (test_getopt_long_posix): Enhance test. * modules/getopt-posix-tests (Depends-on): Add stdbool. * doc/glibc-functions/getopt_long.texi (getopt_long): Mention getopt-gnu. * doc/glibc-functions/getopt_long_only.texi (getopt_long_only): Likewise. 2009-11-27 Simon Josefsson * modules/idpriv-droptemp-tests (Notice): Fix text. 2009-11-27 Jim Meyering test-xalloc-die: avoid spurious failure due to libtool argv difference In a libtool-enabled project, this test would fail due to a difference in the emitted program name, e.g., -test-xalloc-die: memory exhausted +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted Use program to avoid that. * modules/xalloc-die-tests (Depends-on): Add progname. * tests/test-xalloc-die.c: Include progname.h". (program_name): Remove decl. (main): Call set_program_name. * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}. 2009-11-26 Richard Jones w32sock: leave win32 error in place. * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError. 2009-11-26 Eric Blake init.sh: suggest to use skip_ and fail_ functions in comments * tests/init.sh: Add a sentence. 2009-11-25 Bruno Haible init.sh: add documentation in comments * tests/init.sh: Add some developer and user documentation. 2009-11-26 Jim Meyering init.sh: accommodate even those who specify bogus srcdir manually * tests/init.sh: Normally, srcdir is guaranteed by automake and configure-time tests to be sanitized, so that there is no need to use "$srcdir" in Makefile rules and shell scripts. Using $srcdir (with no double quotes) suffices. However, since tests may be invoked manually, and since you may explicitly set srcdir to the name of a directory containing spaces, do quote its uses here. * tests/test-pread.sh: Likewise. Suggested by Bruno Haible. test-pread.sh: avoid diagnostics for those who ignore SIGPIPE * tests/test-pread.sh: Write no data into the pipe, because test-pread actually reads none. This avoids a diagnostic, "bash: echo: write error: Broken pipe", that arises in the unusual event something is ignoring SIGPIPE, and might be interpreted as some sort of failure. Reported by Bruno Haible. 2009-11-25 Jim Meyering test-pread: cover failure with ESPIPE and EINVAL * tests/test-pread.c (main): Test for failure, too. * tests/test-pread.sh: Invoke with stdin on a pipe. Suggested by Eric Blake. pread: improvement and fix * modules/pread (Depends-on): Depend on lseek, for portability to e.g., mingw. Suggested by Eric Blake. * lib/pread.c (__libc_read): Define. Reported by Richard W.M. Jones. unistd.in.h: correct declaration of pread * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char* Reported by Richard W.M. Jones. test-pread.sh: distribute the test script * modules/pread-tests (Files): Include test-pread.sh. test-pread.sh: clean up * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".". * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir. That is unnecessary, since it's always ".". Suggestion from Eric Blake. test-pread.sh: make executable * tests/test-pread.sh: Set executable bit. Reported by Eric Blake. correct typo in test-pread.sh * tests/test-pread.sh: Add #! line. test pread * tests/test-pread.c: New file. * tests/test-pread.sh: Likewise. * modules/pread-tests: Likewise. pread: new module * modules/pread: New file. * lib/unistd.in.h (pread): Define/declare. * lib/pread.c (pread): New file. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults. * modules/unistd (Makefile.am): Substitute witnesses. * doc/posix-functions/pread.texi (pread): Update. * MODULES.html.sh: Add pread. 2009-11-25 Jim Meyering tests/init.sh: new file to be used via most *.sh tests * tests/init.sh: New file. 2009-11-25 Eric Blake utimens: work around older Linux failure with symlinks * lib/utimens.c (lutimensat_works_really): New variable. (fdutimens, lutimens): Use it to manage kernels that support nanosecond times on files, but not on symlinks. Reported by Ondřej Vašík. utimes: fix configure grammar * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word. 2009-11-25 Paolo Bonzini regex: Fix fastmap for multibyte character ranges. * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead characters when a multibyte character range is included. 2009-11-22 Andy Wingo version-etc: work also with AM_INIT_AUTOMAKE's no-define option * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME. 2009-11-24 Bruno Haible doc: Most *_l functions exist in MacOS X 10.5. * doc/posix-functions/duplocale.texi: Update platforms list. * doc/posix-functions/freelocale.texi: Likewise. * doc/posix-functions/newlocale.texi: Likewise. * doc/posix-functions/uselocale.texi: Likewise. * doc/posix-functions/isalnum_l.texi: Likewise. * doc/posix-functions/isalpha_l.texi: Likewise. * doc/posix-functions/isblank_l.texi: Likewise. * doc/posix-functions/iscntrl_l.texi: Likewise. * doc/posix-functions/isdigit_l.texi: Likewise. * doc/posix-functions/isgraph_l.texi: Likewise. * doc/posix-functions/islower_l.texi: Likewise. * doc/posix-functions/isprint_l.texi: Likewise. * doc/posix-functions/ispunct_l.texi: Likewise. * doc/posix-functions/isspace_l.texi: Likewise. * doc/posix-functions/isupper_l.texi: Likewise. * doc/posix-functions/iswalnum_l.texi: Likewise. * doc/posix-functions/iswalpha_l.texi: Likewise. * doc/posix-functions/iswblank_l.texi: Likewise. * doc/posix-functions/iswcntrl_l.texi: Likewise. * doc/posix-functions/iswctype_l.texi: Likewise. * doc/posix-functions/iswdigit_l.texi: Likewise. * doc/posix-functions/iswgraph_l.texi: Likewise. * doc/posix-functions/iswlower_l.texi: Likewise. * doc/posix-functions/iswprint_l.texi: Likewise. * doc/posix-functions/iswpunct_l.texi: Likewise. * doc/posix-functions/iswspace_l.texi: Likewise. * doc/posix-functions/iswupper_l.texi: Likewise. * doc/posix-functions/iswxdigit_l.texi: Likewise. * doc/posix-functions/isxdigit_l.texi: Likewise. * doc/posix-functions/nl_langinfo_l.texi: Likewise. * doc/posix-functions/strcasecmp_l.texi: Likewise. * doc/posix-functions/strcoll_l.texi: Likewise. * doc/posix-functions/strfmon_l.texi: Likewise. * doc/posix-functions/strftime_l.texi: Likewise. * doc/posix-functions/strncasecmp_l.texi: Likewise. * doc/posix-functions/strxfrm_l.texi: Likewise. * doc/posix-functions/tolower_l.texi: Likewise. * doc/posix-functions/toupper_l.texi: Likewise. * doc/posix-functions/towctrans_l.texi: Likewise. * doc/posix-functions/towlower_l.texi: Likewise. * doc/posix-functions/towupper_l.texi: Likewise. * doc/posix-functions/wcscoll_l.texi: Likewise. * doc/posix-functions/wcsxfrm_l.texi: Likewise. * doc/posix-functions/wctrans_l.texi: Likewise. * doc/posix-functions/wctype_l.texi: Likewise. * doc/glibc-functions/strptime_l.texi: Likewise. * doc/glibc-functions/strtod_l.texi: Likewise. * doc/glibc-functions/strtof_l.texi: Likewise. * doc/glibc-functions/strtol_l.texi: Likewise. * doc/glibc-functions/strtold_l.texi: Likewise. * doc/glibc-functions/strtoll_l.texi: Likewise. * doc/glibc-functions/strtoul_l.texi: Likewise. * doc/glibc-functions/strtoull_l.texi: Likewise. * doc/glibc-functions/wcsftime_l.texi: Likewise. * doc/glibc-functions/wcstod_l.texi: Likewise. * doc/glibc-functions/wcstof_l.texi: Likewise. * doc/glibc-functions/wcstol_l.texi: Likewise. * doc/glibc-functions/wcstold_l.texi: Likewise. * doc/glibc-functions/wcstoll_l.texi: Likewise. * doc/glibc-functions/wcstoul_l.texi: Likewise. * doc/glibc-functions/wcstoull_l.texi: Likewise. 2009-11-24 Bruno Haible duplocale: Fix logic bug. * lib/duplocale.c: Don't include . (_NL_LOCALE_NAME): Remove macro. (rpl_duplocale): Use setlocale instead of nl_langinfo. * tests/test-duplocale.c (main): Also test duplocale after uselocale. 2009-11-23 Jim Meyering test-update-copyright: don't hard-code /usr/bin/perl * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than perl to print the current year. Gilles Espinasse reported that the replaced use of perl was hard-coded as /usr/bin/perl. 2009-11-23 Bruno Haible duplocale: Add support for glibc 2.3.x. * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x. 2009-11-22 Bruno Haible vasnprintf: Tiny optimization. * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on MacOS X. 2009-11-22 Bruno Haible Tests for module 'duplocale'. * modules/duplocale-tests: New file. * tests/test-duplocale.c: New file. New module 'duplocale'. * m4/duplocale.m4: New file. * lib/locale.in.h (duplocale): New declaration. * lib/duplocale.c: New file. * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR, gl_LOCALE_H_DEFAULTS): New macros. (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H. * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE, REPLACE_DUPLOCALE. * modules/duplocale: New file. * doc/posix-functions/duplocale.texi: Mention the glibc bug. 2009-11-22 Bruno Haible * modules/locale-tests (configure.ac): Test for newlocale function. * tests/test-locale.c: When the system has extended locale functions, verify that defines locale_t and LC_GLOBAL_LOCALE. locale: Make locale_t available when possible. * lib/locale.in.h: Include when it exists. * m4/locale_h.m4 (gl_LOCALE_H): Check for and arrange to replace if it does not define locale_t but does. * modules/locale (Depends-on): Add extensions. (Makefile.am): Also substitute HAVE_XLOCALE_H. * doc/posix-headers/locale.texi: Document the problem with locale_t. 2009-11-22 Bruno Haible Add comments. * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS invocation. * m4/iconv_h.m4 (gl_ICONV_H): Likewise. * m4/spawn_h.m4 (gl_SPAWN_H): Likewise. * m4/wchar.m4 (gl_WCHAR_H): Likewise. 2009-11-22 Bruno Haible error: account for the possibility of freopen (stdout). * lib/error.c: Include . (flush_stdout): New function, extracted from error and error_at_line. Determine stdout's fd dynamically. (error, error_at_line): Invoke flush_stdout. * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE. * modules/error (Depends-on): Add unistd. 2009-11-22 Bruno Haible diffseq: Add comment. * lib/diffseq.h (IF_LINT): Add comment about pitfall. 2009-11-22 Jim Meyering c-stack: avoid defining an unused static function * lib/c-stack.c (find_stack_direction): Do not define this function when it will not be used. diffseq: avoid spurious gcc warnings * lib/diffseq.h (IF_LINT2): Define. (compareseq): Use it to initialize two members of "part". This avoids two used-uninitialized warnings. 2009-11-21 Jim Meyering c-stack: avoid "ignoring return value of `write'" warning * lib/c-stack.c: Include "ignore-value.h". (die): Explicitly ignore each write return value. * modules/c-stack (Depends-on): Add ignore-value. 2009-11-21 Bruno Haible diffseq: reduce scope of variable 'best'. * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best' variable, earlier used for two different purposes. 2009-11-21 Jim Meyering diffseq: remove useless assignment to "best" * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0" assignment. At that point "best" is already guaranteed to be zero. 2009-11-20 Eric Blake build: mention ftp redirector in release announcements * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for values that used to come from cfg.mk; mention FTP redirect URL. * build-aux/announce-gen: Mention the mirror list. Suggested by Karl Berry. nanosleep: improve port to mingw * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments. * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into LIB_NANOSLEEP, but only when needed. * modules/select (Link): Document LIBSOCKET. * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early enough. nanosleep: work around cygwin bug * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Fix logic bug when nanosleep fails. Work around cygwin 1.5.x bug. (getnow): Delete, not needed. * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require LIB_CLOCK_GETTIME. * modules/nanosleep (Depends-on): Add intprops and verify. Drop clock-time, gettime. * doc/posix-functions/nanosleep.texi (nanosleep): Document the bug. * modules/nanosleep-tests: New test. * tests/test-nanosleep.c: New file. sleep: work around cygwin bug * lib/sleep.c (rpl_sleep): Work around the bug. * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug. (gl_PREREQ_SLEEP): Delete unused macro. * modules/sleep (Depends-on): Add verify. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default. * modules/unistd (Makefile.am): Substitute witness. * lib/unistd.in.h (sleep): Update prototype. * doc/posix-functions/sleep.texi (sleep): Document the bug. * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it. * modules/sleep-tests (Depends-on): Check for alarm. 2009-11-20 Jim Meyering maint.mk: improve sc_prohibit_magic_number_exit * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp so it does not match uses like System.exit(1). Add comments showing how to correct all offenders. 2009-11-19 Eric Blake xalloc-die-tests: add missing library * modules/xalloc-die-tests (Makefile.am): Add LDADD line. test-xvasprintf: silence compiler warnings * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask empty string from gcc. 2009-11-19 Jim Meyering xfreopen: new module, from coreutils * modules/xfreopen: New module. * lib/xfreopen.c: New file. * lib/xfreopen.h: New file. * MODULES.html.sh (File stream based Input/Output"): Add it. 2009-11-19 Eric Blake manywarnings: depend on warnings * modules/manywarnings (Depends-on): Add warnings. build: avoid compiler warnings * lib/select.c (rpl_select): Delete unused variable. * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer. 2009-11-18 Eric Blake tests: avoid false negative with --with-packager * tests/test-version-etc.sh: Discard packager information. * tests/test-argp-version-etc-1.sh: Likewise. Reported by Mike Frysinger. utimens: fix regression on Solaris * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug. * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10 can only change fd timestamps via futimesat. Instead, use an additional witness macro to avoid BSD bug. Reported by Jim Meyering. 2009-11-17 Eric Blake usleep: use it to simplify tests * modules/stat-time-tests (Depends-on): Add usleep. (configure.ac): Drop usleep check. * modules/chown-tests (Depends-on, configure.ac): Likewise. * modules/lchown-tests (Depends-on, configure.ac): Likewise. * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise. * modules/futimens-tests (Depends-on, configure.ac): Likewise. * modules/openat-tests (Depends-on, configure.ac): Likewise. * modules/utimens-tests (Depends-on, configure.ac): Likewise. * modules/utimensat-tests (Depends-on, configure.ac): Likewise. * modules/pipe-filter-gi-tests (Depends-on, configure.ac): Likewise. * tests/test-chown.h (nap): Rely on nicer usleep semantics. * tests/test-lchown.h (nap): Likewise. * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise. * tests/test-stat-time.c (nap): Likewise. * tests/test-utimens-common.h (nap): Update comments. usleep: new module * modules/usleep: New file. * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise. * lib/usleep.c (usleep): Likewise. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults. * modules/unistd (Makefile.am): Substitute witnesses. * lib/unistd.in.h (usleep): Add declaration. * doc/pastposix-functions/usleep.texi (usleep): Document this. * MODULES.html.sh (Date and time): Likewise. * modules/usleep-tests (Depends-on): New test. * tests/test-usleep.c: New file. chown: work around OpenBSD bug * lib/chown.c (rpl_chown): Work around the bug. * lib/lchown.c (rpl_lchown): Attempt to do likewise. * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug. * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod. * modules/chown (Depends-on): Add stdbool. * modules/lchown (Depends-on): Likewise. * doc/posix-functions/chown.texi (chown): Document the bug. * doc/posix-functions/lchown.texi (lchown): Likewise. * tests/test-lchown.h (test_chown): Relax test. mkstemp: avoid conflict with C++ keyword template * lib/mkdtemp.c (mkdtemp): Change spelling of template. * lib/mkostemp.c (mkostemp): Likewise. * lib/mkostemps.c (mkostemps): Likewise. * lib/mkstemp.c (mkstemp): Likewise. * lib/mkstemps.c (mkstemps): Likewise. xalloc-die-tests: optimize * tests/test-xalloc-die.sh: Reduce number of processes. 2009-11-17 Simon Josefsson * gnulib-tool: Support LGPLv3+ licenses in module files. Tiny patch from ludo@gnu.org (Ludovic Courtès). 2009-11-17 Jim Meyering version-etc: use proper license string * modules/version-etc (License): Use LGPL, not LGPLv3+. * modules/version-etc-fsf: Likewise. 2009-11-17 Simon Josefsson * tests/test-xalloc-die.sh: Add license. Check that nothing is printed to stdout. Deal with EOL differences. 2009-11-17 Eric Blake unsetenv: work around Solaris bug * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug. * lib/unsetenv.c (rpl_unsetenv): Work around it. Reported by Jim Meyering. vasnprintf: avoid compiler warnings * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local variables. * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch. 2009-11-17 Simon Josefsson * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS settings since xalloc-die is no longer the self test, xalloc-die.sh is. 2009-11-17 Jim Meyering test-xalloc-die.sh: make the code agree with the commit log * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not at the end, just in case you happen to have a test-xalloc-die program in some other PATH directory. test-xalloc-die.sh: fix a portability bug * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die. Instead, set PATH to start with "." and invoke via "test-xalloc-die". Otherwise, argv[0] (as often seen in diagnostics) would be too system-dependent, sometimes with, and sometimes without the leading "./". version-etc-fsf: relax license to LGPLv3+ * modules/version-etc-fsf (License): Relax license. 2009-11-16 Eric Blake xalloc-die-tests: avoid printing null pointer * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in shell script. * tests/test-xalloc-die.c (program_name): Declare. * tests/test-xalloc-die.sh (tmpfiles): New file. setenv, unsetenv: work around various bugs * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc. (setenv) [HAVE_SETENV]: Work around bugs. * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs. * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check for bugs. (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE. * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require. * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults. * modules/stdlib (Makefile.am): Update substitutions. * lib/stdlib.in.h (setenv, unsetenv): Update prototypes. * doc/posix-functions/setenv.texi (setenv): Document the bugs. * doc/posix-functions/unsetenv.texi (unsetenv): Likewise. * modules/setenv-tests: New test. * modules/unsetenv-tests: Likewise. * tests/test-setenv.c: New file. * tests/test-unsetenv.c: Likewise. 2009-11-16 Jim Meyering version-etc: relax license to LGPLv3+ * modules/version-etc (License): Relax license. better AC_REQUIRE expanded-before-required-warning avoidance * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings. Suggested by Eric Blake. This change also reverts commit 1b712ba8, which is no longer needed. 2009-11-16 Eric Blake test-freading: clean up temporary file * tests/test-freading.c (main): Remove file on success, and use ASSERT more liberally. Reported by Jim Meyering. 2009-11-16 Jim Meyering avoid new AC_REQUIRE expanded-before-required warnings * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than merely using it. * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS. * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT. 2009-11-15 Simon Josefsson * tests/test-xalloc-die.c: New file. * modules/xalloc-die-tests: New file. * gnulib-tool (func_emit_tests_Makefile_am): Also initialize XFAIL_TESTS so it can be appended by modules. 2009-11-15 Simon Josefsson * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898. Reported by Vladimir 'phcoder' Serbinenko . 2009-11-14 Eric Blake fnmatch: avoid compiler warning * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned, to silence compiler warning about mismatch signedness in ?:. Reported by Robert Millan. intprops: add double-inclusion guard * lib/intprops.h: Allow idempotent includes. Suggested by Bruce Korb. openat: detect Solaris fchownat bug * lib/fchownat.c (rpl_fchownat): Work around Solaris bug. Avoid penalizing glibc chownat when only lchownat is broken. * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are trailing slash bugs. * doc/posix-functions/fchownat.texi (fchownat): Document the bug. * modules/openat-tests (Files): Include more files. (Depends-on): Add mgetgroups, sleep, stat-time. (configure.ac): Add additional checks. (Makefile.am): Build new test. * tests/test-fchownat.c: New file. lchown: detect Solaris and FreeBSD bug * lib/lchown.c (rpl_lchown): Work around bug. * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness. * modules/unistd (Makefile.am): Populate it. * lib/unistd.in.h (lchown): Update declaration. * doc/posix-functions/lchown.texi (lchown): Document the bug. * modules/lchown-tests: New file. * tests/test-lchown.h (test_lchown): Likewise. * tests/test-lchown.c (main): Likewise. chown: detect Solaris and FreeBSD bug * lib/chown.c (rpl_chown): Work around bug. * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs. (gl_PREREQ_CHOWN): Delete. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness. * modules/unistd (Makefile.am): Populate it. * lib/unistd.in.h (chown): Update declaration. * lib/lchown.c (chown): Update client. * modules/lchown (Depends-on): Add lstat. * doc/posix-functions/chown.texi (chown): Document the bug. * doc/posix-functions/getgroups.texi (getgroups): Document getgroups pitfall. * modules/chown-tests: New file. * tests/test-chown.h (test_chown): Likewise. * tests/test-chown.c (main): Likewise. 2009-11-14 Robert Millan (tiny change) gnulib-tool: correctly detect absence of m4 directories * gnulib-tool: Avoid extra newline on data passed to wc -l. 2009-11-14 Jim Meyering maint.mk: Prohibit inclusion of "xalloc.h" without use. * top/maint.mk (sc_prohibit_close_stream_without_use): New rule. 2009-11-14 John W. Eaton strftime.h: wrap funtion declaration in extern "C" block * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration. 2009-11-13 Eric Blake getgroups: avoid compiler warning * lib/getgroups.c (rpl_getgroups): Delete shadowed variable. getgroups: work around FreeBSD bug * lib/getgroups.c (rpl_getgroups): Work around the bug. * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug. * doc/posix-functions/getgroups.texi (getgroups): Document it. * tests/test-getgroups.c (main): Fix buffer overrun. getgroups: avoid compilation failure * lib/getgroups.c (includes): Include for SIZE_MAX. * modules/getgroups (Depends-on): Add stdint. 2009-11-13 Jim Meyering test-getgroups: avoid compilation failure * tests/test-getgroups.c: Include for use of SIZE_MAX. 2009-11-13 Eric Blake mgetgroups: new module, taken from coreutils * modules/mgetgroups: New file. * lib/mgetgroups.h: Likewise. * lib/mgetgroups.c (mgetgroups): Likewise. * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise. * MODULES.html.sh (Users and groups): Mention it. getgroups: don't expose GETGROUPS_T to user * lib/getgroups.c (rpl_getgroups): Change signature. Copy array an element at a time if GETGROUPS_T is wrong size. * lib/getugroups.h (getugroups): Change signature. * lib/unistd.in.h (getgroups): Likewise. * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if signature needs fixing. * m4/getugroups.m4 (gl_GETUGROUPS): No longer need AC_TYPE_GETGROUPS. * modules/group-member (Depends-on): Add getgroups. * lib/group-member.c (group_info, get_group_info): Use gid_t. (group_member): Rely on getgroups replacement. * lib/getugroups.c (getugroups): Use gid_t. * tests/test-getgroups.c (main): Likewise. * NEWS: Mention the signature change. * doc/posix-functions/getgroups.texi (getgroups): Mention the problem with signature. * doc/glibc-functions/setgroups.texi (setgroups): Mention that GETGROUPS_T is still useful for setgroups. getgroups, getugroups: provide stubs for mingw * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw. * lib/getugroups.c (getugroups): Likewise. * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing function. Modernize replacement scheme. (gl_PREREQ_GETGROUPS): Delete. * m4/getugroups.m4 (gl_GETUGROUPS): Check for . * modules/getgroups (configure.ac): Declare witness. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default. * modules/unistd (Depends-on): Substitute witness. * lib/unistd.in.h (getgroups): Declare replacement. getgroups: avoid calling exit * modules/getgroups (Depends-on): Add malloc-posix and unistd, drop xalloc. * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded dependencies. * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than exiting, in the rare case of malloc failure. getgroups: fix logic error * lib/getgroups.c (rpl_getgroups): Don't fail if current process has more than 20 groups. * modules/getgroups-tests: New test. * tests/test-getgroups.c: New file. 2009-11-13 Simon Josefsson * tests/test-base64.c: Improve. 2009-11-13 Simon Josefsson * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric Blake . 2009-11-13 Simon Josefsson * tests/test-xvasprintf.c: Add %s%s related checks. 2009-11-12 Eric Blake version-etc: match standards.texi style * lib/version-etc.c (emit_bug_reporting_address): Drop periods, and use <> only for URLs. 2009-11-10 Kamil Dudka fts: do not fail on a submount during traversal * lib/fts.c (fts_build): Read the stat info again after opening a directory if the FTS_TIGHT_CYCLE_CHECK flag is set. Original report at http://bugzilla.redhat.com/501848. 2009-11-12 Jim Meyering bootstrap: sync from coreutils * build-aux/bootstrap (bootstrap_epilogue): New function. Use git_modules_config in one more place. This make bootstrap's --gnulib-srcdir option more useful for testing. bootstrap: generalize autoheader check * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as AC_CONFIG_HEADERS. 2009-11-11 Eric Blake mkfifoat: use new modules for Solaris and BSD bugs * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify. * lib/mkfifoat.c (mknodat): Split... * lib/mknodat.c (mknodat): ...into new file. * modules/mkfifoat (Files): Ship new file. (Depends-on): Add mkfifo, mknod. * modules/mkfifoat-tests (Files): Reuse mkfifo tests. (Depends-on): Add symlink. * tests/test-mkfifoat.c (main): Enhance test. Drop portions now redundant with test_mkfifo.h. (do_mkfifoat, do_mknodat): New helpers. mknod: new module * modules/mknod: New file. * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise. * lib/mknod.c (mknod): Likewise. * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness defaults. * modules/sys_stat (Makefile.am): Substitute them. * lib/sys_stat.in.h (mknod): Declare replacement. * MODULES.html.sh (Support for systems lacking POSIX:2008): Document it. * doc/posix-functions/mknod.texi (mknod): Likewise. * modules/mknod-tests: New test. * tests/test-mknod.c: Likewise. mkfifo: new module * modules/mkfifo: New file. * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise. * lib/mkfifo.c (mkfifo): Likewise. * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness defaults. * modules/sys_stat (Makefile.am): Substitute them. * lib/sys_stat.in.h (mkfifo): Declare replacement. * MODULES.html.sh (Support for systems lacking POSIX:2008): Document it. * doc/posix-functions/mkfifo.texi (mkfifo): Likewise. * modules/mkfifo-tests: New test. * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part from test-mkfifoat.c. * tests/test-mkfifo.c: New file. readlink: detect FreeBSD bug * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with slash on symlink. * doc/posix-functions/readlink.texi (readlink): Document the bug. * tests/test-readlink.h (test_readlink): Enhance test. symlink: detect FreeBSD bug * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with slash on symlink. * doc/posix-functions/symlink.texi (symlink): Document the bug. * tests/test-symlink.h (test_symlink): Enhance test. 2009-11-10 Eric Blake link: detect FreeBSD bug * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on symlink. * doc/posix-functions/link.texi (link): Document the bug. * tests/test-link.h (test_link): Enhance test. * tests/test-linkat.c (main): Update caller. unlink, remove: detect FreeBSD bug * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with slash on symlink. * doc/posix-functions/unlink.texi (unlink): Document the bug. * doc/posix-functions/remove.texi (remove): Likewise. * tests/test-unlink.h (test_unlink): Enhance test. * tests/test-remove.c (main): Likewise. 2009-11-09 Eric Blake rename: detect FreeBSD bug * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with slash on symlink. * modules/renameat-tests (Depends-on): Add filenamecat. * tests/test-rename.h (test_rename): Allow one more errno. * tests/test-renameat.c (main): Likewise. * doc/posix-functions/rename.texi (rename): Document the bug. open: detect FreeBSD bug * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on symlink. * doc/posix-functions/open.texi (open): Document the bug. * doc/posix-functions/utimes.texi (utimes): Likewise. * tests/test-open.h (test_open): Add parameters, and test symlink handling. * tests/test-open.c (main): Adjust caller. * tests/test-fcntl-safer.c (main): Likewise. * modules/open-tests (Depends-on): Add stdbool, symlink. * modules/fcntl-safer-tests (Depends-on): Likewise. * tests/test-openat.c (main): Add test-open tests. stat: detect FreeBSD bug * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on symlink. * doc/posix-functions/stat.texi (stat): Document the bug. * tests/test-stat.h (test_stat_func): Add argument. * tests/test-stat.c (main): Adjust caller. * tests/test-fstatat.c (main): Likewise. * modules/stat-tests (Depends-on): Add stdbool, symlink. Reported by Jim Meyering. 2009-11-09 James Youngman strftime.c: include ignore-value.h only when FPRINTFTIME is defined * lib/strftime.c: Correct placement of #include "ignore-value.h". 2009-11-08 Jim Meyering utimens: remove invalid futimesat call * lib/utimens.c (fdutimens): Remove invalid futimesat call. It used the file descriptor of the target file as the DIR_FD parameter and NULL as the file name. That caused failure with errno == EFAULT on FreeBSD-8.0-rc2 2009-11-07 Eric Blake fflush, freadseek: use fseeko, not fseek * lib/fflush.c (clear_ungetc_buffer_preserving_position) (clear_ungetc_buffer): Avoid potential problems on large files. * lib/freadseek.c (freadseek): Likewise. * modules/freadseek (Depends-on): Add fseeko. * modules/fseek (configure.ac): Set a witness. * tests/test-fflush.c (main): Use fseeko. * tests/test-fpurge.c (fseek): Disable link warning. * tests/test-freadable.c (fseek): Likewise. * tests/test-freading.c (fseek): Likewise. * tests/test-fseeko.c (fseek): Likewise. * tests/test-ftell.c (fseek): Likewise. * tests/test-ftello.c (fseek): Likewise. * tests/test-fwritable.c (fseek): Likewise. * tests/test-fwriting.c (fseek): Likewise. 2009-11-06 Simon Josefsson * modules/memchr (Depends-on): Drop getpagesize dependency. 2009-11-06 Simon Josefsson * build-aux/pmccabe2html: Disable execute bit. Suggested by Reported by Ludovic Courtès. * build-aux/pmccabe2html: Improve example usage. * build-aux/pmccabe2html: Drop #! header. Doc fix. 2009-11-06 Jim Meyering do-release-commit-and-tag: New module. Automate the release-commit and tag process. * build-aux/do-release-commit-and-tag: New script, from coreutils. * modules/do-release-commit-and-tag: New file. * MODULES.html.sh (Support for maintaining and releasing): Add it. 2009-11-06 Simon Josefsson * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB) because test-select.c uses inet_pton. 2009-11-06 Simon Josefsson * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to GETADDRINFO_LIB. Bump serial number. * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again. Suggested by Eric Blake . 2009-11-05 Eric Blake strtod: detect darwin bug * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(". Reported by Leo Davis. freopen-safer: new module * modules/freopen-safer: New module. * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro. * lib/freopen-safer.c (freopen_safer): New file. * lib/stdio-safer.h (freopen_safer): New declaration. * lib/stdio--.h (freopen): New override. * MODULES.html.sh (File stream based Input/Output): Mention it. * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and freopen-safer module. * doc/posix-functions/stderr.texi (stderr): Likewise. * doc/posix-functions/stdin.texi (stdin): Likewise. * doc/posix-functions/stdout.texi (stdout): Likewise. * modules/freopen-safer-tests: New test. * tests/test-reopen-safer.c: New file. 2009-11-05 Jim Meyering maint.mk: Prohibit inclusion of "close-stream.h" without use. * top/maint.mk (sc_prohibit_close_stream_without_use): New rule. 2009-11-05 Simon Josefsson * modules/pmccabe2html (configure.ac): Check for pmccabe tool. 2009-11-05 Simon Josefsson * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB). 2009-11-05 Simon Josefsson Fix link error. * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result. * m4/inet_pton.m4 (gl_INET_PTON): Likewise. 2009-11-05 Simon Josefsson * tests/test-func.c: Also test value of __func__. 2009-11-05 Simon Josefsson * tests/test-sys_socket.c: Use smaller constant value, sa_family_t may be an 8-bit type. Reported by Bruno Haible . 2009-11-05 Bruno Haible Fix link error. * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result. * m4/inet_pton.m4 (gl_INET_PTON): Likewise. Reported by Brad Hards via Simon Josefsson. 2009-11-05 Bruno Haible Tests for module 'inet_pton'. * modules/inet_pton-tests: New file. * tests/test-inet_pton.c: New file. 2009-11-05 Bruno Haible Tests for module 'inet_ntop'. * modules/inet_ntop-tests: New file. * tests/test-inet_ntop.c: New file. 2009-11-04 Eric Blake stdlib-safer: wrap all mkstemp variants * modules/mkostemp (configure.ac): Set witness. * modules/mkostemps (configure.ac): Likewise. * modules/mkstemps (configure.ac): Likewise. * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer) (mkstemps_safer): Wrap more functions. * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the wrapping. * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer) (mkstemps_safer): Implement the wrappers. mkstemps, mkostemps: new modules * modules/mkostemps: New module. * modules/mkstemps: Likewise. * lib/mkostemps.c (mkostemps): New file. * lib/mkstemps.c (mkstemps): Likewise. * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise. * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise. * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses. * modules/stdlib (Makefile.am): Substitute them. * lib/stdlib.in.h (mkostemps, mkstemps): Declare them. * doc/glibc-functions/mkstemps.texi (mkstemps): New file. * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise. * doc/gnulib.texi (Glibc stdlib.h): Include them. * MODULES.html.sh (File system functions): Mention them. tempname: resync from glibc * lib/tempname.c (__gen_tempname): Add suffixlen argument. Use same values for __GT_FILE as glibc. Abort even when assertions are disabled. * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and match its value otherwise. Allow idempotent inclusion. * lib/mkdtemp.c (mkdtemp): Adjust caller. * lib/mkostemp.c (mkostemp): Likewise. * lib/mkstemp.c (mkstemp): Likewise. * lib/tmpfile.c (tmpfile): Likewise. * NEWS: Document this. utimens: fix use of futimens on older Linux * lib/utimens.c (fdutimens): Use updated, rather than original, timespec to avoid bug in older Linux kernel. Reported by Simon Josefsson. 2009-11-04 Bruno Haible Make num_processors more flexible and consistent. * lib/nproc.h (enum nproc_query): New type. (num_processors): Add a 'query' argument. * lib/nproc.c: Include , , c-ctype.h. (num_processors): Add a 'query' argument. Test the value of the OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD, mingw, count the number of CPUs available for the current process. * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS. Check for sched_getaffinity and sched_getaffinity_np. * modules/nproc (Depends-on): Add c-ctype, extensions. * NEWS: Mention the change. 2009-11-03 Bruno Haible * NEWS: Document the new library dependencies of inet_ntop, inet_pton. 2009-11-03 Jim Meyering test-getaddrinfo: avoid compilation failure on FreeBSD 7.2 * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only if it is defined. 2009-11-02 Eric Blake mktime, timegm: share common declaration * lib/mktime-internal.h: New file. * lib/mktime.c: Use it rather than open-coding a declaration. * lib/timegm.c: Likewise. * modules/mktime (Files): Ship it. * modules/timegm (Files): Likewise. Suggested by Bruno Haible. test-update-copyright: update test to match script changes * tests/test-update-copyright.sh: Avoid hard-coding perl location. Don't update *.bak created by earlier runs. 2009-11-02 Paul Eggert Simon Josefsson Bruno Haible Fix link error on Solaris 8. * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton also in libnsl. Define also INET_PTON_LIB. * modules/inet_pton (Link): New section. 2009-11-02 Simon Josefsson Bruno Haible * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB. * modules/inet_ntop (Link): New section. Reported by Boyan Kasarov . 2009-11-02 Eric Blake maint: avoid compiler warnings in m4 macros * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable. * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header. 2009-11-02 Simon Josefsson * m4/pmccabe2html.m4: Remove file. * modules/pmccabe2html: Drop pmccabe2html.m4. Don't call m4 function. Change maintainer. * build-aux/pmccabe2html: Use /bin/sh with magic instead of hard-coding path to awk. Tiny patch from ludo@gnu.org (Ludovic Courtès). 2009-10-31 Eric Blake fseeko: fix m4 regression * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro. Fixes regression from 2009-10-27. Reported by Ralf Wildenhues. 2009-10-31 Jim Meyering inttostr: aesthetics and improved (compile-time) safety Define inttype_is_signed rather than inttype_is_unsigned, since the sole use is via "#if inttype_is_signed". * lib/imaxtostr.c (inttype_is_signed): Define this, rather than inttype_is_unsigned. * lib/offtostr.c (inttype_is_signed): Likewise. * lib/uinttostr.c (inttype_is_signed): Likewise. * lib/umaxtostr.c (inttype_is_signed): Likewise. * lib/inttostr.c (inttostr): Use verify to cross-check the inttype_is_signed value and the signedness of the actual type. * modules/inttostr (Depends-on): Add verify. 2009-10-30 Eric Blake build: avoid compiler warnings * lib/fchmodat.c (lchmod): Mark unused variables. * lib/getopt.c (_getopt_initialize): Likewise. * lib/mktime.c (__mktime_internal): Provide prototype. * lib/inttostr.c (inttostr): Avoid compiler warning even with older gcc that do not understand #pragma GCC diagnostic. * lib/uinttostr.c (inttype_is_unsigned): Define. * lib/umaxtostr.c (inttype_is_unsigned): Likewise. 2009-10-30 Michael Haubenwallner stat: fix compilation on AIX * lib/sys_stat.in.h (stat): Work with fact that large files on AIX only see struct stat64. 2009-10-30 Eric Blake exclude: make more robust * lib/exclude.c (excluded_file_name): Abort on unexpected value, rather than masking a coding bug. Suggested by Bruno Haible. 2009-10-30 Jim Meyering perl scripts: remove #!/usr/bin/perl in favor of more portable... Rather than putting #!/usr/bin/perl on the first line, start with a variant of what's recommended by "man perlrun" that invokes the first "perl" program from your shell's search path. * build-aux/gitlog-to-changelog: Replace #!... as above. Add a "Local Variables" perl mode setting. Prompted by a patch from Ludovic Courtès. Improved by Eric Blake. * build-aux/useless-if-before-free: Likewise. * build-aux/announce-gen: Likewise. * build-aux/update-copyright: Likewise. 2009-10-29 Eric Blake filenamecat-lgpl: adjust clients * modules/linkat (Depends-on): Use filenamecat-lgpl, not filenamecat. * modules/renameat (Depends-on): Likewise. filenamecat: split into filenamecat-lgpl * modules/filenamecat-lgpl: New module. * modules/filenamecat (Files): Move library-safe files into filenamecat-lgpl. (Depends-on): Add filenamecat-lgpl. (configure.ac): Declare witness. * lib/filenamecat.h (file_name_concat): Only declare when using GPL module. * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat): Move... * lib/filenamecat-lgpl.c: ...into new file. * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro. (gl_FILE_NAME_CONCAT): Use it. * MODULES.html.sh (File system functions): Mention new module. argp: avoid memory leak * modules/argp (Depends-on): Use dirname-lgpl, not dirname. * lib/argp-namefrob.h (__argp_base_name): Use last_component, not base_name, since the latter malloc()s and can call exit(). Leak introduced 2006-07-03. dirname-lgpl: adjust clients that don't need full dirname * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname. * modules/filenamecat (Depends-on): Likewise. * modules/linkat (Depends-on): Likewise. * modules/mkancesdirs (Depends-on): Likewise. * modules/mkdir (Depends-on): Likewise. * modules/openat (Depends-on): Likewise. * modules/savewd (Depends-on): Likewise. * modules/rename (Depends-on): Likewise. (License): Relax license. * modules/mkdir-tests (Depends-on): Drop progname. (Makefile.am): Delete unneeded LDADD. * modules/rename-tests (Depends-on, Makefile.am): Likewise. dirname: split into dirname-lgpl * modules/dirname-lgpl: New module. * modules/dirname (Files): Move library-safe files into dirname-lgpl. (Depends-on): Add dirname-lgpl. (configure.ac): Declare witness. * modules/double-slash-root (License): Relax license. * lib/dirname.h (base_name, dir_name): Only declare when using GPL module. * lib/dirname.c (dir_len, mdir_name): Move... * lib/dirname-lgpl.c: ...into new file. * lib/basename.c (last_component, base_len): Move... * lib/basename-lgpl.c: ...into new file. * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro. (gl_DIRNAME): Use it. * MODULES.html.sh (Enhancements for POSIX:2008 functions): Mention new module. * modules/dirname-tests (Depends-on): Add progname. * tests/test-dirname.c (program_name): Delete. mkdir: make safe for libraries * modules/mkdir (Depends-on): Drop xalloc. * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling exit. tests: avoid some compiler warnings * tests/test-getaddrinfo.c (simple): Mark static, and allow string literals. * tests/test-memchr.c (main): Avoid type mismatch. * tests/test-arpa_inet.c (main): Avoid unused parameters. * tests/test-base64.c (main): Likewise. * tests/test-getdelim.c (main): Likewise. * tests/test-gethostname.c (main): Likewise. * tests/test-getline.c (main): Likewise. * tests/test-netinet_in.c (main): Likewise. * tests/test-select.c (open_server_socket, main): Likewise. * tests/test-select-stdin.c (main): Likewise. * tests/test-sockets.c (main): Likewise. * tests/test-strsignal.c (main): Likewise. * tests/test-sys_select.c (main): Likewise. * tests/test-sys_socket.c (main): Likewise. * tests/test-u64.c (main): Likewise. * tests/test-xfprintf-posix.c (main): Likewise. * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise. sockets: avoid compiler warning * lib/sockets.c (gl_sockets_startup): Mark unused parameter. maint: detect usage(1) and other suspicious exits * top/maint.mk (sc_prohibit_magic_number_exit): New rule. 2009-10-29 Jim Meyering timespec: long-to-int truncation could make timespec_cmp malfunction * lib/timespec.h (timespec_cmp): Do not interpret a difference of a multiple of 2^32 nanoseconds as no difference. 2009-10-28 Jim Meyering fprintftime: wrap macro code argument in "do {...} while(0)" * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the cpy macro must be a statement that can be followed by a semicolon. Now that the else clause contains a comment and is hence longer than one line, I require curly braces. That in turn requires that we wrap this code block in the standard do...while(0). fprintftime: remove stray semicolon from previous change * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon. fprintftime: avoid a warning about ignored fwrite return value * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h". (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically, that is unsafe. * modules/fprintftime (Depends-on): Add ignore-value. exclude: avoid an unwarranted warning * lib/exclude.c (excluded_file_name): Initialize "rc" before switch. 2009-10-27 Eric Blake fseek: avoid compilation failure when fflush is replaced * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro. * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek module is in use. * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek module is not in use; since REPLACE_FSEEK worked otherwise. (GNULIB_FTELLO): Likewise for ftell. Reported by Ian Beckwith and others. 2009-10-27 Bruno Haible * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration. Reported by Jim Meyering. 2009-10-27 Jim Meyering Bruno Haible Avoid warning despite dropping the return value of fwrite. * lib/unicodeio.c: Include ignore-value.h. (fwrite_success_callback): Explicitly ignore fwrite's return value. * modules/unicodeio (Depends-on): Add ignore-value. 2009-10-26 Eric Blake areadlinkat: fix fallback path * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between pointer and zero. 2009-10-22 Pádraig Brady Use a better IO block size for modern systems * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer. * lib/md2.c: Likewise. * lib/md4.c: Likewise. * lib/md5.c: Likewise. * lib/sha1.c: Likewise. * lib/sha256.c: Likewise. * lib/sha512.c: Likewise. 2009-10-22 Eric Blake tests: avoid several compiler warnings * tests/test-getcwd.c (main): Avoid buffer underflow. * tests/test-getdate.c (main): String literals are not safe with putenv, so use setenv. Declare unused argument. * modules/getdate-tests (Depends-on): Add setenv. * tests/test-argv-iter.c (main): Declare unused argument. Avoid problems with string literals in char *. * tests/test-hash.c (main): Avoid shadowing declaration. (insert_new): Treat string literals as char const *. * tests/test-getopt.h (test_getopt): Likewise. (getopt_loop): Alter types to minimize casting elsewhere. * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop) (test_getopt_long_posix): Likewise. (do_getopt_long): Add wrapper to minimize casting. * tests/test-atexit.c (clear_temp_file): Use void. * tests/test-areadlink-with-size.c (main): Declare unused arguments. * tests/test-areadlink.c (main): Likewise. * tests/test-areadlinkat-with-size.c (main): Likewise. * tests/test-areadlinkat.c (main): Likewise. * tests/test-canonicalize-lgpl.c (main): Likewise. * tests/test-canonicalize.c (main): Likewise. * tests/test-dirent-safer.c (main): Likewise. * tests/test-dirname.c (main): Likewise. * tests/test-dup2.c (main): Likewise. * tests/test-fchdir.c (main): Likewise. * tests/test-fcntl-h.c (main): Likewise. * tests/test-fcntl-safer.c (main): Likewise. * tests/test-fdopendir.c (main): Likewise. * tests/test-fdutimensat.c (main): Likewise. * tests/test-fflush.c (main): Likewise. * tests/test-filenamecat.c (main): Likewise. * tests/test-filevercmp.c (main): Likewise. * tests/test-fopen-safer.c (main): Likewise. * tests/test-fopen.c (main): Likewise. * tests/test-fpending.c (main): Likewise. * tests/test-fpurge.c (main): Likewise. * tests/test-freading.c (main): Likewise. * tests/test-fstatat.c (main): Likewise. * tests/test-fsync.c (main): Likewise. * tests/test-futimens.c (main): Likewise. * tests/test-getndelim2.c (main): Likewise. * tests/test-gettimeofday.c (main): Likewise. * tests/test-getopt.c (main): Likewise. * tests/test-i-ring.c (main): Likewise. * tests/test-inttypes.c (main): Likewise. * tests/test-link.c (main): Likewise. * tests/test-lstat.c (main): Likewise. * tests/test-math.c (main): Likewise. * tests/test-md5.c (main): Likewise. * tests/test-memchr2.c (main): Likewise. * tests/test-memrchr.c (main): Likewise. * tests/test-mkdir.c (main): Likewise. * tests/test-mkdirat.c (main): Likewise. * tests/test-mkfifoat.c (main): Likewise. * tests/test-open.c (main): Likewise. * tests/test-openat-safer.c (main): Likewise. * tests/test-openat.c (main): Likewise. * tests/test-quotearg.c (main): Likewise. * tests/test-rawmemchr.c (main): Likewise. * tests/test-readlink.c (main): Likewise. * tests/test-remove.c (main): Likewise. * tests/test-rename.c (main): Likewise. * tests/test-renameat.c (main): Likewise. * tests/test-rmdir.c (main): Likewise. * tests/test-sha1.c (main): Likewise. * tests/test-signal.c (main): Likewise. * tests/test-sigaction.c (main): Likewise. * tests/test-stat.c (main): Likewise. * tests/test-stat-time.c (main): Likewise. * tests/test-stddef.c (main): Likewise. * tests/test-stdint.c (main): Likewise. * tests/test-stdio.c (main): Likewise. * tests/test-stdlib.c (main): Likewise. * tests/test-strchrnul.c (main): Likewise. * tests/test-strerror.c (main): Likewise. * tests/test-string.c (main): Likewise. * tests/test-strtod.c (main): Likewise. * tests/test-strverscmp.c (main): Likewise. * tests/test-symlink.c (main): Likewise. * tests/test-symlinkat.c (main): Likewise. * tests/test-sys_stat.c (main): Likewise. * tests/test-sys_time.c (main): Likewise. * tests/test-time.c (main): Likewise. * tests/test-unistd.c (main): Likewise. * tests/test-unlink.c (main): Likewise. * tests/test-unlinkat.c (main): Likewise. * tests/test-utimens.c (main): Likewise. * tests/test-utimensat.c (main): Likewise. * tests/test-version-etc.c (main): Likewise. * tests/test-wchar.c (main): Likewise. * tests/test-wctype.c (main): Likewise. * tests/test-xprintf-posix.c (main): Likewise. * tests/test-posixtm.c (main): Likewise. (STREQ): Delete unused macro. * tests/test-linkat.c (main): Declare unused arguments. Avoid shadowed variables. * tests/test-memchr.c (main): Likewise. 2009-10-21 Eric Blake areadlinkat: avoid failure on older glibc * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL, rather than mis-comparing 0 against FUNC_RESULT of char*. 2009-10-21 Bruno Haible * modules/stpncpy (License): Relicense under LGPLv2+. Reported by David Lutterkort . 2009-10-20 Eric Blake utimensat: work around Solaris 9 bug * lib/utimens.c (fdutimens, lutimens): Force a stat if platform has trailing slash bugs. * tests/test-lutimens.h (test_lutimens): Enhance test. * tests/test-utimens.h (test_utimens): Likewise. * doc/posix-functions/utime.texi (utime): Enhance documentation. * doc/posix-functions/utimes.texi (utimes): Likewise. * doc/posix-functions/utimensat.texi (utimensat): Likewise. * doc/glibc-functions/futimesat.texi (futimesat): Likewise. * doc/glibc-functions/lutimes.texi (lutimes): Likewise. * doc/posix-functions/futimens.texi (futimens): Likewise. fdutimensat: new module * modules/fdutimensat: New file. * lib/fdutimensat.c (fdutimensat): Likewise. * lib/utimens.h (fdutimensat, lutimensat): Declare new functions. * MODULES.html.sh (File system functions): Mention module. * modules/fdutimensat-tests: New test. * tests/test-fdutimensat.c: Likewise. doc: regenerate INSTALL * doc/INSTALL: Reflect recent autoconf update. * doc/INSTALL.ISO: Likewise. * doc/INSTALL.UTF-8: Likewise. 2009-10-20 Pádraig Brady acl: warn if ACL support is not detected * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found. 2009-10-19 Giuseppe Scrivano * lib/nproc.h: Add extern "C" block for C++. 2009-10-18 Reuben Thomas Bruno Haible * doc/posix-functions/isascii.texi: Document the 2 alternative APIs. * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs. * doc/posix-functions/isalpha.texi: Likewise. * doc/posix-functions/isblank.texi: Likewise. * doc/posix-functions/iscntrl.texi: Likewise. * doc/posix-functions/isdigit.texi: Likewise. * doc/posix-functions/isgraph.texi: Likewise. * doc/posix-functions/islower.texi: Likewise. * doc/posix-functions/isprint.texi: Likewise. * doc/posix-functions/ispunct.texi: Likewise. * doc/posix-functions/isspace.texi: Likewise. * doc/posix-functions/isupper.texi: Likewise. * doc/posix-functions/isxdigit.texi: Likewise. 2009-10-18 Bruno Haible Tests for module 'isblank'. * modules/isblank-tests: New file. * tests/test-isblank.c: New file. New module 'isblank'. * lib/isblank.c: New file. * m4/isblank.m4: New file. * modules/isblank: New file. * doc/posix-functions/isblank.texi: Mention the new module. 2009-10-18 Bruno Haible New module 'ctype'. * lib/ctype.in.h: New file. * m4/ctype.m4: New file. * modules/ctype: New file. * doc/posix-headers/ctype.texi: Mention the new module. 2009-10-18 Jim Meyering m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted right after its initialization, rather than farther down. Keeping these in close proximity makes it easier to ensure that each such variable is initialized. E.g., LIB_CLOCK_GETTIME= AC_SUBST([LIB_CLOCK_GETTIME]) This change also increments these serial numbers. * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use. * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise. * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise. 2009-10-18 Bruno Haible Don't let environment variables perturb build. * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here... (gl_PREREQ_GETHRXTIME): ... not here. 2009-10-18 Bruno Haible Avoid symlink attack in localcharset module. * lib/localcharset.c: Include , . (O_NOFOLLOW): Define fallback. (get_charset_aliases): Don't open the file if it is a symbolic link. * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from gl_FCNTL_H. (gl_FCNTL_H): Require it. * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise. * modules/localcharset (Files): Add m4/fcntl_h.m4. Reported by Fergal Glynn . 2009-10-18 Bruno Haible Implement nproc for mingw. * lib/nproc.c: Include (num_processors): On native Windows platforms, try GetSystemInfo. 2009-10-18 Bruno Haible Implement nproc for IRIX. * lib/nproc.c: Include . (num_processors): On IRIX systems, try sysmp. * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp. 2009-10-18 Bruno Haible Implement nproc for HP-UX. * lib/nproc.c: Include (num_processors): On HP-UX systems, try pstat_getdynamic. * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and pstat_getdynamic. 2009-10-18 Giuseppe Scrivano Bruno Haible Implement nproc for NetBSD, OpenBSD. * lib/nproc.c: Include , , . (ARRAY_SIZE): New macro. (num_processors): On BSD systems, try sysctl of HW_NCPU. * m4/nproc.m4: New file. * modules/nproc (Files): Add m4/nproc.m4. (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation. (Makefile.am): Instead, augment lib_SOURCES. 2009-10-18 Bruno Haible Fix recognition of sys/sysctl.h on OpenBSD 4.0. * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include sys/param.h. 2009-10-16 Eric Blake utimensat: new module * modules/utimensat: New file. * lib/utimensat.c (utimensat): Likewise. * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise. * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat, so we can work around Linux bugs. * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses. * modules/sys_stat (Makefile.am): Substitute them. * lib/sys_stat.in.h (utimensat): Declare it. * MODULES.html.sh (systems lacking POSIX:2008): Mention module. * doc/posix-functions/utimensat.texi (utimensat): Likewise. * modules/utimensat-tests: New test. * tests/test-utimensat.c: Likewise. utimens: let lutimens work on non-symlinks * lib/utimens.c (lutimens): Fall back to utimens rather than failing with ENOSYS, when file is not a symlink. (utimens): Reduce redirection. * tests/test-lutimens.h (test_lutimens): Update test to cover non-symlinks. * tests/test-utimens.h (test_utimens): Update test to cover symlinks. * tests/test-utimens.c (main): Update caller. utimens: cache whether utimensat syscall works * lib/utimens.c (utimensat_works_really): New cache variable. (fdutimens, lutimens): Use it to avoid failing syscall. test-stat-time, test-utimens: improve portability * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for ext4 on alpha, and for cygwin. * tests/test-utimens-common.h: New file. (nap): Factor delays into single function. * tests/test-lutimens.h (test_lutimens): Use new header. * tests/test-futimens.h (test_futimens): Likewise. * tests/test-utimens.h (test_utimens): Likewise. Also, force NFS timestamps to occur from same machine, as was done previously for test_utimens. * modules/utimens-tests (Files): Ship new file. * modules/futimens-tests (Files): Likewise. Reported in part by Jim Meyering. sys_stat: sort replacement declarations * lib/sys_stat.in.h: Sort declarations. * lib/futimens.c (futimens): Fix typo. 2009-10-15 Jim Meyering don't let environment settings perturb build Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP could cause a configure-time and/or build-time malfunction. Typically, a configure-time function-in-library test is performed via code like this: LIB_VAR= AC_SUBST([LIB_VAR]) prefix_saved_LIBS=$LIBS AC_SEARCH_LIBS([FUNC], [LIB_NAME], [test "$ac_cv_search_FUNC" = "none required" || LIB_VAR=$ac_cv_search_FUNC]) LIBS=$prefix_saved_LIBS However, in each of the files affected by this change, the LIB_VAR= initialization was omitted. Thus, when set in the environment, its value would propagate into generated Makefiles when FUNC is not found in LIB_NAME. * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var. * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise. * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise. 2009-10-14 Eric Blake fchdir: avoid infinite recursion in mingw * lib/fchdir.c (rpl_fstat): Call system fstat, rather than recursing. test-stat-time: port to mingw * tests/test-stat-time.c (force_unlink): Return a value. (test_ctime) [W32]: Fix compilation error. (nap): Don't call usleep with too large an argument. Use force_unlink. * doc/pastposix-functions/usleep.texi (usleep): Document the portability issue. 2009-10-13 Jim Meyering use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/* * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS. * modules/pipe-filter-ii: Likewise. * modules/sys_socket-tests: Likewise. * modules/tsearch-tests: Likewise. * Makefile (sc_prefer_ac_check_funcs_once): New rule. (check): Depend on it. 2009-10-12 Eric Blake utimens-tests: port to NFS file systems * tests/test-utimens.h (test_utimens): Refactor utimecmp comparisons to avoid spurious failures from timestamp drift between NFS machines. 2009-10-12 Eric Blake stat-time-tests: minor cleanups * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE. * tests/test-stat-time.c (nap): Separate assignment from call. Suggested by Paolo Bonzini and Bruno Haible. sys_stat: guarantee struct timespec * lib/sys_stat.in.h (includes): Always include * modules/sys_stat (Depends-on): Add time. * tests/test-sys_stat.c: Guarantee struct timespec, as well as mode_t permission values. * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to get at subsecond timestamps. 2009-10-10 Eric Blake futimens: new module * modules/futimens: New file. * lib/futimens.c (futimens): Likewise. * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise. * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so we can work around Linux bugs. * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses. * modules/sys_stat (Makefile.am): Substitute them. * lib/sys_stat.in.h (futimens): Declare it. * MODULES.html.sh (systems lacking POSIX:2008): Mention module. * doc/posix-functions/futimens.texi (futimens): Likewise. * modules/futimens-tests: New test. * tests/test-futimens.c: Likewise. utimens: introduce fdutimens * lib/utimens.h (fdutimens): New prototype. * lib/utimens.c (gl_futimens): Move guts... (fdutimens): ...to new interface. * tests/test-utimens.c (do_fdutimens): Use it. utimens: add UTIME_NOW and UTIME_OMIT support * lib/utimens.c (validate_timespec, update_timespec): New helper functions. (gl_futimens, lutimens): Use them. * modules/utimens (Depends-on): Add gettime, lstat, stat-time, stdbool, sys_stat. (Link): Mention resulting library dependency. * modules/utimecmp (Link): Likewise. * modules/utimens-tests (Depends-on): Drop stat-time, stdbool. (Makefile.am): Pick up library dependency. * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a definition. * tests/test-sys_stat.c: Test the definitions. * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this. * NEWS: Document library dependency. utimecmp: support symlink timestamps * lib/utimecmp.c (utimecmp): Use new interface. Skip effort of hashing when possible. Use pathconf when available. (SYSCALL_RESOLUTION): Recognize tighter resolution. * modules/utimecmp (Depends-on): Add lstat. utimens: add lutimens interface * lib/utimens.c (lutimens): New function. * m4/utimens.m4 (gl_UTIMENS): Check for lutimes. * lib/utimens.h (lutimens): Declare new interface. * tests/test-utimens.c (main): Enhance test. * tests/test-lutimens.h (test_lutimens): New file. * modules/utimens-tests (Files): Distribute it. (Depends-on): Add symlink. (configure.ac): Check for usleep. utimens: validate futimens usage * lib/utimens.c (gl_futimens): Require valid fd up front, using fewer syscalls on failure later on. Avoid compiler warning on mingw. * modules/utimens (Depends-on): Add dup2. utimens: add test * modules/utimens-tests: New test. * tests/test-utimens.h: New file. * tests/test-futimens.h: Likewise. * tests/test-utimens.c: Likewise. doc: mention timestamp portability issues * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat instead. * doc/posix-functions/utime.texi (utime): Likewise. * doc/posix-functions/utimes.texi (utimes): Likewise. * doc/glibc-functions/futimes.texi (futimes): Refer to futimens instead. * doc/posix-functions/futimens.texi (futimens): Mention utimens module. * doc/posix-functions/utimensat.texi (utimensat): Likewise. Mention weakness with symlink timestamps. * doc/glibc-functions/futimesat.texi (futimesat): New file; refer to utimensat/futimens instead. * doc/gnulib.texi (Glibc sys/time.h): Include new file. test-dup2: enhance test * tests/test-dup2.c (main): Also check AT_FDCWD. test-stat-time: avoid more spurious failures * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for xfs; and avoid race if the two timestamps cross quantization edge. relocatable: prefer 'file system' over 'filesystem' * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING. (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling. * doc/relocatable-maint.texi (Supporting Relocation): Likewise. * doc/relocatable.texi (Enabling Relocatability): Likewise. * lib/relocatable.c (compute_curr_prefix): Likewise. 2009-10-10 Jim Meyering stat-time-tests: check for the usleep function * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP. 2009-10-10 Bruno Haible * modules/xnanosleep: Put the Link section after the Include section. 2009-10-09 Eric Blake dup2: work around FreeBSD 6.1 bug * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug. * doc/posix-functions/dup2.texi (dup2): Document it. Reported by Nelson H. F. Beebe and Jim Meyering. test-stat-time: port to buggy NFS clients * tests/test-stat-time.c (main) [W32]: Reduce ifdefs. (test_ctime): Also skip test if mtime and ctime are skewed. maint: prefer 'file system' over 'filesystem' * doc/posix-functions/fstatat.texi (fstatat): Likewise. * doc/posix-functions/lstat.texi (lstat): Likewise. * lib/file-has-acl.c (file_has_acl): Likewise. * lib/fwriteerror.c [TEST]: Likewise. * tests/test-areadlink.h (test_areadlink): Likewise. * tests/test-areadlinkat-with-size.c (main): Likewise. * tests/test-areadlinkat.c (main): Likewise. * tests/test-canonicalize-lgpl.c (main): Likewise. * tests/test-canonicalize.c (main): Likewise. * tests/test-fstatat.c (main): Likewise. * tests/test-linkat.c (main): Likewise. * tests/test-lstat.h (test_lstat_func): Likewise. * tests/test-mkdir.h (test_mkdir): Likewise. * tests/test-readlink.h (test_readlink): Likewise. * tests/test-remove.c (main): Likewise. * tests/test-rename.h (test_rename): Likewise. * tests/test-renameat.c (main): Likewise. * tests/test-rmdir.h (test_rmdir_func): Likewise. * tests/test-symlink.h (test_symlink): Likewise. * tests/test-symlinkat.c (main): Likewise. * tests/test-unlink.h (test_unlink_func): Likewise. * tests/test-unlinkat.c (main): Likewise. maint: make realtime library usage explicit * modules/gethrxtime (Link): Mention LIB_GETHRXTIME. * modules/gettime (Link): Mention LIB_CLOCK_GETTIME. * modules/settime (Link): Likewise. * modules/xnanosleep (Link): Mention LIB_NANOSLEEP. test-stat-time: speed up execution * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler warning on mingw. (nap): New helper function. (prepare_test): Use it to reduce sleep time. (test_mtime, test_ctime, test_birthtime): Allow for subsecond execution. * modules/stat-time-tests (configure.ac): Check for usleep. 2009-10-09 Jim Meyering selinux-h: always use getfilecon wrappers * lib/getfilecon.c: New file. * lib/se-selinux.in.h: Use a better inclusion guard symbol name. [HAVE_SELINUX_SELINUX_H]: Include-next . [!HAVE_SELINUX_SELINUX_H]: Use better parameter names. (fgetfilecon): Provide a stub. * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't AC_SUBST SELINUX_SELINUX_H, since now we're generating that file unconditionally. When is found, arrange to use wrappers. * modules/selinux-h (Files): Add getfilecon.c. (Makefile.am): Substitute include-next-related bits into the now-always-generated selinux/selinux.h file. * doc/glibc-functions/lgetfilecon.texi: New file. * doc/glibc-functions/fgetfilecon.texi: New file. * doc/glibc-functions/getfilecon.texi: New file. * doc/glibc-functions/getfilecon-desc.texi: New file. * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by which to pull in the new files. * MODULES.html.sh (Misc): Add selinux-h. 2009-10-08 Jim Meyering unistd: fix comment typo * lib/unistd.in.h (euidaccess): Fix a comment typo. 2009-10-08 Eric Blake areadlink: use SIZE_MAX consistently * modules/areadlink (Depends-on): Add stdint. * modules/areadlink-with-size (Depends-on): Likewise. * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib gives NULL; drop sys/types, since unistd gives size_t; and add stdint for SIZE_MAX. (SIZE_MAX): Rely on headers. * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types, and add stdint. * lib/areadlink.c (includes): Drop sys/types, and add stdint. (SIZE_MAX): Likewise. (INITIAL_BUF_SIZE): Turn into enum. * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise. 2009-10-08 Jim Meyering areadlinkat: avoid compilation failure * lib/areadlinkat.c: Include for use of SIZE_MAX. Fix typo in comment. 2009-10-07 Eric Blake areadlinkat-with-size: new module * modules/areadlinkat-with-size: New module. * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file. * lib/areadlink.h (areadlinkat): Declare it. * MODULES.html.sh (File system functions): Mention it. * modules/areadlinkat-with-size-tests: New test. * tests/test-areadlinkat-with-size.c: New file. xreadlinkat: new module * modules/xreadlinkat: New module. * lib/xreadlinkat.c (xreadlinkat): New file. * lib/xreadlink.h (xreadlinkat): Declare it. * MODULES.html.sh (File system functions): Mention it. areadlinkat: new module * lib/at-func.c (FUNC_FAIL): New define. (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1. * modules/areadlinkat: New module. * lib/linkat.c (areadlinkat): Move... * lib/areadlinkat.c (areadlinkat): ...to new file. * lib/areadlink.h (areadlinkat): Declare it. * modules/linkat (Depends-on): Add areadlinkat. * MODULES.html.sh (File system functions): Mention it. * modules/areadlinkat-tests: New test. * tests/test-areadlinkat.c: New file. areadlink, areadlink-with-size: add tests * modules/areadlink-tests: New test. * modules/areadlink-with-size-tests: Likewise. * tests/test-areadlink.h: New file. * tests/test-areadlink.c: Likewise. * tests/test-areadlink-with-size.c: Likewise. maint: minor cleanups * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed _UNUSED_PARAMETER_ instead. * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise. * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise. * modules/linkat-tests (Files): Distribute test-link.h. openat, utimens: whitespace cleanup * lib/openat.c: Prefer space throughout, rather than mix of 8 spaces vs. tabs. * lib/at-func.c: Likewise. * lib/utimens.c: Likewise. openat: avoid using wrong fd * lib/openat.c (openat_permissive): Reject user's fd if saving the working directory chooses same fd. * lib/at-func.c (AT_FUNC_NAME): Likewise. mkdir, mkdirat: fix cygwin 1.5.x bug * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug. * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move... * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin bug. (gl_PREREQ_MKDIR): Delete unused macro. * modules/mkdir (Files): Track file rename. (configure.ac): Update macro name. * modules/openat (Depends-on): Add mkdir. * doc/posix-functions/mkdir.texi (mkdir): Document the bug. mkdir, mkdirat: add tests * modules/mkdir-tests: New test. * tests/test-mkdir.h: New file. * tests/test-mkdir.c: Likewise. * tests/test-mkdirat.c: Likewise. * modules/openat-tests (Files): Add new files. (Makefile.am): Run new test. 2009-10-06 Eric Blake doc: tweak *at function documentation * doc/posix-functions/faccessat.texi (faccessat): Mention known issue with replacement. * doc/posix-functions/fchdir.texi (fchdir): Likewise. * doc/posix-functions/linkat.texi (linkat): Likewise. * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise. * doc/posix-functions/mknodat.texi (mknodat): Likewise. * doc/posix-functions/readlinkat.texi (readlinkat): Likewise. * doc/posix-functions/renameat.texi (renameat): Likewise. * doc/posix-functions/symlinkat.texi (symlinkat): Likewise. openat: fix GNU/Hurd bug in unlinkat * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is broken. * doc/posix-functions/unlink.texi (unlink): Document this. * doc/posix-functions/unlinkat.texi (unlinkat): Likewise. fdopendir: fix GNU/Hurd bug * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in allowing non-directory fds. * lib/fdopendir.c (rpl_fdopendir): Work around it. * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness. * modules/dirent (Makefile.am): Substitute it. * lib/dirent.in.h (fdopendir): Declare replacement. * doc/posix-functions/fdopendir.texi (fdopendir): Document this. * tests/test-fdopendir.c (main): Test something other than /dev/null, since on Hurd that behaves like a directory. test-symlink: port to GNU/Hurd * tests/test-symlink.h (test_symlink): Relax expected errno. doc: tweak more cygwin information * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is now compatible with glibc. * doc/posix-functions/getopt.texi (getopt): Likewise. getopt-gnu: add another test * tests/test-getopt_long.h (test_getopt_long_posix): New test, to guarantee behavior relied on by m4. * tests/test-getopt.c (main): Use it. * modules/getopt-posix-tests (Depends-on): Add setenv. See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html. getopt: fix compilation on darwin * lib/getopt.in.h (includes): Leave breadcrumbs during system include. * lib/unistd.in.h (getopt): Use them to avoid recursive include. Reported by Ludovic Courtès. 2009-10-06 Bruno Haible * modules/size_max (Description): Discourage its use. Reported by Simon Josefsson. 2009-10-06 Jim Meyering linkat: avoid compilation failure * lib/linkat.c: Include for use of SIZE_MAX. 2009-10-05 Eric Blake linkat: support Linux 2.6.17 * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing linkat on Linux, but allow cache variable override. * lib/linkat.c (rpl_linkat): Define override. * modules/linkat (Depends-on): Add symlinkat. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default. * modules/unistd (Makefile.am): Substitute it. * lib/unistd.in.h (linkat): Declare replacement. Reported by Pádraig Brady. quotearg: port test to systems with C.UTF-8 locale * tests/test-quotearg.c (struct result_strings): Add another member, differentiating between C.ASCII and C.UTF-8 handling. (compare_strings): Add parameter. (main): Adjust all callers. getopt: avoid clash with FreeBSD _getopt_internal * lib/getopt.in.h (_getopt_internal): Override the name. * lib/getopt_int.h (includes): Pick up any overrides. Reported by Reuben Thomas. hash: allow C89 compilation * lib/hash.c (check_tuning): Move declaration before statement. Reported by Reuben Thomas. 2009-10-05 Karl Berry * doc/gnulib.texi: @include execvpe.texi, missing for several days. 2009-10-04 Paolo Bonzini Bruno Haible * lib/uname.c (uname): Use a table-driven algorithm to compute Windows NT versions. 2009-10-04 Bruno Haible * lib/progname.c (set_program_name): Also remove the "lt-" prefix from program_invocation_short_name. * modules/progname (configure.ac): Test for presence of program_invocation_short_name. Reported by Sergey Poznyakoff . 2009-10-04 Bruno Haible * lib/progname.c (set_program_name): Fix comment. Reported by Jim Meyering. 2009-10-03 Paolo Bonzini Bruno Haible * lib/uname.c: Include . (uname): Do only one call to GetVersionEx in the common case. 2009-10-03 Paolo Bonzini Bruno Haible * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64, PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks. (uname): Add support for Windows CE and various non-x86 CPU types. 2009-10-03 Bruno Haible * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O invocation to tests/configure.ac. Reported by Ian Beckwith . 2009-10-02 Eric Blake fchdir: avoid compiler warning * lib/fchdir.c (canonicalize_file_name) [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw. test-open: support mingw errno values * tests/test-open.h (test_open): Relax test. * tests/test-fopen.h (test_fopen): Likewise. * tests/test-openat-safer.c (main): Likewise. open: fix opening directory on mingw * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo. test-open: on GNU/Hurd, /dev/null is a directory * tests/test-fopen.h (main): Rename... (test_fopen): ...to this. Use a guaranteed non-directory when confirming open behavior on trailing slash. * tests/test-openat-safer.c (main): Likewise. * tests/test-open.h (main): Likewise.... (test_open): ...to this. * tests/test-fopen.c (main): Adjust caller. * tests/test-fopen-safer.c (main): Likewise. * tests/test-open.c (main): Likewise. * tests/test-fcntl-safer.c (main): Likewise. Reported by Samuel Thibault. rename, fchdir: don't ignore chdir failure * lib/fchdir.c (get_name): Abort on unexpected chdir failure. * lib/rename.c (rpl_rename) [W32]: Likewise. (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing an empty destination directory if source cannot be renamed, although there is still possibility for failure. * doc/posix-functions/rename.texi (rename): Document the race. Reported by Jim Meyering. maint: cleanup whitespace in recent commits * lib/rename.c (rpl_rename): Remove tabs. * tests/test-link.h (test_link): Likewise. * lib/fchdir.c (get_name): Likewise. Reported by Jim Meyering. 2009-10-02 Ben Pfaff relocatable-prog-wrapper: Add missing dependency on double-slash-root. * modules/relocatable-prog-wrapper: Add dependency. Reported by Ian Beckwith . 2009-10-02 Eric Blake renameat: fix Solaris bugs * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename needed fixing. * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness. * modules/stdio (Makefile.am): Substitute it. * lib/stdio.in.h (renameat): Declare replacement. * lib/renameat.c (rpl_renameat): Implement fix. renameat: new module * modules/renameat: New file. * lib/renameat.c (renameat): Likewise. * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise. * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses. * modules/stdio (Makefile.am): Substitute them. * lib/stdio.in.h (renameat): Declare it. * MODULES.html.sh (systems lacking POSIX:2008): Mention module. * doc/posix-functions/renameat.texi (renameat): Likewise. * modules/renameat-tests: New test. * tests/test-renameat.c: Likewise. rename: fix mingw bugs * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and directory overwrite bugs. rename: fix another cygwin 1.5 bug * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two checks. * lib/rename.c (rpl_rename): Don't penalize NetBSD with unnecessary cygwin workarounds. Also work around bug with moving full directory onto an empty one. * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir. rename-dest-slash: merge into rename module * modules/rename-dest-slash (Status): Mark obsolete. (Depends-on): Add rename. (Files): Let rename do it all. * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs, subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH... * m4/rename-dest-slash.m4: ...so this file can be deleted. * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete. * lib/rename.c (rpl_rename): Update comments. rename: fix cygwin 1.5.x bugs * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs. * lib/rename.c (rpl_rename): Work around them. * modules/rename (Depends-on): Add same-inode. rename: fix Solaris 10 bug * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug. * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this was the only bug. rename: fix Solaris 9 bug * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash on non-directory. Avoid calling exit. * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool, strdup. * modules/rename-tests (Depends-on): Drop lstat. * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug. (gl_PREREQ_RENAME): Delete unused macro. rename-dest-slash: fix NetBSD bug * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard links. * modules/rename-dest-slash (Depends-on): Add same-inode. rename-tests: new test, exposes several platform bugs * modules/rename-tests: New file. * tests/test-rename.h: Likewise. * tests/test-rename.c: Likewise. * doc/posix-functions/rename.texi (rename): Improve documentation, including bugs that will eventually be fixed in gnulib. 2009-10-02 Paolo Bonzini * lib/uname.c: Include (uname): Assume version info is available. 2009-10-02 Jim Meyering gnu-web-doc-update: correct --help output * build-aux/gnu-web-doc-update: Make --help output relevant. gnu-web-doc-update: add standard options * build-aux/gnu-web-doc-update: Add --help, --version, etc. gnu-web-doc-update: New module. Use this script to automatically update the on-line web documentation for your GNU project at http://www.gnu.org/software/$pkg/manual/ * modules/gnu-web-doc-update: New file, from coreutils. * build-aux/gnu-web-doc-update: New script. 2009-10-01 Paolo Bonzini link: LoadLibrary is not needed. * lib/link.c: Use GetModuleHandle. 2009-10-01 Eric Blake getopt: bump serial number * m4/getopt.m4: Increment serial number, to account for 2009-09-24 change. tests: tighten link, rmdir, and remove tests * tests/test-link.h (includes): No need to use here. Clean up if directory hard link was created, otherwise test for trailing '.'. * tests/test-linkat.c (main): Simplify. * tests/test-remove.c (main): Enhance test for trailing '.'. * tests/test-rmdir.h (test_rmdir_func): Likewise. 2009-10-01 Jim Meyering maint.mk: requiring "make major" was annoying, for a "minor" release. What is intended is "stable", to contrast with alpha and beta, so require "make stable", not "make major". * build-aux/announce-gen (%valid_release_types): s/major/stable/. (get_tool_versions): Likewise. * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/ 2009-09-30 Ben Pfaff Fix broken build of replacement for Windows tmpfile(). * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide flags argument added along with the 'mkostemp' module. 2009-09-28 Bruno Haible Avoid identifier clash with POSIX function 'remove' defined as a macro. * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove' to 'remove_elt'. (gl_list_remove): Update. * lib/gl_list.c (gl_list_remove): Update. * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove' to 'remove_elt'. (gl_oset_remove): Update. * lib/gl_list.c (gl_oset_remove): Update. Reported by Eric Blake. 2009-09-28 Eric Blake doc: mention yet more cygwin 1.7 status * doc/posix-functions/fexecve.texi (fexecve): Now implemented in cygwin. * doc/glibc-functions/execvpe.texi (execvpe): New file. * doc/gnulib.texi (Glibc unistd.h): Mention it. argp: fix test failure * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values that are not upper-case. Pass correct range to tolower. 2009-09-27 Jim Meyering test-yesno: work around sparc-dash here-document infelicity Without this change, the literal \177 byte in a here document would make dash 0.5.5.1-3 access uninitialized memory. * tests/test-yesno.sh: Don't put the \177 byte in the here document. Instead, use a marker, "@", and filter through tr to create the desired contents. Reported as by Kurt Roeckx. 2009-09-27 Bruno Haible Disable untested support for new flavours of ACLs on AIX. * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in progress. * lib/set-mode-acl.c (qset_acl): Likewise. 2008-12-07 Bruno Haible Add support for new flavours of ACLs on AIX. (Untested.) * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function. (file_has_acl): Add support for newer AIX. * lib/set-mode-acl.c (qset_acl): Likewise. * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by Rainer Tammer . 2009-09-26 Eric Blake argp: fix compilation of getopt * lib/getopt.in.h (includes): Use different guard than glibc. Reported by Sergey Poznyakoff. doc: mention more cygwin 1.7 status * doc/posix-functions/access.texi (access): Mention cygwin 1.5 bug. * doc/posix-functions/execl.texi (execl): Likewise. * doc/posix-functions/execle.texi (execle): Likewise. * doc/posix-functions/execlp.texi (execlp): Likewise. * doc/posix-functions/execv.texi (execv): Likewise. * doc/posix-functions/execve.texi (execve): Likewise. * doc/posix-functions/execvp.texi (execvp): Likewise. * doc/glibc-functions/canonicalize_file_name.texi (canonicalize_file_name): Cygwin 1.7 now provides this. * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise. * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation on AT_SYMLINK_NOFOLLOW. 2009-09-24 Eric Blake test-linkat: make test more robust * tests/test-linkat.c (main): Avoid collision with EEXIST. getopt: fix inclusion guards for cygwin * modules/getopt-posix (Depends-on): Add include-next. (Makefile.am): Substitute more items in replacement header. * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native . * lib/getopt.in.h (includes): Use split inclusion guard, and prefer over include when one is present. (option): Also override name of 'struct option'. same-inode: revert prior change; it is not yet ready * NEWS: Undo mention of this change. * lib/same-inode.h (same-inode.h): Undo tri-state change. * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller. * lib/cycle-check.c (cycle_check): Likewise. * lib/same.c (same_name): Likewise. * lib/at-func2.c (at_func2): Likewise. 2009-09-23 Eric Blake linkat: new module * modules/linkat: New file. * lib/at-func2.c (at_func2): Likewise. * lib/linkat.c (linkat): Likewise. * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise. * lib/openat-priv.h (at_func2): Add declaration. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses. * modules/unistd (Makefile.am): Substitute them. * lib/unistd.in.h (linkat): Declare it. * MODULES.html.sh (systems lacking POSIX:2008): Mention module. * doc/posix-functions/linkat.texi (linkat): Likewise. * doc/posix-functions/link.texi (link): Tweak wording. * tests/test-link.c (main): Move guts... * tests/test-link.h (test_link): ...into new file. * modules/linkat-tests: New test. * tests/test-linkat.c: Likewise. * modules/link-tests (Files): Ship new file. (Depends-on): Add stdbool. dirname: add library-safe mdir_name * lib/dirname.h (mdir_name): New prototype. * lib/dirname.c (dir_name): Move guts... (mdir_name): ...to new function that avoids xalloc_die. fchdir: another mingw fix * modules/fchdir (Depends-on): Drop canonicalize-lgpl. * lib/fchdir.c (get_name): New helper method; skips canonicalize on mingw (where it has not yet been ported), and make it optional elsewhere. (_gl_register_fd): Use it. same-inode: make SAME_INODE tri-state, to port to mingw * NEWS: Mention this change. * lib/same-inode.h (same-inode.h): Recognize mingw limitation of st_ino always being 0. * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller. * lib/cycle-check.c (cycle_check): Likewise. * lib/same.c (same_name): Likewise. lstat: avoid mingw compilation error * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing lstat ourselves. * lib/lstat.c [!HAVE_LSTAT]: Do nothing if override was adequate. * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle the checks for lstat. (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT. link: fix test failure on Solaris 9 * lib/link.c (rpl_link): Don't assume link will catch bogus trailing slash on source. test-symlinkat: enhance test * tests/test-readlink.c (main): Move guts... * tests/test-readlink.h (test_readlink): ...into new file. * tests/test-symlink.c (main): Move guts... * tests/test-symlink.h (test_symlink): ...into new file. * tests/test-symlinkat.c (main): Use new files for further coverage. (do_symlink, do_readlink): New helper functions. * modules/symlink-tests (Files): Ship new file. (Depends-on): Add stdbool. * modules/readlink-tests (Files): Ship new file. (Depends-on): Add stdbool. * modules/symlinkat-tests (Files): Use new files. 2009-09-23 Eric Blake readlink: document portability issue with symlink length * doc/posix-functions/lstat.texi (lstat): Mention that some file systems have bogus st_size on symlinks, and mention the areadlink-with-size module. * doc/posix-functions/fstatat.texi (fstatat): Likewise. * doc/posix-functions/readlink.texi (readlink): Mention the areadlink module, and ERANGE failure. * doc/posix-functions/readlinkat.texi (readlinkat): Likewise. * tests/test-readlink.c (main): Relax test for AIX, HP-UX. readlink: fix Solaris 9 bug with trailing slash * lib/readlink.c (rpl_readlink): Work around trailing slash bug. * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug. * doc/posix-functions/readlink.texi (readlink): Document this. * modules/readlink-tests: New test. * tests/test-readlink.c: Likewise. readlink: fix cygwin 1.5.x bug with return type * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature. * lib/unistd.in.h (readlink): Use ssize_t. * lib/readlink.c (readlink): Likewise. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness. * modules/unistd (Makefile.am): Substitute it. * lib/unistd.in.h (readlink): Declare replacement. * doc/posix-functions/readlink.texi (readlink): Document this. symlink: use throughout gnulib * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check. * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why symlink is not used. * modules/symlinkat (Depends-on): Add symlink. * modules/canonicalize-lgpl-tests (Depends-on): Likewise. * modules/canonicalize-tests (Depends-on): Likewise. * modules/lstat-tests (Depends-on): Likewise. * modules/openat-tests (Depends-on): Likewise. * modules/remove-tests (Depends-on): Likewise. * modules/rmdir-tests (Depends-on): Likewise. * modules/unlink-tests (Depends-on): Likewise. * tests/test-canonicalize-lgpl.c (symlink): Delete stub. * tests/test-canonicalize.c (symlink): Likewise. * tests/test-fstatat.c (symlink): Likewise. * tests/test-lstat.c (symlink): Likewise. * tests/test-remove.c (symlink): Likewise. * tests/test-rmdir.c (symlink): Likewise. * tests/test-unlink.c (symlink): Likewise. * tests/test-unlinkat.c (symlink): Likewise. symlink: new module, for Solaris 9 bug * modules/symlink: New file. * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise. * lib/symlink.c: Likewise. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults. * modules/unistd (Makefile.am): Substitute them. * lib/unistd.in.h (symlink): Declare replacement. * MODULES.html.sh (File system functions): Mention it. * doc/posix-functions/symlink.texi (symlink): Likewise. * modules/symlink-tests: New test. * tests/test-symlink.c: Likewise. 2009-09-23 Bruno Haible * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules when needed. Test case: gnulib-tool --import --with-tests atexit inttypes. Reported by Pauli Miettinen . 2009-09-23 Bruno Haible * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a subcommand, not in a subshell. 2009-09-22 Eric Blake unistd: sort replacement declarations * lib/unistd.in.h: Sort declarations. open, openat: minor optimization * lib/open.c (open): If open succeeded, len is non-zero. * lib/openat.c (rpl_openat): Likewise. link-follow: ensure correct result * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file. * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and distinguish between possible failures. 2009-09-21 Eric Blake fts: avoid compiler warning * lib/fts.c (dirent_inode_sort_may_be_useful) (leaf_optimization_applies) [!__linux__]: Mark unused parameters. 2009-09-19 Bruno Haible * lib/progreloc.c (canonicalize_file_name): New declaration. 2009-09-19 Eric Blake link: fix quoting * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting. openat: fix openat bugs on Solaris 9 * lib/openat.c (rpl_openat): Work around Solaris 9 bug. * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris. * modules/openat (Depends-on): Add open. * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default. * modules/fcntl-h (Makefile.am): Substitute it. * lib/fcntl.in.h (openat): Declare replacement. * doc/posix-functions/openat.texi (openat): Document this. openat: move fstatat and unlinkat into correct files * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be compiled. * lib/openat.c (fstatat, unlinkat): Move... * lib/fstatat.c (fstatat): ...into correct files. * lib/unlinkat.c (unlinkat): Likewise. openat: fix unlinkat bugs on Solaris 9 * lib/unlinkat.c (unlinkat): New file. * modules/openat (Depends-on): Add unlink. (Files): Distribute it. * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if trailing slash behavior is broken. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness. * modules/unistd (Makefile.am): Substitute it. * lib/unistd.in.h (unlinkat): Declare replacement. * doc/posix-functions/unlinkat.texi (unlinkat): Document this. openat: fix fstatat bugs on Solaris 9 * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and stat. * doc/posix-functions/fstatat.texi (fstatat): Document this. test-unlinkat: enhance test, to expose Solaris 9 bug * tests/test-unlink.c (main): Factor guts... * tests/test-unlink.h (test_rmdir_func): ...into new file. * tests/test-rmdir.h (test_rmdir_func): Add parameter. * tests/test-rmdir.c (main): Adjust caller. * tests/test-unlinkat.c (main): Likewise. Add unlink tests. (unlinker): New helper function. (rmdirat): Enhance check. * modules/rmdir-tests (Depends-on): Add stdbool. * modules/unlink-tests (Depends-on): Likewise. (Files): Add test-unlink.h. * modules/openat-tests (Files): Likewise. (Depends-on): Add unlinkdir. test-fstatat: new test, to expose Solaris 9 bugs * tests/test-stat.c (main): Factor guts... * tests/test-stat.h (test_stat_func): ...into new file. * tests/test-lstat.c (main): Factor guts... * tests/test-lstat.h (test_lstat_func): ...into new file. * tests/test-fstatat.c: New file. * modules/stat-tests (Files): Add test-stat.h. * modules/lstat-tests (Files): Add test-lstat.h. (Depends-on): Add stdbool. * modules/openat-tests (Depends-on): Add pathmax. (Files): Add test-lstat.h, test-stat.h, test-fstatat.c. (Makefile.am): Run new test. remove: new module, for mingw and Solaris 9 bugs * modules/remove: New file. * lib/remove.c: Likewise. * m4/remove.m4 (gl_FUNC_REMOVE): Likewise. * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses. * modules/stdio (Makefile.am): Use them. * lib/stdio.in.h (remove): Declare replacement. * MODULES.html.sh (systems lacking POSIX:2008): Mention module. * doc/posix-functions/remove.texi (remove): Likewise. * modules/remove-tests: New test. * tests/test-remove.c: Likewise. unlink: new module, for Solaris 9 bug * modules/unlink: New file. * lib/unlink.c: Likewise. * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses. * modules/unistd (Makefile.am): Use them. * lib/unistd.in.h (stat): Declare replacement. * MODULES.html.sh (systems lacking POSIX:2008): Mention module. * doc/posix-functions/unlink.texi (unlink): Likewise. * modules/unlink-tests: New test. * tests/test-unlink.c: Likewise. lstat: fix Solaris 9 bug * lib/lstat.c (lstat): Also check for trailing slash on non-symlink, non-directories. Use stat module to simplify logic. * doc/posix-functions/lstat.texi (lstat): Document it. * modules/lstat-tests (Depends-on): Add errno, same-inode. (configure.ac): Check for symlink. * tests/test-lstat.c (main): Add more tests. stat: add as dependency to other modules * modules/chown (Depends-on): Add stat. * modules/euidaccess (Depends-on): Likewise. * modules/fchdir (Depends-on): Likewise. * modules/isdir (Depends-on): Likewise. * modules/link (Depends-on): Likewise. * modules/lstat (Depends-on): Likewise. * modules/mkdir-p (Depends-on): Likewise. * modules/modechange (Depends-on): Likewise. * modules/open (Depends-on): Likewise. * modules/readlink (Depends-on): Likewise. * modules/same (Depends-on): Likewise. stat: fix Solaris 9 bug * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing slash. * lib/stat.c (rpl_stat): Work around it. * doc/posix-functions/stat.texi (stat): Update documentation. stat: new module, for mingw bug * modules/stat: New file. * lib/stat.c: Likewise. * m4/stat.m4 (gl_FUNC_STAT): Likewise. * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses. * modules/sys_stat (Makefile.am): Use them. * lib/sys_stat.in.h (stat): Declare replacement. * lib/openat.c (fstatat): Deal with lstat and stat being function macros. * modules/openat (Depends-on): Add inline. * MODULES.html.sh (systems lacking POSIX:2008): Mention module. * doc/posix-functions/stat.texi (stat): Likewise. * modules/stat-tests: New test. * tests/test-stat.c: Likewise. 2009-09-19 Jim Meyering syntax-check: detect unnecessary inclusion of canonicalize.h * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule. 2009-09-19 Eric Blake canonicalize-lgpl: adjust clients to use correct header * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE) (gl_CANONICALIZE_LGPL): Use correct shell quoting. * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h. * lib/fchdir.c (includes): Use , not "canonicalize.h". * lib/progreloc.c (includes): Likewise. 2009-09-19 Jim Meyering test-posixtm.c: correct a comment * tests/test-posixtm.c: Correct first-line comment. Spotted by Eric Blake. 2009-09-16 Jim Meyering posixtm-tests: make T const-correct; add a test case * tests/test-posixtm.c (T): Declare const. Add a test for -(2^31+1). Remove useless can-succeed-only-in-2002 test. posixtm-tests: adjust the sole failing test * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that expected output matches what mktime now produces. Cross-checked via erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}}) posixtm: move #ifdef'd tests into a new module * lib/posixtm.c (posixtime): Remove #ifdef'd tests. Move to... * tests/test-posixtm.c: ... this new file. * modules/posixtm-tests: New module. 2009-09-19 Eric Blake openat: simplify use of at-func.c * lib/at-func.c (includes): Include prerequisites here, to simplify requirements on client files. * lib/openat-priv.h: Add double-inclusion guard. * lib/faccessat.c (includes): Simplify. * lib/fchmodat.c (includes): Likewise. * lib/fchownat.c (includes): Likewise. * lib/mkdirat.c (includes): Likewise. * lib/mkfifoat.c (includes): Likewise. * lib/symlinkat.c (includes): Likewise. openat: allow return of fd 0 * modules/chdir-long (Depends-on): Relax openat-safer to openat. * modules/save-cwd (Depends-on): Replace fcntl-safer with unistd-safer. * lib/chdir-long.c (includes): Replace "fcntl--.h" with ; this module does not leak fds. * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat must be allowed to return 0, leaving openat_safer to add the safety. (openat_permissive): Avoid writing to just-opened fd 2 if restoring the current directory fails. * lib/openat-die.c (openat_restore_fail): Add comment. * lib/save-cwd.c (includes): Make "fcntl--.h" conditional. (save_cwd): Guarantee safe fd, but without use of open_safer. * tests/test-openat.c: New test. * modules/openat-tests (Files, Makefile.am): Distribute and build new file. relocatable-prog-wrapper: fix build * modules/relocatable-prog-wrapper (Files): Update name of canonicalize m4 file, broken on 2009-09-17. Reported by emad hajjar . 2009-09-19 Bruno Haible * lib/safe-alloc.h: Use the standard header with GPL copyright. * lib/safe-alloc.c: Likewise. Reported by Ian Beckwith . 2009-09-18 Bruno Haible * gnulib-tool: Add advice to "cannot find configure.ac" error message. Reported by . 2009-09-17 Eric Blake canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing slashes when checking if last component is missing. * tests/test-canonicalize.c (main): Test this. canonicalize, canonicalize-lgpl: honor // if distinct from / * modules/canonicalize (Files): Add double-slash-root.m4. * modules/canonicalize-lgpl (Files): Likewise. * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE) (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency. * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide fallback definition. (canonicalize_filename_mode): Use it to protect //. * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT) (__realpath): Likewise. * tests/test-canonicalize.c (main): Test this. * tests/test-canonicalize-lgpl.c (main): Likewise. * modules/canonicalize-tests (Depends-on): Add same-inode. * modules/canonicalize-lgpl-tests (Depends-on): Likewise. canonicalize-lgpl: fix glibc bug with trailing slash * m4/canonicalize-lgpl.m4: Move contents... * m4/canonicalize.m4: ...here. (gl_CANONICALIZE_LGPL): Factor realpath check... (gl_FUNC_REALPATH_WORKS): ...into new macro. Enhance to catch glibc 2.3.5 bug, fixed 2005-04-27. (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it. (gl_PREREQ_CANONICALIZE_LGPL): Inline... (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro. * modules/canonicalize-lgpl (Files): Manage file rename. * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default. * modules/stdlib (Makefile.am): Substitute witness. * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement is needed. * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name replacement is required. * lib/canonicalize.c (canonicalize_file_name): Likewise. * doc/glibc-functions/canonicalize_file_name.texi (canonicalize_file_name): Document this. * doc/posix-functions/realpath.texi (realpath): Likewise. canonicalize-lgpl: reject non-directory with trailing slash * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc. * tests/test-canonicalize-lgpl.c (main): Enhance test. This catches failures in glibc 2.3.5. * tests/test-canonicalize.c (main): Likewise. canonicalize-lgpl: use native realpath if it works * lib/canonicalize-lgpl.c (realpath): Guard with FUNC_REALPATH_WORKS. * lib/stdlib.in.h (realpath): Make declaration optional based on HAVE_REALPATH. * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether native realpath works. * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default. * modules/stdlib (Makefile.am): Substitute witness. canonicalize, canonicalize-lgpl: use * modules/canonicalize-lgpl (Files): Drop canonicalize.h. (Include): Mention . (configure.ac): Mention functions we provide. * modules/canonicalize (configure.ac): Likewise. * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace realpath if canonicalize_file_name is missing. * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults. * modules/stdlib (Makefile.am): Substitute witnesses. * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare. * lib/canonicalize-lgpl.c (includes): Adjust accordingly. * lib/canonicalize.h (canonicalize_file_name): Drop declaration. * NEWS: Document this. * doc/glibc-functions/canonicalize_file_name.texi (canonicalize_file_name): Likewise. * doc/posix-functions/realpath.texi (realpath): Likewise. * tests/test-canonicalize-lgpl.c (includes): Use . test-canonicalize: consolidate into single C program * tests/test-canonicalize.sh: Delete; move setup into... * tests/test-canonicalize.c (main): ...the program, making it easier to run in debugger. Add some tests. * modules/canonicalize-tests (Files): Remove unused file. (Depends-on): Add progname. (configure.ac, Makefile.am): Simplify. test-canonicalize-lgpl: consolidate into single C program * tests/test-canonicalize-lgpl.sh: Delete; move setup into... * tests/test-canonicalize-lgpl.c (main): ...the program, making it easier to run in debugger. Add some tests. * modules/canonicalize-lgpl-tests (Files): Remove unused file. (configure.ac, Makefile.am): Simplify. canonicalize: avoid resolvepath * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete unnecessary checks. * lib/canonicalize.c (includes): Simplify. (canonicalize_file_name): Drop resolvepath implementation. * modules/canonicalize (Depends-on): Drop filenamecat. canonicalize: don't lose errno * lib/canonicalize.c (canonicalize_filename_mode): Protect errno over calls to free. canonicalize: simplify errno handling * lib/canonicalize.c (__set_errno): Delete macro, and use direct assignment. canonicalize, canonicalize-lgpl: update module dependencies * modules/canonicalize (Depends-on): Add extensions, lstat, pathmax, stdlib. (Files): Drop pathmax.h. (configure.ac): Adjust macro name. * modules/canonicalize-lgpl (Depends-on): Add errno, extensions, lstat, stdlib, sys_stat. * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename... (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require extensions. * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL) (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions. (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h. * lib/canonicalize.h (canonicalize_file_name): Use declaration, if available. * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition; we can rely on the readlink module. (MAXSYMLINKS): Also consult SYMLOOP_MAX. (includes): Use unconditionally. 2009-09-17 Eric Blake maint: make Include sections of modules consistent * modules/alloca: Use only header name; no need to list #include. * modules/alloca-opt: Likewise. * modules/arpa_inet: Likewise. * modules/canon-host: Likewise. * modules/configmake: Likewise. * modules/dirent: Likewise. * modules/eealloc: Likewise. * modules/environ: Likewise. * modules/fchdir: Likewise. * modules/fcntl: Likewise. * modules/fcntl-h: Likewise. * modules/gethrxtime: Likewise. * modules/gettime: Likewise. * modules/ignore-value: Likewise. * modules/inet_ntop: Likewise. * modules/inet_pton: Likewise. * modules/inttypes: Likewise. * modules/isnand-nolibm: Likewise. * modules/isnanf-nolibm: Likewise. * modules/mbchar: Likewise. * modules/mbfile: Likewise. * modules/mbiter: Likewise. * modules/mbuiter: Likewise. * modules/netdb: Likewise. * modules/netinet_in: Likewise. * modules/nproc: Likewise. * modules/pagealign_alloc: Likewise. * modules/poll: Likewise. * modules/printf-frexp: Likewise. * modules/pthread: Likewise. * modules/putenv: Likewise. * modules/random_r: Likewise. * modules/relocatable-prog: Likewise. * modules/search: Likewise. * modules/select: Likewise. * modules/selinux-h: Likewise. * modules/settime: Likewise. * modules/signal: Likewise. * modules/size_max: Likewise. * modules/socklen: Likewise. * modules/ssize_t: Likewise. * modules/stdarg: Likewise. * modules/stdbool: Likewise. * modules/stddef: Likewise. * modules/stdint: Likewise. * modules/stdio: Likewise. * modules/stdlib: Likewise. * modules/string: Likewise. * modules/strings: Likewise. * modules/sys_file: Likewise. * modules/sys_ioctl: Likewise. * modules/sys_select: Likewise. * modules/sys_socket: Likewise. * modules/sys_stat: Likewise. * modules/sys_time: Likewise. * modules/sys_times: Likewise. * modules/sys_utsname: Likewise. * modules/sys_wait: Likewise. * modules/sysexits: Likewise. * modules/time: Likewise. * modules/times: Likewise. * modules/tmpfile: Likewise. * modules/trim: Likewise. * modules/unistd: Likewise. * modules/wchar: Likewise. * modules/wctype: Likewise. 2009-09-17 Bruno Haible Make getdate.y compile on QNX and NetBSD 5 / i386. * m4/getdate.m4 (gl_GETDATE): Conditionally define TIME_T_FITS_IN_LONG_INT. * lib/getdate.y (long_time_t): New type. (relative_time): Change type of 'seconds' field to long_time_t. (get_date): Update types of local variables. Check against overflow during conversion from long_time_t to time_t. Reported by Matt Kraai and Hasso Tepper . 2009-09-17 Bruno Haible * modules/COPYING: Update copyright years. * modules/README: Likeiwse. * doc/gnulib-intro.texi (Copyright): Use a wildcard year. Reported by Ian Beckwith . 2009-09-17 Ian Beckwith (tiny change) * users.txt: Update references for gnuit package. 2009-09-17 Ian Beckwith (tiny change) * m4/getdelim.m4: Fix typo in copyright line. 2009-09-17 Bruno Haible * lib/atoll.c: Use the standard header with GPL copyright. * lib/argz.in.h: Likewise. * lib/glob.c: Likewise. * lib/glob-libc.h: Likewise. * lib/random_r.c: Likewise. * lib/siglist.h: Likewise. * lib/strsignal.c: Likewise. Reported by Ian Beckwith . 2009-09-17 Eric Blake rmdir: ensure correct dependency order * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults. 2009-09-17 Bruno Haible Disable assertion that fails on NetBSD 5 / i386. * lib/mktime.c (ydhms_diff): Disable assertion about time_t size. Reported by Sam Steingold and Hasso Tepper . 2009-09-16 Eric Blake unlinkdir: port to mingw * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms on which no one can unlink a directory. stdlib: sort witness names * modules/stdlib (Makefile.am): Sort replacements. * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise. * lib/stdlib.in.h: Likewise. parse-duration-tests: avoid link failure * modules/parse-duration-tests (test_parse_duration_LDADD): Add LIBINTL. Reported by Tom G. Christensen. openat-tests: ensure unlinkat behaves like rmdir * tests/test-rmdir.c (main): Factor guts... * tests/test-rmdir.h (test_rmdir_func): ...into new file. * modules/rmdir-tests (Files): Ship new file. * modules/openat-tests: New test. * tests/test-unlinkat.c: Likewise. rmdir-errno: mark obsolete, it is unsafe for cross-compilation * modules/rmdir-errno (Status, Notice): Now obsolete. rmdir: work around cygwin 1.5.x and mingw bugs * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs. * lib/rmdir.c (rmdir): Work around it. * modules/rmdir (Status, Notice): No longer obsolete. (Files): Add dos.m4. (Depends-on): Add unistd. (configure.ac): Set witnesses. (License): Relax to LGPLv2+. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults. * modules/unistd (Makefile.am): Substitute witnesses. * lib/unistd.in.h (rmdir): Declare replacement. * doc/posix-functions/rmdir.texi (rmdir): Document this. * modules/rmdir-tests: New tests. * tests/test-rmdir.c: Likewise. 2009-09-15 Eric Blake fchdir: improve use of replacement functions * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses. * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT. * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR, REPLACE_CLOSEDIR. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP. * modules/sys_stat (Makefile.am): Substitute correct witness. * modules/dirent (Makefile.am): Likewise. * modules/unistd (Makefile.am): Likewise. * lib/dirent.in.h (opendir, closedir): Use better witnesses. * lib/unistd.in.h (dup): Likewise. * lib/sys_stat.in.h (fstat): Likewise. maint: ignore gnulib-tool temp files * .gitignore: Ignore files created during gnulib-tool --test. 2009-09-13 Jim Meyering posixtm: don't reject a time that specify "60" as the number of seconds * lib/posixtm.c (posixtime): The code to reject invalid dates would also reject a time specified with the .60 suffix. But POSIX allows that, in order to accommodate leap seconds. So don't reject it. (main): Adjust tests accordingly. * modules/posixtm (Depends-on): Add stpcpy. 2009-09-11 Jim Meyering announce-gen: include [$release_type] in emitted Subject: * build-aux/announce-gen (get_tool_versions): Include [$release_type], e.g., [stable] in the emitted Subject: line. 2009-09-10 Ralf Wildenhues Remove obsolete macros from several modules. * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace obsolete Autoconf macros with their modern counterparts. * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise. * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise. * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise. * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise. * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise. * m4/getline.m4 (gl_FUNC_GETLINE): Likewise. * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise. * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise. * m4/poll.m4 (gl_FUNC_POLL): Likewise. * m4/readline.m4 (gl_FUNC_READLINE): Likewise. * m4/round.m4 (gl_FUNC_ROUND): Likewise. * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise. * m4/select.m4 (gl_FUNC_SELECT): Likewise. * m4/sockets.m4 (gl_SOCKETS): Likewise. * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise. * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise. * m4/sysexits.m4 (gl_SYSEXITS): Likewise. * m4/time_r.m4 (gl_TIME_R): Likewise. * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise. * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise. * m4/wctype.m4 (gl_WCTYPE_H): Likewise. Fix copyright header in build-aux scripts. * build-aux/git-version-gen: Fix copyright header to match GPLv3 recommendation. * build-aux/ncftpput-ftp: Likewise. * build-aux/update-copyright: Likewise. 2009-09-09 Eric Blake test-link: allow Linux choice of errno * tests/test-link.c (main): Relax test for alternate error. strndup: fix improper m4 caching * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects inside AC_CACHE_CHECK. Use REPLACE_STRNDUP, not HAVE_STRNDUP. (gl_PREREQ_STRNDUP): Delete. * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default. * modules/string (Makefile.am): Substitute it. * lib/string.in.h (strndup): Modernize prototype. getcwd: port to mingw * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very different from the POSIX assumptions made throughout the getcwd module; fortunately, the mingw getcwd does not need replacement. (gl_FUNC_GETCWD_NULL): Skip test on mingw. * modules/getcwd-tests: New test. * tests/test-getcwd.c: Likewise. link: fix platform bugs * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs. * lib/link.c (link): Work around them. Fix related mingw bug. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK. * modules/unistd (Makefile.am): Substitute it. * lib/unistd.in.h (link): Declare replacement. * doc/posix-functions/link.texi (link): Document this. * modules/link (Depends-on): Add strdup-posix, sys_stat. test-link: consolidate into single C program, test more cases * tests/test-link.sh: Delete. * tests/test-link.c: Test more error conditions. Exposes bugs on at least Cygwin and Solaris. * modules/link-tests (Files): Remove unused file. (Depends-on): Add errno, sys_stat. (Makefile.am): Simplify. 2009-09-08 Bruno Haible Work around towlower, towupper bug on mingw. * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements. * m4/wctype.m4 (gl_WCTYPE_H): Replace also on mingw. * doc/posix-functions/towlower.texi: Mention the mingw bug. * doc/posix-functions/towupper.texi: Likewise. Reported by Eric Blake. 2009-09-08 Jim Meyering build: don't try to run autoheader if we don't use it * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS is not used in configure.ac. 2009-09-08 Eric Blake euidaccess: fix compilation error * lib/euidaccess.c (includes): Add , for AT_EACCESS. rawmemchr: relax license * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is okay. Reported by Jim Meyering. mkfifoat: new module * modules/mkfifoat: New file. * lib/mkfifoat.c: Likewise. * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise. * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses. * modules/sys_stat (Makefile.am): Use them. * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them. * MODULES.html.sh (File system functions): Mention module. * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise. * doc/posix-functions/mknodat.texi (mknodat): Likewise. * modules/mkfifoat-tests: New test. * tests/test-mkfifoat.c: Likewise. strchrnul: relax license * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is okay. Reported by Jim Meyering. 2009-09-08 Eric Blake fstatat: fix compilation on Solaris * lib/fstatat.c (includes): Add fcntl.h. Reported by Pádraig Brady. 2009-09-07 Eric Blake rename: modernize replacement * modules/rename (Depends-on): Add stdio. (configure.ac): Declare witness. * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let stdio take care of replacement. * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults. * modules/stdio (Makefile.am): Substitute them. * lib/stdio.in.h (rename): Declare replacement. * lib/rename.c (includes): Allow cross-compilation to non-windows machines. * doc/posix-functions/rename.texi (rename): Improve documentation. stdio: sort witness names * modules/stdio (Makefile.am): Sort replacements. * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise. * lib/stdio.in.h: Likewise. getcwd: minor cleanups * lib/getcwd.c (AT_FDCWD): Delete; rely on instead. (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable. openat: provide more convenience names * modules/faccessat (configure.ac): Add C witness. * lib/unistd.in.h (readlinkat): Fix typo. * lib/openat.h (statat, lstatat, accessat, euidaccessat): New convenience wrappers. * top/maint.mk (sc_prohibit_openat_without_use): Allow these wrappers in syntax checks. 2009-09-06 Eric Blake doc: fix comments in recent patches * lib/faccessat.c: Mention correct function. * lib/fchmodat.c: Likewise. * lib/fchownat.c: Likewise. * lib/symlinkat.c: Likewise. * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_* constants. faccessat, symlinkat: continue cleanup of previous patch * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order. * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise. * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT. * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT. * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is set. 2009-09-06 Bruno Haible * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set. (fstatat): Declare if GNULIB_FSTATAT is set. (mkdirat): Declare if GNULIB_MKDIRAT is set. * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set. (unlinkat): Declare if GNULIB_UNLINKAT is set. * modules/fcntl-h (Files): Remove m4/openat.m4. * modules/sys_stat (Files): Remove m4/openat.m4. (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT instead of GNULIB_OPENAT. * modules/unistd (Files): Remove m4/openat.m4. (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of GNULIB_OPENAT. * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT, HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS. * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT, HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require gl_OPENAT_DEFAULTS. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT, GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here. Don't require gl_OPENAT_DEFAULTS. * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS, gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT. (gl_OPENAT_DEFAULTS): Remove macro. 2009-09-06 Bruno Haible * modules/openat (configure.ac): Remove unneeded witness. 2009-09-06 Bruno Haible Set errno to ENOSYS when a function is entirely unsupported. * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of EOPNOTSUPP. * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise. * modules/chown (Depends-on): Remove errno. 2009-09-06 Bruno Haible * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms. 2009-09-06 Bruno Haible * lib/sys_stat.in.h: Fix preprocessor command indentation. 2009-09-06 Ben Pfaff Bruno Haible Work around a glibc bug in strtok_r. * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set. Undefine if UNDEFINE_STRTOK_R is set. * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine. * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize REPLACE_STRTOK_R and UNDEFINE_STRTOK_R. * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug. * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R, UNDEFINE_STRTOK_R. * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug. 2009-09-06 Sergey Poznyakoff exclude: minor fix * lib/exclude.c: Include wctype.h 2009-09-06 Akim Demaille bootstrap: improve error message * build-aux/bootstrap (find_tool): Upon failure, report the list of candidates. Honor the initial value of the envvar. 2009-09-05 Eric Blake symlinkat: new module * modules/symlinkat: New file. * lib/symlinkat.c: Likewise. * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses. * modules/unistd (Makefile.am): Use them. * lib/unistd.in.h (symlinkat, readlinkat): Declare them. (faccessat) [GNULIB_POSIXCHECK]: Fix typo. * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int. * MODULES.html.sh (File system functions): Mention module. * doc/posix-functions/symlinkat.texi (symlinkat): Likewise. * doc/posix-functions/readlinkat.texi (readlinkat): Likewise. * modules/symlinkat-tests: New test. * tests/test-symlinkat.c: Likewise. test-openat-safer: add more checks * tests/test-openat-safer.c (main): Check more code paths. 2009-09-05 Jim Meyering syntax-check: detect unnecessary inclusion of openat.h * top/maint.mk (sc_prohibit_openat_without_use): New rule. 2009-09-05 Bruno Haible Support towlower, towupper. * doc/posix-functions/towlower.texi: Mention module wctype. * doc/posix-functions/towupper.texi: Likewise. * lib/wctype.in.h (towlower, towupper): New functions. * tests/test-wctype.c: Include stdio.h, stdlib.h. (ASSERT): New macro. (e): New variable. (main): Test also towlower, towupper. Test WEOF argument. Reported by Alan Hourihane . 2009-09-05 Bruno Haible Fix conversion behaviour when the input is invalid. * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question mark occurring in first pass of indirect conversion. * tests/test-striconveh.c (main): Test conversion of invalid ASCII input. Found by clang's static analyzer. 2009-09-05 Bruno Haible * tests/test-striconveh.c (main): Test indirect conversion on platforms where direct conversion is possible. 2009-09-04 Eric Blake openat: fail with ENOENT on empty name * lib/openat-proc.c (openat_proc_name): Special-case the empty buffer. link-follow: fix logic bug in prior patch * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that reversed sense of yes and no in prior patch. Avoid confusing compilation failure with desired semantics. link-follow: accomodate mingw and cross-compilation * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename... (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this. Change cross-compilation results to -1, to make linkat easier to implement when cross-compiling. Trivially support mingw. * modules/link-follow (configure.ac): Call new name. * NEWS: Mention this. 2009-09-03 Eric Blake faccessat: compile replacement * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when needed. fts: fix compilation error * lib/fts.c (includes): Re-add "openat.h", for openat_needs_fchdir. faccessat: new module * modules/faccessat: New file. * lib/faccessat.c: Likewise. * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness. * modules/unistd (Makefile.am): Use it. * lib/unistd.in.h (faccessat): Declare it. (F_OK, X_OK, W_OK, R_OK): Provide definitions. * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise. * MODULES.html.sh (File system functions): Mention it. * doc/posix-functions/faccessat.texi (faccessat): Likewise. * doc/posix-headers/fcntl.texi (fcntl.h): Likewise. euidaccess: prefer POSIX over non-standard implementation * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat. * lib/euidaccess.c (euidaccess): Use it if available. openat: make template easier to use * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and AT_FUNC_F2 to be undefined. (VALIDATE_FLAG): New macro; use it to reject bad flags. (AT_FUNC_USE_F1_COND): Change sense to just flag bit. * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust. * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise. * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]: Likewise. * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete. * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND) [getfileconat, lgetfileconat, setfileconat, lsetfileconat]: Likewise. openat: declare in POSIX headers * NEWS: Mention this. * modules/openat (configure.ac): Declare witnesses. (Depends-on): Add fcntl-h, sys_stat, unistd. (Include): Mention correct headers. * modules/fcntl-h (Depends-on): Add link-warning. (Files): Add openat.m4. (Makefile.am): Substitute witnesses. * modules/sys_stat (Files, Makefile.am): Likewise. * modules/unistd (Files, Makefile.am): Likewise. * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses. (gl_OPENAT_DEFAULTS): New macro. * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise. * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise. (SYS_STAT_H): Remove unused variable. * doc/posix-headers/fcntl.texi (fcntl.h): Update content. * lib/fcntl--.h (includes): Remove unneeded header. * lib/openat-safer.c (includes): Likewise. * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR) (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to appropriate headers. (__OPENAT_PREFIX): Delete. * lib/fcntl.in.h (openat): Provide declaration. (AT_FDCWD): Fix Solaris bug. (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros. * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration. * lib/fchmodat.c (includes): Adjust to find declaration. * lib/fchownat.c (includes): Likewise. * lib/mkdirat.c (includes): Likewise. * lib/fstatat.c (includes): Likewise. Ensure original fstatat is still visible. 2009-09-02 Eric Blake errno: use consistently * lib/c-stack.c (ENOTSUP): guarantees a definition. * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise. * lib/canonicalize.c (ELOOP): Likewise. * lib/inet_ntop.c (EAFNOSUPPORT): Likewise. * lib/inet_pton.c (EAFNOSUPPORT): Likewise. * lib/lchown.c (EOPNOTSUPP): Likewise. * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise. * lib/savewd.c (ESTALE): Likewise. * lib/settime.c (ENOSYS): Likewise. * lib/utimens.c (ENOSYS): Likewise. * lib/xgethostname.c (ENAMETOOLONG): Likewise. * lib/chdir-safer.c (ELOOP): Likewise. (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness. * modules/c-stack (Depends-on): Add errno. * modules/canonicalize (Depends-on): Likewise. * modules/chdir-safer (Depends-on): Likewise. * modules/fdopendir (Depends-on): Likewise. * modules/inet_ntop (Depends-on): Likewise. * modules/inet_pton (Depends-on): Likewise. * modules/lchown (Depends-on): Likewise. * modules/openat (Depends-on): Likewise. * modules/savewd (Depends-on): Likewise. * modules/settime (Depends-on): Likewise. * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink. fts: avoid leaking fds * modules/fts (Depends-on): Add cloexec. * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec flag. fts: make directory fds more robust * lib/fts.c (O_DIRECTORY): Let take care of this. (opendirat): Specify O_DIRECTORY, and add fallbacks for safety. backupfile, chdir-long, fts, savedir: make safer * lib/backupfile.c (includes): Use "dirent--.h", since numbered_backup can write to stderr during readdir. * lib/savedir.c (includes): Likewise. * lib/chdir-long.c (includes): Use "fcntl--.h", since openat emulation can write to stderr on failure. * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat. * lib/getcwd.c: Document why opendir_safer is unused. * lib/glob.c: Likewise. * lib/scandir.c: Likewise. * lib/openat-proc.c: Likewise, for open_safer. * modules/backupfile (Depends-on): Add dirent-safer. * modules/savedir (Depends-on): Likewise. * modules/fts (Depends-on): Add dirent-safer and openat-safer. * modules/chdir-long (Depends-on): Add openat-safer. openat-safer: new module * modules/openat-safer: New file. * lib/openat-safer.c: Likewise. * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro. * lib/fcntl-safer.h (openat_safer): Declare. * lib/fcntl--.h (openat): Override. * MODULES.html.sh (File descriptor based I/O): Mention it. * lib/openat.h: Add double-inclusion guards. * lib/openat.c (includes): Only include "fcntl-safer.h", not "fcntl--.h", so we can implement openat. * modules/openat-safer-tests: New test. * tests/test-openat-safer.c: New file. dirent-safer: new module * modules/dirent-safer: New file. * lib/dirent--.h: Likewise. * lib/dirent-safer.h: Likewise. * lib/opendir-safer.c: Likewise. * m4/dirent-safer.m4: Likewise. * MODULES.html.sh (Enhancements for POSIX:2008): Mention it. * modules/dirent-safer-tests: New test. * tests/test-dirent-safer.c: New file. * lib/fdopendir.c (includes): Ensure fdopendir is also safe. fdopendir: optimize on mingw * lib/unistd.in.h (_gl_directory_name): New prototype. * lib/fchdir.c (_gl_directory_name): Implement it. (fchdir): Use it to simplify implementation. * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from fchdir, when available, to avoid calling [f]chdir(). fdopendir: split into its own module * lib/openat.c (fdopendir): Move... * lib/fdopendir.c: ...into new file. * modules/fdopendir: New module. * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file. * modules/openat (Depends-on): Add fdopendir. * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for fdopendir here. * modules/savedir (Depends-on): Only need fdopendir, not full openat. * lib/savedir.c (include): Use , not "openat.h". * lib/openat.h (fdopendir): Drop prototype. * lib/dirent.in.h (fdopendir): Provide prototype. * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements. * modules/dirent (Makefile.am): Substitute them. * MODULES.html.sh (File system functions): Mention it. * doc/posix-functions/fdopendir.texi (fdopendir): Likewise. * modules/fdopendir-tests: New file. * tests/test-fdopendir.c: Likewise. fchdir: use more consistent macro convention * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd. * lib/sys_stat.in.h (rpl_fstat): Declare via make-time REPLACE_FCHDIR, rather than relying on config.h macros. * lib/unistd.in.h (fchdir): Move all fchdir internal declarations inside a single make-time REPLACE_FCHDIR block, rather than using the config.h FCHDIR_REPLACEMENT. * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already AC_SUBST'd, also AC_DEFINE it. Don't define FCHDIR_REPLACEMENT. Manage fstat replacement. * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up REPLACE_FCHDIR. * modules/sys_stat (Files): Add m4/unistd_h.m4. (Makefile.am): Substitute REPLACE_FCHDIR. * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. * lib/dup-safer.c (dup_safer): Likewise. * lib/dup2.c (rpl_dup2): Likewise. * lib/dup3.c (rpl_dup3): Likewise. * lib/open.c (rpl_open): Likewise. fchdir: simplify error handling, and support dup3 * modules/fchdir (Depends-on): Use strdup-posix, not strdup. Add stdbool, malloc-posix, realloc-posix. * lib/fchdir.c (struct dir_info_t): Delete saved_errno. (ensure_dirs_slot): Return false on allocation failure. (rpl_dup2): Delete. (_gl_register_dup): New function. (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers. (_gl_register_fd): Close fd on allocation failure. * lib/fcntl.in.h (_gl_register_fd): Update signature. * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New prototype. (rpl_dup2_fchdir): Delete prototype. * lib/open.c (open): Update caller. * lib/dup2.c (dup2): Track fchdir metadata. * lib/dup3.c (dup3): Likewise. * m4/dup2.m4 (gl_REPLACE_DUP2): New macro. * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it. 2009-09-02 Ralf Wildenhues * gnulib-tool (func_create_testdir, func_create_megatestdir): Use AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and don't pass arguments to AC_OUTPUT. 2009-09-02 Bruno Haible * modules/mkdtemp (License): Relicense under LGPLv2+. Reported by Paolo Bonzini. 2009-09-02 Ralf Wildenhues Replace uses of obsolete autoconf macros in Jim's modules. The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use can evoke a warning from autoconf when run with -Wobsolete enabled. They were declared obsolete for good reasons (see the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual, recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we should not continue using the deprecated macros. * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace obsolete Autoconf macros with modern counterparts. * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise. * m4/dos.m4 (gl_AC_DOS): Likewise. * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise. * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise. * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise. * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise. * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise. * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise. * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise. * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise. * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): Likewise. * m4/rename.m4 (gl_FUNC_RENAME): Likewise. * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise. * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise. * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise. * m4/stat-time.m4 (gl_STAT_TIME): Likewise. * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise. 2009-09-01 Eric Blake fchdir: fix off-by-one bug in previous patch * lib/fchdir.c (rpl_fstat): Use correct bounds. (_gl_unregister_fd): Delete useless if. 2009-09-01 Daniel P. Berrange maint.mk: sort the list of syntax-check rules * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's easier to get a sense of progress when the rules are run sequentially and take a long time. 2009-09-01 Simon Josefsson * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@. * modules/netinet_in: Likewise. * modules/sys_file: Likewise. * modules/sys_ioctl: Likewise. * modules/sys_select: Likewise. * modules/sys_socket: Likewise. * modules/sys_stat: Likewise. * modules/sys_time: Likewise. * modules/sys_times: Likewise. * modules/sys_utsname: Likewise. * modules/sys_wait: Likewise. 2009-09-01 Jim Meyering fts: help ensure that return values are not ignored * lib/fts_.h (__GNUC_PREREQ): Define. (__attribute_warn_unused_result__): Define. (fts_children, fts_close, fts_open, fts_read): Declare with __attribute_warn_unused_result__. fts: fts_close now fails also when closing a dir file descriptor fails * lib/fts.c (fts_close): Detect close failure, not just fchdir failure, and propagate to caller, along with errno. announce-gen: correct formatting in --help output * build-aux/announce-gen (usage): Move the one-line description in --help output "up", to where it belongs, just after Usage:. 2009-08-31 Eric Blake fchdir: port to mingw * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug. * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be opened, then use a substitute. * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare replacement. * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it. (_gl_register_fd): No need to check stat if open already filters all directories. (fchdir): Fix error condition to match POSIX. * modules/fchdir (Depends-on): Add sys_stat. * doc/posix-functions/open.texi (open): Document the limitation. * modules/fchdir-tests: New file. * tests/test-fchdir.c: Likewise. canonicalize: allow cross-testing from cygwin to mingw * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK. (Makefile.am): Pass it through TESTS_ENVIRONMENT. * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am): Likewise. * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but target does not support symlinks. * tests/test-canonicalize-lgpl.sh: Likewise. chown: avoid compilation warning on mingw * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown. * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on mingw. * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise. * modules/chown (Depends-on): Add errno. 2009-08-31 Stefano Lattarini (tiny change) * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo' command. 2009-08-31 Jim Meyering canonicalize: remove useless initialization * lib/canonicalize.c (canonicalize_filename_mode): Remove useless initialization of local, "end". 2009-08-30 Bruno Haible Fix an unnecessary error on Solaris 10 on NFSv3 file systems. * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like ENOSYS. 2009-08-30 Bruno Haible * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over /usr/xpg4/bin/tr when it exists. * tests/test-pipe-filter-gi1.sh: Likewise. 2009-08-30 Bruno Haible Work around deficient /usr/bin/id program on Solaris. * tests/test-file-has-acl.sh (ID): New variable. * tests/test-set-mode-acl.sh (ID): Likewise. * tests/test-copy-acl.sh (ID): Likewise. * tests/test-copy-file.sh (ID): Likewise. 2009-08-30 Bruno Haible New module 'xstriconveh'. * lib/xstriconveh.h: New file. * lib/xstriconveh.c: New file. * modules/xstriconveh: New file. 2009-08-30 Bruno Haible Make it easier to use mem_cd_iconveh. * lib/striconveh.h (iconveh_t): New type. (iconveh_open, iconveh_close): New declarations. (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments with a single 'const iconveh_t *' argument. * lib/striconveh.c (iconveh_open, iconveh_close): New functions. (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments with a single 'const iconveh_t *' argument. (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close. * tests/test-striconveh.c (main): Update. * NEWS: Mention the change. 2009-08-30 Bruno Haible * doc/posix-functions/iconv_open.texi: Mention indirect conversion problem. 2009-08-30 Bruno Haible Work around iconv_open problem on Solaris. * lib/iconv_open-solaris.gperf: New file. * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro. * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris. * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf. (Makefile.am): Add rule for iconv_open-solaris.h. Augment BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST. * doc/posix-functions/iconv_open.texi: Mention the Solaris problem. 2009-08-29 Jim Meyering maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev * top/maint.mk (cvs-check): Remove target; it was just an alias to the better-named vc-diff-check. (maintainer-distcheck): Remove rule. It was used only from the (alpha/beta/major) target, and all of its commands but one were coreutils-specific. (vc-dist): Remove rule. (alpha beta major): Run "$(MAKE) distcheck" explicitly. Run vc-diff-check, not vc-dist. Run $(MAKE) dist with XZ_OPT=-9ev. Note spelling, with "-". 2009-08-27 Bruno Haible * tests/test-bitrotate.c (main): Remove test that uses a shift count of 0. 2009-08-27 Bruno Haible * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C compilers. * doc/func.texi: Document the SunPRO C bug. 2009-08-27 Bruno Haible Fix link error on Solaris. * tests/test-parse-duration.c (xstrdup): Remove function. 2009-08-26 Pádraig Brady ignore-value: handle pointer types, too * lib/ignore-value.h (__attribute__): Remove definition. (ignore_value): Remove use of "__attribute__ ((unused))" in favor of a more concise and more-often effective "(void) i" statement. (ignore_ptr): New function to suppress warnings from functions that return pointers, and to make it explicit that one function doesn't handle all cases. 2009-08-25 Bruno Haible dup2: work around a Linux bug. * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug. * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF. * doc/posix-functions/dup2.texi: Mention the Linux bug. Reported by Simon Josefsson. 2009-08-25 Jim Meyering libguestfs uses gnulib * users.txt: Add libguestfs. 2009-08-24 Eric Blake dup2, pipe2: fix some recent test failures on cygwin 1.5.x * lib/pipe2.c (includes): Add binary-io.h. * lib/dup2.c (rpl_dup2): Correct buggy errno value. 2009-08-24 Bruno Haible Tolerate declared but missing accept4 syscall. * lib/accept4.c (accept4): Invoke original accept4 function first, if available. * lib/sys_socket.in.h (accept4): If the function is already present, override it. * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation. * modules/accept4 (Makefile.am): Compile accept4.c always. Reported by Paolo Bonzini and Eric Blake. 2009-08-23 Bruno Haible New module 'accept4'. * lib/sys_socket.in.h (accept4): New declaration. * lib/accept4.c: New file. * m4/accept4.m4: New file. * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize GNULIB_ACCEPT4, HAVE_ACCEPT4. * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4, HAVE_ACCEPT4. * modules/accept4: New file. * doc/glibc-functions/accept4.texi: Mention the new module. 2009-08-24 Jim Meyering progname: also set global program_invocation_name, when possible Before this change, a libtool-enabled program that calls glibc's error function would report the program name as "/abs/dir/.libs/lt-program_name" rather than the desired program_name. * modules/progname (configure.ac): Check for a declaration of program_invocation_name. * lib/progname.c: Include . (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]: Set program_invocation_name. 2009-08-23 Bruno Haible * lib/dup3.c: Include . 2009-08-23 Bruno Haible * lib/dup3.c (dup3): Test only once whether the system actually exists. * lib/pipe2.c (pipe2): Likewise. Suggested by Eric Blake. 2009-08-23 Bruno Haible Tolerate declared but missing dup3 syscall. * lib/dup3.c (dup3): Invoke original dup3 function first, if available. * lib/unistd.in.h (dup3): If the function is already present, override it. * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation. * modules/dup3 (Makefile.am): Compile dup3.c always. Reported by Paolo Bonzini. 2009-08-23 Bruno Haible Tolerate declared but missing pipe2 syscall. * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if available. * lib/unistd.in.h (pipe2): If the function is already present, override it. * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation. * modules/pipe2 (Makefile.am): Compile pipe2.c always. Reported by Paolo Bonzini. 2009-08-23 Bruno Haible * lib/pipe2.c (pipe2): Move #ifs inside function. 2009-08-22 Joel E. Denny quotearg: document limitations of quote_these_too * lib/quotearg.c (quotearg_buffer_restyled): Add comments where those limitations are created. * lib/quotearg.h (set_char_quoting): Document that digits and letters that are special after backslash are not permitted. (quotearg_char): Cross-reference set_char_quoting documentation. 2009-08-23 Joel E. Denny quotearg: implement custom_quoting_style * lib/quotearg.c: (struct quoting_options): Add left_quote and right_quote fields. (set_custom_quoting): New public function. (quotearg_buffer_restyled): Add left_quote and right_quote arguments, handle them very much like locale quoting, and update all uses. (quotearg_n_custom): New public function. (quotearg_n_custom_mem): New public function. (quotearg_custom): New public function. (quotearg_custom_mem): New public function. * lib/quotearg.h: Prototype and document new public functions. (enum quoting_style): For escape_quoting_style and clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is ignored even though they're otherwise like c_quoting_style. Add custom_quoting_style member and document with comparison to clocale_quoting_style. * tests/test-quotearg.c (custom_quotes): New array. (custom_results): New array. (main): Extend to test custom quoting. 2009-08-22 Joel E. Denny quotearg: fix right quote escaping when it's in quote_these_too * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right quote, be sure to prepend only one backslash. * tests/test-quotearg.c (use_quote_double_quotes): New function. (main): Test it. 2009-08-22 Joel E. Denny quotearg-tests: test escaping of embedded locale quotes * tests/test-quotearg.c (struct result_strings): Add member for new input. (LQ_ENC, RQ_ENC, RQ_ESC): New macros. (inputs): Add new input. (results_g): Add expected results. (flag_results): Likewise. (locale_results): Likewise. (compare_strings): Check those. 2009-08-23 Bruno Haible Tests for module 'dup3'. * modules/dup3-tests: New file. * tests/test-dup3.c: New file. New module 'dup3'. * lib/unistd.in.h (dup3): New declaration. * lib/dup3.c: New file. * m4/dup3.m4: New file. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and HAVE_DUP3. * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3. * modules/dup3: New file. * doc/glibc-functions/dup3.texi: Mention the new module. 2009-08-23 Bruno Haible Tweak the dup2 test. * tests/test-dup2.c (main): Create the test file empty. Verify that an out-of-range fd yields EBADF. Verify that after writing to /dev/null, the test file is still empty. Fix argument order of lseek. 2009-08-23 Bruno Haible Avoid test link errors when the modules getopt-gnu, gettext are used. * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD. Reported by Tom G. Christensen . 2009-08-23 Bruno Haible Fix getdtablesize() on mingw. * lib/getdtablesize.c (getdtablesize): Implement differently. * lib/unistd.in.h (getdtablesize): Improve comment. 2009-08-23 Bruno Haible New module 'mkostemp'. Based on Ulrich Drepper's 2007-08-10 change in glibc. * lib/stdlib.in.h (mksotemp): New declaration. * lib/mkostemp.c: New file, from glibc with modifications. * lib/tempname.h (GT_FILE): Remove outdated comment. (gen_tempname): Add flags argument. * lib/tempname.c (__GT_BIGFILE): Remove macro. (__GT_FILE): Map to 1. (small_open, large_open): Remove macros. (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE. * lib/mkstemp.c (mkstemp): Update. * lib/mkdtemp.c (mkdtemp): Likewise. * m4/mkostemp.m4: New file. * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP, HAVE_MKOSTEMP. * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP, HAVE_MKOSTEMP. * modules/mkostemp: New file, based on modules/mkstemp. * doc/glibc-functions/mkostemp.texi: Mention the new module. * NEWS: Mention the change. 2009-08-23 Bruno Haible * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms. Reported by Eric Blake. 2009-08-23 Bruno Haible * lib/pipe2.c (pipe2): Fix test of fcntl's return value. Reported by Eric Blake. 2009-08-23 Bruno Haible * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl. * modules/pipe2 (Depends-on): Likewise. 2009-08-23 Eric Blake fcntl-h: add O_TTY_INIT support * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro. * tests/test-fcntl-h.c (o): Test it. * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation. fcntl-h: rename from fcntl, in preparation for fcntl(2) * modules/fcntl: Move header replacement... * modules/fcntl-h: ...to new name, so as not to collide with like-named function. * tests/test-fcntl.c: Rename... * tests/test-fcntl-h.c: ...to this. Test FD_CLOEXEC. * modules/fcntl-tests: Rename... * modules/fcntl-h-tests: ...to this. Update test file name. * modules/chdir-long (Depends-on): Update clients. * modules/chdir-safer (Depends-on): Likewise. * modules/fcntl-safer (Depends-on): Likewise. * modules/fts (Depends-on): Likewise. * modules/mkancesdirs (Depends-on): Likewise. * modules/mkdir-p (Depends-on): Likewise. * modules/open (Depends-on): Likewise. * modules/savewd (Depends-on): Likewise. * MODULES.html.sh (systems lacking POSIX:2008): Update name. * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation. 2009-08-22 Bruno Haible * modules/binary-io (License): Relicense under LGPL. * modules/pipe2 (License): Likewise. 2009-08-22 Bruno Haible * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's return value. * lib/pipe-filter-gi.c (filter_init): Likewise. Reported by Eric Blake. 2009-08-22 Bruno Haible * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe. * modules/pipe (Depends-on): Add pipe2. 2009-08-22 Bruno Haible Tests for module 'pipe2'. * modules/pipe2-tests: New file. * tests/test-pipe2.c: New file. New module 'pipe2'. * lib/unistd.in.h (pipe2): New declaration. * lib/pipe2.c: New file. * m4/pipe2.m4: New file. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and HAVE_PIPE2. * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2. * modules/pipe2: New file. * doc/glibc-functions/pipe2.texi: Mention the new module. 2009-08-22 Bruno Haible Reference some new glibc functions. * doc/glibc-functions/accept4.texi: New file. * doc/glibc-functions/dup3.texi: New file. * doc/glibc-functions/mkostemp.texi: New file. * doc/glibc-functions/pipe2.texi: New file. * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp. (Glibc sys/socket.h): Refer to accept4. (Glibc unistd.h): Refer to dup3, pipe2. Reported by Eric Blake. 2009-08-22 Jim Meyering Bruno Haible annotate automake snippets with $(AM_V_GEN) and $(AM_V_at) This makes it so packages using automake-1.11's silent-rules option can print e.g., a single "GEN configmake.h" line, rather than the 30+ statements that perform the job. If you want to see the actual commands, you can still run "make V=1". * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes so that make output is abbreviated when those variables are defined appropriately. * modules/argz: Likewise. * modules/arpa_inet: Likewise. * modules/byteswap: Likewise. * modules/configmake: Likewise. * modules/dirent: Likewise. * modules/errno: Likewise. * modules/fcntl: Likewise. * modules/float: Likewise. * modules/fnmatch: Likewise. * modules/getopt-posix: Likewise. * modules/glob: Likewise. * modules/iconv_open: Likewise. * modules/inttypes: Likewise. * modules/localcharset: Likewise. * modules/locale: Likewise. * modules/math: Likewise. * modules/netdb: Likewise. * modules/netinet_in: Likewise. * modules/poll: Likewise. * modules/posix_spawnp-tests: Likewise. * modules/sched: Likewise. * modules/search: Likewise. * modules/selinux-h: Likewise. * modules/signal: Likewise. * modules/spawn: Likewise. * modules/stdarg: Likewise. * modules/stdbool: Likewise. * modules/stddef: Likewise. * modules/stdint: Likewise. * modules/stdio: Likewise. * modules/stdlib: Likewise. * modules/string: Likewise. * modules/strings: Likewise. * modules/sys_file: Likewise. * modules/sys_ioctl: Likewise. * modules/sys_select: Likewise. * modules/sys_socket: Likewise. * modules/sys_stat: Likewise. * modules/sys_time: Likewise. * modules/sys_times: Likewise. * modules/sys_utsname: Likewise. * modules/sys_wait: Likewise. * modules/sysexits: Likewise. * modules/time: Likewise. * modules/unistd: Likewise. * modules/wchar: Likewise. * modules/wctype: Likewise. 2009-08-22 Jim Meyering announce-gen: detect write failure * build-aux/announce-gen: Add Coda at end. Remove equivalent-but-more-verbose block at top. 2009-08-19 Akim Demaille bootstrap: --help to stdout. * bootstrap (usage): Don't send --help to stderr. Use a here doc instead of a long string. 2009-08-21 Eric Blake test-popen-safer: split from test-popen * tests/test-popen.c (main): Move... * tests/test-popen.h: ...into new file. * tests/test-popen-safer2.c: New file. * modules/popen-tests (Files): Add test-popen.h. * modules/popen-safer-tests (Files): Add test-popen-safer2.c. Suggested by Bruno Haible. test-fcntl-safer: split from test-open * tests/test-open.c (main): Move... * tests/test-open.h: ...into new file. * tests/test-fcntl-safer.c: New file. * modules/open-tests (Files): Add test-open.h. * modules/fcntl-safer-tests: New file. Suggested by Bruno Haible. test-fopen-safer: split from test-fopen * tests/test-fopen.c (main): Move... * tests/test-fopen.h: ...into new file. * tests/test-fopen-safer.c: New file. * modules/fopen-tests (Files): Add test-fopen.h. * modules/fopen-safer-tests: New file. Suggested by Bruno Haible. 2009-08-21 Paolo Bonzini popen-safer: test O_CLOEXEC at run-time. * lib/popen-safer.c: Test O_CLOEXEC at run-time. 2009-08-21 Paolo Bonzini fcntl: move more flags to the header * lib/cloexec.c: Do not define FD_CLOEXEC here. * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here. * lib/fcntl.in.h: Do both things here. 2009-08-21 Jim Meyering consistently remove $@-t before redirecting to it * modules/argz: Remove $@-t and $@ before redirecting to the former. * modules/alloca-opt: Likewise. * modules/byteswap: Likewise. * modules/fnmatch: Likewise. * modules/getopt-posix: Likewise. * modules/glob: Likewise. * modules/poll: Likewise. * modules/posix_spawnp-tests: Likewise. * modules/sys_socket: Likewise. * modules/sysexits: Likewise. 2009-08-21 Eric Blake popen: simplify access to original popen * lib/popen.c (rpl_popen): No need to worry about popen being a macro. Reported by Bruno Haible. 2009-08-20 Eric Blake build: avoid some compiler warnings * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing. * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct type. (new_exclude_segment, excluded_file_pattern_p) (excluded_file_name_p): Reduce scope. * lib/vasnprintf.c (decimal_point_char): Avoid warning on old-style declaration. 2009-08-20 Simon Josefsson * tests/test-exclude1.sh: Handle Windows EOL. * tests/test-exclude2.sh: Likewise. * tests/test-exclude3.sh: Likewise. * tests/test-exclude4.sh: Likewise. * tests/test-exclude5.sh: Likewise. * tests/test-exclude6.sh: Likewise. * tests/test-exclude7.sh: Likewise. 2009-08-19 Akim Demaille bootstrap: find sha1sum when named gsha1sum. * bootstrap (find_tool): New. ($SHA1SUM): New. Use it. 2009-08-20 Jim Meyering maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed expression that converts "." in a file name to "\." in the resulting regexp. Start with a dummy statement, so that prior shell variable definitions are expanded portably. Reported by Simon Josefsson. 2009-08-20 Paolo Bonzini Fix polling for writeability of a screen buffer. * lib/poll.c: Distinguish input and screen buffers for the Win32 implementation. * lib/select.c: Likewise. 2009-08-19 Eric Blake popen-safer: prevent popen from clobbering std descriptors * modules/popen-safer: New file. * lib/popen-safer.c: Likewise. * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro. * lib/stdio--.h (popen): Provide override. * lib/stdio-safer.h (popen_safer): Provide declaration. * tests/test-popen.c (includes): Partially test this. * modules/popen-safer-tests: New file, for more tests. * tests/test-popen-safer.c: Likewise. * MODULES.html.sh (file stream based Input/Output): Mention it. tests: test some of the *-safer modules * modules/fopen-safer (Depends-on): Add fopen. * modules/fcntl-safer (Depends-on): Add fcntl. * modules/stdlib-safer (Depends-on): Add stdlib. (configure.ac): Set indicator. * modules/unistd-safer (configure.ac): Likewise. * modules/tmpfile-safer (configure.ac): Likewise. (Depends-on): Add tmpfile. * lib/stdio--.h (fopen, tmpfile): Don't override unless module is active. * tests/test-fopen.c (includes): Test safer versions when they are in use. * tests/test-open.c (includes): Likewise. popen: fix cygwin 1.5 bug when stdin closed * doc/posix-functions/popen.texi (popen): Document cygwin bugs. * modules/popen: New file. * modules/popen-tests: Likewise. * tests/test-popen.c: Likewise. * m4/popen.m4: Likewise. * lib/popen.c: Likewise. * lib/stdio.in.h (popen): New declaration. * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen. * modules/stdio (Makefile.am): Likewise. * MODULES.html.sh (systems lacking POSIX:2008): Mention it. 2009-08-17 Joel E. Denny maint.mk: give full control over update-copyright exclusions * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion. (update-copyright): Don't force inclusion of top-level ChangeLog. Don't force exclusion of all COPYING files, but make them the default exclusion instead. 2009-08-16 Bruno Haible Fix test failures on Solaris 10. * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp tests when Solaris iconv() is used. * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise. * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise. * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise. * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise. * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise. 2009-08-16 Bruno Haible Fix test failures on Solaris 10. * tests/test-pipe-filter-ii1.sh: Determine the filename of a working 'tr' program and pass it as first argument. * tests/test-pipe-filter-gi1.sh: Likewise. * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr' program as first argument. * tests/test-pipe-filter-gi1.c (main): Likewise. 2009-08-16 Eric Blake fpurge: fix previous commits * modules/fpurge (Makefile.am): Make replacement conditional, partially reverting 2007-04-29 change; missed in previous attempt. * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge is missing. 2009-08-16 Bruno Haible Clarify fpurge's effect on the file position. * lib/stdio.in.h (fpurge): Specify the file position after fpurge. * tests/test-fpurge.c (main): Make a second pass for checking the file position. 2009-08-16 Bruno Haible * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the declaration of fpurge is missing. * tests/test-fpurge.c (main): Check that the file has not more contents than expected. Close the file before removing it. 2009-08-15 Eric Blake fpurge: don't wrap working cygwin implementation * lib/fpurge.c (fpurge): Fix comment typo. * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin 1.7 to avoid replacement. * tests/test-fpurge.c (main): Enhance test. 2009-08-15 Eric Blake and Jim Meyering test-update-copyright: skip if perl is insufficient * tests/test-update-copyright.sh: Failure to run maintainer tool should not cause testsuite failure on cygwin 1.5. 2009-08-14 Eric Blake doc: mention more functions added in cygwin 1.7.0 * doc/posix-headers/limits.texi (limits.h): Update for recent cygwin additions. * doc/posix-headers/wordexp.texi (wordexp.h): Likewise. * doc/posix-functions/wordexp.texi (wordexp): Likewise. * doc/posix-functions/wordfree.texi (wordfree): Likewise. * doc/posix-functions/setlocale.texi (setlocale): Likewise. * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise. 2009-08-14 Eric Blake maint.mk: simplify update-copyright rule * top/maint.mk (update-copyright-local): Delete, and document how to do it in cfg.mk instead. (update-copyright-exclude-regexp): Delete, and document how to do it in .x-update-copyright instead. (update-copyright): Simplify, thanks to VC_LIST_EXCEPT. Don't exclude ChangeLog. 2009-08-14 Bruno Haible * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit. 2009-08-14 Joel E. Denny maint.mk: support update-copyright-env * top/maint.mk (update-copyright-env): Define place-holder. (update-copyright): Expand $(update-copyright-env) before invoking update-copyright. 2009-08-14 Joel E. Denny update-copyright: implement forced reformatting * build-aux/update-copyright: Implement and document UPDATE_COPYRIGHT_FORCE. * tests/test-update-copyright.sh: Test it. 2009-08-14 Eric Blake and Bruno Haible stddef: fix NetBSD 5.0 NULL bug, rather than working around it * tests/test-locale.c: Revert previous patch related to NULL. * tests/test-stdio.c: Likewise. * tests/test-stdlib.c: Likewise. * tests/test-string.c: Likewise. * tests/test-unistd.c: Likewise. * modules/time-tests (Depends-on): Add verify. * modules/wchar-tests (Depends-on): Likewise. * tests/test-time.c: Test for NULL compliance. * tests/test-wchar.c: Likewise. * modules/locale (Depends-on): Add stddef. * modules/stdio (Depends-on): Likewise. * modules/stdlib (Depends-on): Likewise. * modules/string (Depends-on): Likewise. * modules/time (Depends-on): Likewise. * modules/unistd (Depends-on): Likewise. * modules/wchar (Depends-on): Likewise. * lib/locale.in.h (includes): Use to fix NULL. * lib/stdlib.in.h (includes): Likewise. * lib/string.in.h (includes): Likewise. * lib/time.in.h (includes): Likewise. * lib/unistd.in.h (includes): Likewise. * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was replaced. * m4/wchar.m4 (gl_WCHAR_H): Likewise. * m4/stddef_h.m4: New file. * modules/stddef: Likewise. * lib/stddef.in.h: Likewise. * modules/stddef-tests: Likewise. * tests/test-stddef.c: Likewise. * MODULES.html.sh (Basic types ): Mention new module. * doc/posix-headers/stddef.texi (stddef.h): Document the bug. * doc/posix-headers/locale.texi (locale.h): Likewise. * doc/posix-headers/stdio.texi (stdio.h): Likewise. * doc/posix-headers/stdlib.texi (stdlib.h): Likewise. * doc/posix-headers/string.texi (string.h): Likewise. * doc/posix-headers/time.texi (time.h): Likewise. * doc/posix-headers/unistd.texi (unistd.h): Likewise. * doc/posix-headers/wchar.texi (wchar.h): Likewise. 2009-08-14 Eric Blake doc: improve git diff of texinfo files * .gitattributes: Add rule for *.texi files, with hint on how to use it. Copied from m4, and based on a report by Bruno Haible. 2009-08-14 Bruno Haible Disable multithread support by default on Cygwin 1.5.x for real. * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit. 2009-08-14 Joel E. Denny update-copyright: much ado about intervals * build-aux/update-copyright: Implement and document UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse of copyright year intervals. Also, document UPDATE_COPYRIGHT_YEAR. * tests/test-update-copyright.sh: Test it. update-copyright: convert 2-digit to 4-digit years * build-aux/update-copyright: Implement and document. * tests/test-update-copyright.sh: Update. 2009-08-14 Jim Meyering test-exclude: avoid coreutils "make check" failure * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define, just as in test-argmatch.c. 2009-08-13 Eric Blake test-dup2: fix bad assumption * tests/test-dup2.c (main): Tolerate leaked fds from environment. Reported by Peter Breitenlohner . test-version-etc: fix CRLF portability issue * tests/test-version-etc.sh: Use tr, not sed, as not all sed recognize \r. * tests/test-argp-version-etc-1.sh: Likewise. getopt: update client modules * modules/argp (Depends-on): Use getopt-gnu. * modules/git-merge-changelog (Depends-on): Likewise. * modules/long-options (Depends-on): Likewise. * modules/xstrtol (Depends-on): Likewise. 2009-08-13 Simon Josefsson * tests/test-version-etc.sh: Don't fail on different project/version. Don't fail on CRLF differences. Rewrite to use multiple -e instead of multiple sed forks, suggested by Eric Blake . * tests/test-argp-version-etc-1.sh: Likewise. 2009-08-13 Simon Josefsson * tests/test-version-etc.sh: Don't fail on different project/version. 2009-08-12 Bruno Haible Tests for modules 'getopt-posix', 'getopt-gnu'. * modules/getopt-posix-tests: New file. * tests/test-getopt.c: New file. * tests/test-getopt.h: New file. * tests/test-getopt_long.h: New file. New modules 'getopt-posix', 'getopt-gnu'. * modules/getopt-gnu: New file, renamed from modules/getopt. * modules/getopt-posix: New file. * modules/getopt: Turn into an obsolete alias for getopt-gnu. * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros. (gl_GETOPT): Remove macro. (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU. Disable the test against BSD systems that declare optreset. Test against mingw bug. Test against lack of support of optional arguments on many platforms. * doc/glibc-headers/getopt.texi: Update module name and list of relevant platforms. * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and 'getopt-gnu' and more portability problems. * NEWS: Mention the changes. 2009-08-12 Bruno Haible Ensure that optarg etc. get declared by . * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require AC_USE_SYSTEM_EXTENSIONS. * modules/getopt (Depends-on): Add 'extensions'. 2009-08-12 Bruno Haible Avoid test link errors. * modules/pipe-filter-ii-tests (Makefile.am): Define test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD. * modules/pipe-filter-gi-tests (Makefile.am): Define test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD. Reported by Tom G. Christensen . 2009-08-12 Bruno Haible * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called gl_GETOPT_SUBSTITUTE before. (gl_GETOPT): Use it. * m4/argp.m4 (gl_ARGP): Update. Reported by Sergey Poznyakoff. * m4/getopt.m4: Reorder macros. (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE. (gl_GETOPT_SUBSTITUTE): Remove macro. 2009-08-12 Sergey Poznyakoff Minor improvement in gitlog-to-changelog * build-aux/gitlog-to-changelog: New option `--format' makes output format string configurable. 2009-08-12 Sergey Poznyakoff Optimize exclude: use hash tables for non-wildcard patterns. * lib/exclude.c: Include hash.h and mbuiter.h (struct exclude_pattern, exclude_segment): New data types. (struct exclude): Rewrite. (fnmatch_pattern_has_wildcards): New function. (new_exclude_segment, free_exclude_segment): New functions. (excluded_file_pattern_p, excluded_file_name_p): New functions. (excluded_file_name, add_exclude): Rewrite using new struct exclude. * lib/exclude.h (is_fnmatch_pattern): New prototype. * modules/exclude: Depend on hash and mbuiter. * modules/exclude-tests: New file. * tests/test-exclude.c: New file. * tests/test-exclude1.sh: New file. * tests/test-exclude2.sh: New file. * tests/test-exclude3.sh: New file. * tests/test-exclude4.sh: New file. * tests/test-exclude5.sh: New file. * tests/test-exclude6.sh: New file. * tests/test-exclude7.sh: New file. 2009-08-12 Bruno Haible Ensure that getopt() gets declared by . * lib/unistd.in.h: Conditionally include getopt.h. * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS. Set GNULIB_UNISTD_H_GETOPT. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_UNISTD_H_GETOPT. * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT. 2009-08-12 Bruno Haible Clarify logic. * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use gl_replace_getopt instead of GETOPT_H. 2009-08-12 Bruno Haible * m4/getopt.m4: Add comments. 2009-08-12 Bruno Haible Disable multithread support by default on Cygwin 1.5.x. * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older, set gl_use_threads=no if not specified otherwise. 2009-08-11 Bruno Haible Avoid compilation error on NetBSD 5.0. * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL. * tests/test-stdio.c: Likewise. * tests/test-stdlib.c: Likewise. * tests/test-string.c: Likewise. * tests/test-unistd.c: Likewise. Reported by Greg Troxel at . 2009-08-11 Bruno Haible * modules/dup2-tests (Depends-on): Remove close. Undo 2009-07-19 commit. * modules/acl-tests (Depends-on): Remove close. * modules/binary-io-tests (Depends-on): Likewise. * modules/closein-tests (Depends-on): Likewise. * modules/flock-tests (Depends-on): Likewise. * modules/fsync-tests (Depends-on): Likewise. * modules/lseek-tests (Depends-on): Likewise. * modules/pipe-tests (Depends-on): Likewise. * modules/posix_spawn-tests (Depends-on): Likewise. * modules/posix_spawnp-tests (Depends-on): Likewise. * modules/stat-time-tests (Depends-on): Likewise. * modules/yesno-tests (Depends-on): Likewise. 2009-08-10 Bruno Haible * lib/vasnprintf.c (DCHAR_SET): Undefine at the end. 2009-08-10 Bruno Haible Fix a gcc warning. * lib/write.c (rpl_write): Cast result of _get_osfhandle. 2009-08-10 Bruno Haible Don't optimize AC_LIBOBJs, as they may appear in different contexts. * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally, not only the first time. * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise. * m4/open.m4 (gl_REPLACE_OPEN): Likewise. * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR is 1, not only the the first time. 2009-08-10 Bruno Haible Make it possible to use module 'gethostname' without module 'close'. * lib/unistd.in.h (close): Evoke a link error only if UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS. * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS. * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set. * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS. * modules/sys_ioctl (Makefile.am): Substitute SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS. * modules/socket (configure.ac): On native Windows, set UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS. Reported by Sam Steingold . 2009-08-10 Bruno Haible * m4/close.m4 (gl_FUNC_CLOSE): Add comment. * modules/ioctl (configure.ac): Likewise. 2009-08-10 Bruno Haible Avoid collision between gnulib wrapper and libintl wrapper. * lib/stdio-write.c (printf): Don't define if a printf wrapper is already defined in intl/printf.c. (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX. (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX. 2009-08-09 Bruno Haible Make really self-contained, also on Solaris 10. * lib/sys_select.in.h: Include . * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against Solaris 10 problem. * tests/test-sys_select.c (main): Add check that FD_ZERO can be used. * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem. Reported by Jim Meyering. 2009-08-09 Bruno Haible Avoid warnings from 'aclocal' that are due to a use of macro name AM_XGETTEXT_OPTION that is not defined in automake. * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from automake. * modules/error (configure.ac): Likewise. * modules/propername (configure.ac): Likewise. * modules/vasprintf (configure.ac): Likewise. * modules/verror (configure.ac): Likewise. * modules/xprintf (configure.ac): Likewise. * modules/xvasprintf (configure.ac): Likewise. 2009-08-08 Bruno Haible Avoid compilation error in C++ mode. * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument. Reported by Sam Steingold . 2009-08-08 Bruno Haible * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also for the various Unix platforms. * doc/posix-headers/limits.texi: Update platforms list regarding HOST_NAME_MAX. Reported by Tom G. Christensen . 2009-08-07 Jim Meyering selinux-at: fix typo in a comment * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment. Spotted by Paolo Bonzini. selinux-at: remove redundant m4 code, add documentation * modules/selinux-at (configure.ac): Remove redundant code. LIB_SELINUX is already set via the dependent module, selinux-h. (Include): Add quotes around selinux-at.h. * lib/selinux-at.h: Add documentation. Reported by Bruno Haible in http://marc.info/?l=gnulib-bug&m=124958988300749 2009-08-07 Bruno Haible Avoid link error on MacOS X 10.3 and 10.4. * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize on non-ELF systems. * lib/argp-pv.c (argp_program_version): Likewise. Reported by Simon Josefsson. 2009-08-07 Simon Josefsson * tests/test-version-etc.sh: Use $EXEEXT. 2009-08-06 Joel E. Denny update-copyright: update documentation to point to maint.mk * build-aux/update-copyright: Here. 2009-08-06 Jim Meyering maint.mk: support update-copyright-local * top/maint.mk (update-copyright-local): Define place-holder. (update-copyright): Depend on $(update-copyright-local). 2009-08-06 Jim Meyering selinux-at: new module Initially written for coreutils, this module will soon be used by findutils, too. * MODULES.html.sh [Misc]: Add selinux-at. * lib/selinux-at.h: New file, from coreutils. * lib/selinux-at.c: Likewise. * modules/selinux-at: Likewise. (License): Change from LGPL to GPL, since it depends on the GPL'd openat module. doc: update README * README: Remove references to cogito. Remove cvs-repo-updating instructions from 2007. Don't imply that CVS is better if you have limited disk space. 2009-08-05 Joel E. Denny update-copyright: support C-style comments * build-aux/update-copyright: Implement and document. * tests/test-update-copyright.sh: Test. 2009-08-05 Joel E. Denny update-copyright: support omitted "(C)" * build-aux/update-copyright: Implement and document. Also, allow variable whitespace before "(C)". * tests/test-update-copyright.sh: Test. 2009-08-05 Joel E. Denny update-copyright: don't trip on non-FSF copyright statements * build-aux/update-copyright: Fix so that the first correctly formatted FSF copyright statement is recognized no matter what appears before it. Update documentation. * tests/test-update-copyright.sh: Test that. 2009-08-05 Joel E. Denny update-copyright: clean up code a little * build-aux/update-copyright: Append "_re" to the name of any variable holding a regular expression. Replace "old" and "new" with "stmt" in variable names. Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not handled correctly. Format code more consistently. 2009-08-05 Joel E. Denny update-copyright-tests: improve portability * tests/test-update-copyright.sh: Use cmp if diff cannot handle -u or /dev/null. Suggested by Jim Meyering and Eric Blake. 2009-08-03 Joel E. Denny update-copyright: support @copyright{} and © * build-aux/update-copyright: Implement and document. * tests/test-update-copyright.sh: Test. 2009-08-04 Jim Meyering update-copyright-tests: correctly test EOL=\r\n handling * tests/test-update-copyright.sh: Put \r at the end of some lines for the dos-eol tests. Based on a patch by Joel E. Denny. maint.mk: make update-copyright exclusion list more configurable * top/maint.mk (update-copyright): Default to excluding COPYING, but allow an override, in case someone does want to update that file. maint.mk: don't update copyright date in COPYING * top/maint.mk (update-copyright): Exclude COPYING. maint.mk: add a copyright-updating rule * top/maint.mk (update-copyright): New rule. Derived from coreutils/Makefile.am. update-copyright: rename some variables * build-aux/update-copyright: Rename a few variables for clarity. Tweak syntax. List Joel E. Denny as coauthor. 2009-08-03 Joel E. Denny update-copyright: fix bug for 2-digit last year and add tests * build-aux/update-copyright: Fix bug. Use UPDATE_COPYRIGHT_YEAR from environment as current year if specified. * modules/update-copyright-tests: New * tests/test-update-copyright.sh: New. 2009-07-31 Joel E. Denny update-copyright: handle leading tabs in line prefix * build-aux/update-copyright: Count leading tabs as 8 spaces when computing margin. This helps with the formatting of ChangeLogs, for example. Fix documentation a little. 2009-07-31 Joel E. Denny update-copyright: support EOL=\r\n * build-aux/update-copyright: Implement that. 2009-07-31 Joel E. Denny update-copyright: automatically format copyright statements * build-aux/update-copyright: Implement that. Also, be a little more predictable and safer by always failing when the full copyright format is not perfectly recognized as an unbroken whole. Discussed at . Rewrite documentation. 2009-08-03 Bruno Haible * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64. 2009-08-02 Bruno Haible Tests for module 'uname'. * modules/uname-tests: New file. * tests/test-uname.c: New file. New module 'uname'. * lib/uname.c: New file. * m4/uname.m4: New file. * modules/uname: New file. * doc/posix-functions/uname.texi: Mention the new module. 2009-08-02 Bruno Haible Tests for module 'sys_utsname'. * modules/sys_utsname-tests: New file. * tests/test-sys_utsname.c: New file. New module 'sys_utsname'. * lib/sys_utsname.in.h: New file, based on glibc's . * m4/sys_utsname_h.m4: New file. * modules/sys_utsname: New file. * doc/posix-headers/sys_utsname.texi: Mention the new module. 2009-08-02 Bruno Haible Implicitly initialize the sockets library. * lib/gethostname.c: Include sockets.h. (rpl_gethostname): Invoke gl_sockets_startup. * lib/socket.c: Include sockets.h. (rpl_socket): Invoke gl_sockets_startup. * modules/gethostname (Depends-on): Add sockets. * modules/socket (Depends-on): Likewise. * tests/test-poll.c: Don't include sockets.h. (main): Don't invoke gl_sockets_startup. * tests/test-select.c: Don't include sockets.h. (main): Don't invoke gl_sockets_startup. 2009-08-02 Bruno Haible Allow multiple calls to gl_sockets_startup. * lib/sockets.c (initialized_sockets_version): New variable. (gl_sockets_startup): Do nothing if already called for this or a higher version. (gl_sockets_cleanup): Reset initialized_sockets_version. 2009-08-03 Simon Josefsson * tests/test-argp-version-etc-1.sh: Use EXEEXT. Don't fail on different project/version. 2009-08-02 Paolo Bonzini Bruno Haible Tests for module 'pipe-filter-gi'. * modules/pipe-filter-gi-tests: New file. * tests/test-pipe-filter-gi1.sh: New file. * tests/test-pipe-filter-gi1.c: New file. * tests/test-pipe-filter-gi2.sh: New file. * tests/test-pipe-filter-gi2-main.c: New file. * tests/test-pipe-filter-gi2-child.c: New file. New module 'pipe-filter-gi'. * lib/pipe-filter-gi.c: New file. * modules/pipe-filter-gi: New file. 2009-08-02 Bruno Haible Paolo Bonzini Tests for module 'pipe-filter-ii'. * modules/pipe-filter-ii-tests: New file. * tests/test-pipe-filter-ii1.sh: New file. * tests/test-pipe-filter-ii1.c: New file. * tests/test-pipe-filter-ii2.sh: New file. * tests/test-pipe-filter-ii2-main.c: New file. * tests/test-pipe-filter-ii2-child.c: New file. New module 'pipe-filter-ii'. * lib/pipe-filter.h: New file. * lib/pipe-filter-ii.c: New file. * lib/pipe-filter-aux.h: New file. * modules/pipe-filter-ii: New file. 2009-08-02 Simon Josefsson * lib/gc-libgcrypt.c: Change copyright to FSF. * lib/gc-gnulib.c: Likewise. 2009-08-02 Martin Lambers (tiny change) * lib/gethostname.c: Include limits.h. 2009-08-02 Simon Josefsson Bruno Haible Ensure HOST_NAME_MAX as part of the gethostname module. * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms, define also HOST_NAME_MAX. * tests/test-gethostname.c: Include . (main): Check also HOST_NAME_MAX. * doc/posix-headers/limits.texi: Document the mingw problem. 2009-08-02 Bruno Haible * lib/gethostname.c (gethostname): Fix handling of large len argument. Add comments. 2009-03-31 Simon Josefsson * lib/gethostname.c: Add Windows wrapper. * m4/gethostname.m4: Look for gethostname in -lws2_32. * modules/gethostname: Depend on sys_socket & errno, for also added lib/w32sock.h. Add GETHOSTNAME_LIB link directive. * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@. 2009-07-31 Jim Meyering getloadavg: fix symbol name in comment * lib/getloadavg.c: Correct a typo I introduced when adding comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/. Matt Kraai spotted the problem. 2009-07-29 Matt Kraai getloadavg: check whether n_name is a pointer, for QNX 6.4.1 * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name code also if ! defined N_NAME_POINTER. * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER. This is required on QNX 6.4.1, where /usr/include/nlist.h exists, but the n_name member is a 12-byte array. 2009-07-29 Joel E. Denny update-copyright: generalize comment handling * build-aux/update-copyright: Handle copyright statements within more comment styles. Document usage. Report any file with an external copyright holder or parse failure. 2009-07-29 Jim Meyering mktime: correct setting of REPLACE_MKTIME * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required. update-copyright: new module * modules/update-copyright: New file. * build-aux/update-copyright: New file. * MODULES.html.sh (maint+release support): Add update-copyright. 2009-07-27 Bruno Haible Fix compilation error when is used and mktime is replaced. * lib/time.in.h (mktime): New declaration. * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set REPLACE_MKTIME instead of defining mktime in config.h. * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME. * modules/time (Makefile.am): Substitute REPLACE_MKTIME. Reported by Ross McFarland . 2009-07-27 Bruno Haible * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it. Reported by Matt Kraai . 2009-07-25 Jim Meyering maint.mk: avoid warnings about missing files * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a diagnostic when .prev-version does not exist. (_cfg_mk): Define, so it can be empty when cfg.mk does not exist. (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about nonexistent cfg.mk. Suggestions from Simon Josefsson. 2009-07-25 Bruno Haible * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already defined as macros. Needed on QNX 6.4.1. Reported by Matt Kraai . 2009-07-23 Jim Meyering maint.mk: invoke "make dist" with a working value of XZ_OPT * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT. 2009-07-22 Matt Kraai (tiny change) Make fseeko.c compile on QNX. * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE. 2009-07-22 Peter Simons C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope. * lib/md4.h: Likewise. * lib/md5.h: Likewise. * lib/sha1.h: Likewise. * lib/sha256.h: Likewise. * lib/sha512.h: Likewise. tests-sha1: don't assign literal string to 'char *' variable * tests/test-sha1.c (main): Declare locals with "const" to match attributes of the right hand side. 2009-07-21 Eric Blake dup2: fix more mingw problems * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating fd to itself. * doc/posix-functions/dup2.texi (dup2): Document the bug. * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision. * lib/fchdir.c (dup2): Manage preprocessor macros correctly. (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take care of mingw bugs. 2009-07-21 Jim Meyering vc-list-files: avoid failure when /bin/sh is dash * build-aux/vc-list-files: Avoid a shell portability problem with dash. On some Debian based systems, /bin/sh is a symlink to dash, and running this command would omit the "/" following each 'tests' prefix: dash -x build-aux/vc-list-files -C . tests That is because bash and dash work differently: $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done bash ok dash odd 2009-07-21 Eric Blake dup2-tests: test previous patch * modules/dup2-tests: New file. * tests/test-dup2.c: Likewise. * tests/test-open.c (main): Avoid unspecified behavior. * tests/test-pipe.c (child_main): Use dup2 semantics to simplify test. dup2: work around mingw and cygwin 1.5 bug * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness. * modules/unistd (Makefile.am): Substitute it. * lib/unistd.in.h (dup2): Declare the replacement. * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it. * doc/posix-functions/dup2.texi (dup2): Document the bugs. * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement. * modules/execute (Depends-on): Add dup2. * modules/fseterr (Depends-on): Likewise. * modules/pipe (Depends-on): Likewise. * modules/posix_spawn-internal (Depends-on): Likewise. 2009-07-21 Bruno Haible * modules/.gitattributes: New file. 2009-07-20 Bruno Haible * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro. (main): Use it. 2009-07-20 Eric Blake test-pipe: make a bit more robust. * tests/test-pipe.c (myerr): Allow error messages regardless of what we do to stderr. (test_pipe): Rearrange to avoid deadlock. (child_main): Try a larger read, to ensure we avoided deadlock. * lib/pipe.c (create_pipe) [_WIN32]: Fix comment. * lib/pipe.h (create_pipe_bidi): Document potential for deadlock if misused. 2009-07-19 Jim Meyering fts: avoid false-positive cycle-detection * lib/fts.c (fts_read): Reinitialize cycle-detection data structures for each new command line argument. 2009-07-19 Bruno Haible Fix build error on mingw with the modules sys_select and unistd. * modules/acl-tests (Depends-on): Add close. * modules/binary-io-tests (Depends-on): Likewise. * modules/closein-tests (Depends-on): Likewise. * modules/flock-tests (Depends-on): Likewise. * modules/fsync-tests (Depends-on): Likewise. * modules/lseek-tests (Depends-on): Likewise. * modules/pipe-tests (Depends-on): Likewise. * modules/posix_spawn-tests (Depends-on): Likewise. * modules/posix_spawnp-tests (Depends-on): Likewise. * modules/stat-time-tests (Depends-on): Likewise. * modules/yesno-tests (Depends-on): Likewise. 2009-07-19 Bruno Haible Unify conditionals. * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__ macros, not at the compiler macros. * lib/pipe.c: Likewise. * lib/execute.c: Likewise. * lib/spawni.c: Likewise. 2009-07-19 Bruno Haible Fix handling of closed stdin/stdout/stderr on mingw. * lib/w32spawn.h: Include unistd.h. (dup_noinherit): Return -1 if the old handle is invalid. Allocate new file descriptor with O_NOINHERIT flag. (fd_safer_noinherit): New function, based on fd-safer.c. (dup_safer_noinherit): New function, based on dup-safer.c. (undup_safer_noinherit): New function. * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of dup_noinherit. Use undup_safer_noinherit instead of dup2 and close. * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit instead of fd_safer. * tests/test-pipe.c: Include . (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result. * tests/test-pipe.c (child_main, parent_main): New functions, extracted from main. (test_pipe): Pass an extra argument for disambiguation. (main): Invoke parent_main or child_main. * tests/test-pipe.c (test_pipe): Pass slave_process = true argument consistently. 2009-07-18 Eric Blake test-pipe: fix mingw build * tests/test-pipe.c (main): Avoid fcntl on mingw. 2009-07-18 Bruno Haible * modules/pipe-tests (Makefile.am): Fix typo. 2009-07-18 Eric Blake error: fix mingw build * lib/error.c (error, error_at_line): Avoid fcntl on mingw. Reported by Bruno Haible. error: avoid undefined use of stdout * lib/error.c (error, error_at_line): Check that fd 1 is open before flushing stdout. Avoids a crash on cygwin when libsigsegv is handling faults and the close_stdout module wants to report the detection of closed stdout as an error. 2009-07-17 Eric Blake pipe: be robust in face of closed fds * lib/pipe.c (create_pipe): Closed standard descriptors in parent should cause child to misbehave. * modules/pipe-tests: New module. * tests/test-pipe.c: New file. * tests/test-pipe.sh: New file. Reported by Akim Demaille. 2009-07-14 Bruno Haible * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems. Reported by anonymous kc. 2009-07-07 Jim Meyering maint.mk: don't look for translatable strings in *.m4 or *.mk * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files, when searching for translatable strings. 2009-07-05 Jim Meyering remove superfluous parentheses in STREQ definition * tests/test-argv-iter.c (STREQ): Remove redundant parentheses. * lib/getugroups.c (STREQ): Likewise. * lib/fnmatch.c (STREQ): Likewise. Spotted by Bruno Haible. 2009-07-04 Jim Meyering argv-iter: new module * MODULES.html.sh: Add argv-iter. * lib/argv-iter.c, lib/argv-iter.h: New files. * modules/argv-iter: New file. * modules/argv-iter-tests: New file. * tests/test-argv-iter.c: Test it. 2009-07-04 Bruno Haible Fix assertion. * lib/git-merge-changelog.c (compute_mapping): In the case where file1 contains more exact copies of a given entry than file2, leave the extra copies unpaired rather than aborting. Reported by Eric Blake. 2009-07-02 Bruno Haible Speedup git-merge-changelog for git cherry-pick. * lib/git-merge-changelog.c (struct entries_mapping): New type. (entries_mapping_get): New function, extracted from compute_mapping. (entries_mapping_reverse_get): New function. (compute_mapping): Add a 'full' argument. Return the result in a 'struct entries_mapping'. (main): Update. Access the mappings through entries_mapping_get. Reported by Eric Blake. 2009-07-02 Bruno Haible * lib/git-merge-changelog.c (compute_mapping): Fix determination of best_i. 2009-07-02 Bruno Haible Speed up approximate search for matching ChangeLog entries. * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound argument. Call fstrcmp_bounded instead of fstrcmp. (compute_mapping, try_split_merged_entry, main): Update callers. 2009-07-02 Bruno Haible * lib/git-merge-changelog.c (main): Add comment about git cherry-pick. 2009-06-30 Bruno Haible Reduce the number of uc_is_cased calls. * lib/unicase.h (casing_suffix_context_t): Add 'first_char_except_ignorable' field. * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro. (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update. * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context): Update initializer. * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on case-ignorable characters. * lib/unicase/u-ct-totitle.h (FUNC): Likewise. * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here. * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased. * modules/unicase/u16-suffix-context (Depends-on): Likewise. * modules/unicase/u32-suffix-context (Depends-on): Likewise. 2009-06-30 Bruno Haible Tests for module 'unicase/ignorable'. * modules/unicase/ignorable-tests: New file. * tests/unicase/test-ignorable.c: New file, generated by gen-uni-tables. Tests for module 'unicase/cased'. * modules/unicase/cased-tests: New file. * tests/unicase/test-cased.c: New file, generated by gen-uni-tables. * tests/unicase/test-predicate-part1.h: New file, derived from tests/unictype/test-predicate-part1.h. * tests/unicase/test-predicate-part2.h: New file, same as tests/unictype/test-predicate-part2.h. Fix evaluation of "Before C" condition of FINAL_SIGMA. * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions. (output_casing_properties): New function. (main): Call it. * lib/unicase/cased.h: New file, generated by gen-uni-tables. * lib/unicase/cased.c: Include unictype/bitmap.h. (uc_is_cased): Define through a bitmap lookup. * lib/unicase/ignorable.h: New file, generated by gen-uni-tables. * lib/unicase/ignorable.c: Include unictype/bitmap.h. (uc_is_case_ignorable): Define through a bitmap lookup. * modules/unicase/cased (Files): Add lib/unicase/cased.h, lib/unictype/bitmap.h. (Depends-on): Add inline. Clean up. * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h, lib/unictype/bitmap.h. (Depends-on): Add inline. Clean up. * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA recognition. * tests/unicase/test-u16-tolower.c (main): Likewise. * tests/unicase/test-u32-tolower.c (main): Likewise. 2009-06-30 Bruno Haible * lib/unicase/u8-casemap.c: Don't include uniwbrk.h. * lib/unicase/u16-casemap.c: Likewise. * lib/unicase/u32-casemap.c: Likewise. 2009-06-29 Bruno Haible Define u32_casefold as a wrapper around u32_ct_casefold. * lib/unicase/u32-casefold.c: Update. * modules/unicase/u32-casefold (Depends-on): Add unicase/u32-ct-casefold, unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up. Define u16_casefold as a wrapper around u16_ct_casefold. * lib/unicase/u16-casefold.c: Update. * modules/unicase/u16-casefold (Depends-on): Add unicase/u16-ct-casefold, unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up. Define u8_casefold as a wrapper around u8_ct_casefold. * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD. * lib/unicase/u8-casefold.c: Update. * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold, unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up. Define u32_totitle as a wrapper around u32_ct_totitle. * lib/unicase/u32-totitle.c: Update. * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle, unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up. Define u16_totitle as a wrapper around u16_ct_totitle. * lib/unicase/u16-totitle.c: Update. * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle, unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up. Define u8_totitle as a wrapper around u8_ct_totitle. * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove functions. (FUNC): Delegate to U_CT_TOTITLE. * lib/unicase/u8-totitle.c: Update. * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle, unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up. * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap invocation. * modules/unicase/u32-tolower (Depends-on): Add unicase/empty-prefix-context, unicase/empty-suffix-context. * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap invocation. * modules/unicase/u16-tolower (Depends-on): Add unicase/empty-prefix-context, unicase/empty-suffix-context. * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation. * modules/unicase/u8-tolower (Depends-on): Add unicase/empty-prefix-context, unicase/empty-suffix-context. * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap invocation. * modules/unicase/u32-toupper (Depends-on): Add unicase/empty-prefix-context, unicase/empty-suffix-context. * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap invocation. * modules/unicase/u16-toupper (Depends-on): Add unicase/empty-prefix-context, unicase/empty-suffix-context. * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation. * modules/unicase/u8-toupper (Depends-on): Add unicase/empty-prefix-context, unicase/empty-suffix-context. New module 'unicase/u32-ct-casefold'. * lib/unicase/u32-ct-casefold.c: New file. * modules/unicase/u32-ct-casefold: New file. New module 'unicase/u16-ct-casefold'. * lib/unicase/u16-ct-casefold.c: New file. * modules/unicase/u16-ct-casefold: New file. New module 'unicase/u8-ct-casefold'. * lib/unicase/u8-ct-casefold.c: New file. * lib/unicase/u-ct-casefold.h: New file, derived from lib/unicase/u-casefold.h. * modules/unicase/u8-ct-casefold: New file. New module 'unicase/u32-ct-totitle'. * lib/unicase/u32-ct-totitle.c: New file. * modules/unicase/u32-ct-totitle: New file. New module 'unicase/u16-ct-totitle'. * lib/unicase/u16-ct-totitle.c: New file. * modules/unicase/u16-ct-totitle: New file. New module 'unicase/u8-ct-totitle'. * lib/unicase/u8-ct-totitle.c: New file. * lib/unicase/u-ct-totitle.h: New file, derived from lib/unicase/u-totitle.h. * modules/unicase/u8-ct-totitle: New file. New module 'unicase/u32-ct-tolower'. * lib/unicase/u32-ct-tolower.c: New file. * modules/unicase/u32-ct-tolower: New file. New module 'unicase/u16-ct-tolower'. * lib/unicase/u16-ct-tolower.c: New file. * modules/unicase/u16-ct-tolower: New file. New module 'unicase/u8-ct-tolower'. * lib/unicase/u8-ct-tolower.c: New file. * modules/unicase/u8-ct-tolower: New file. New module 'unicase/u32-ct-toupper'. * lib/unicase/u32-ct-toupper.c: New file. * modules/unicase/u32-ct-toupper: New file. New module 'unicase/u16-ct-toupper'. * lib/unicase/u16-ct-toupper.c: New file. * modules/unicase/u16-ct-toupper: New file. New module 'unicase/u8-ct-toupper'. * lib/unicase/u8-ct-toupper.c: New file. * modules/unicase/u8-ct-toupper: New file. Add context arguments to u*_casemap functions. * lib/unicase/unicasemap.h: Include unicase.h. (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and suffix_context arguments. * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove functions. (FUNC): Add prefix_context and suffix_context arguments. Use uc_is_cased and uc_is_case_ignorable. * lib/unicase/u8-casemap.c: Include caseprop.h and context.h. * lib/unicase/u16-casemap.c: Likewise. * lib/unicase/u32-casemap.c: Likewise. * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h. (Depends-on): Add unicase/cased, unicase/ignorable. Clean up. * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h. (Depends-on): Add unicase/cased, unicase/ignorable. Clean up. * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h. (Depends-on): Add unicase/cased, unicase/ignorable. Clean up. New module 'unicase/u32-suffix-context'. * lib/unicase/u32-suffix-context.c: New file. * modules/unicase/u32-suffix-context: New file. New module 'unicase/u16-suffix-context'. * lib/unicase/u16-suffix-context.c: New file. * modules/unicase/u16-suffix-context: New file. New module 'unicase/u8-suffix-context'. * lib/unicase/u8-suffix-context.c: New file. * lib/unicase/u-suffix-context.h: New file. * modules/unicase/u8-suffix-context: New file. New module 'unicase/empty-suffix-context'. * lib/unicase/empty-suffix-context.c: New file. * modules/unicase/empty-suffix-context: New file. New module 'unicase/u32-prefix-context'. * lib/unicase/u32-prefix-context.c: New file. * modules/unicase/u32-prefix-context: New file. New module 'unicase/u16-prefix-context'. * lib/unicase/u16-prefix-context.c: New file. * modules/unicase/u16-prefix-context: New file. New module 'unicase/u8-prefix-context'. * lib/unicase/u8-prefix-context.c: New file. * lib/unicase/u-prefix-context.h: New file. * lib/unicase/context.h: New file. * modules/unicase/u8-prefix-context: New file. New module 'unicase/empty-prefix-context'. * lib/unicase/empty-prefix-context.c: New file. * modules/unicase/empty-prefix-context: New file. New module 'unicase/ignorable'. * lib/unicase/ignorable.c: New file. * modules/unicase/ignorable: New file. New module 'unicase/cased'. * lib/unicase/caseprop.h: New file. * lib/unicase/cased.c: New file. * modules/unicase/cased: New file. New functions for case mapping of substrings. * lib/unicase.h (casing_prefix_context_t): New type. (unicase_empty_prefix_context): New variable. (u8_casing_prefix_context, u16_casing_prefix_context, u32_casing_prefix_context, u8_casing_prefixes_context, u16_casing_prefixes_context, u32_casing_prefixes_context): New declarations. (casing_suffix_context_t): New type. (unicase_empty_suffix_context): New variable. (u8_casing_suffix_context, u16_casing_suffix_context, u32_casing_suffix_context, u8_casing_suffixes_context, u16_casing_suffixes_context, u32_casing_suffixes_context, u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower, u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle, u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New declarations. 2009-06-28 Jim Meyering boostrap: indent only with spaces * build-aux/bootstrap: Indent only with spaces, never TABs. bootstrap: split long lines * build-aux/bootstrap: Keep line length < 80. bootstrap: sync from coreutils * build-aux/bootstrap: Honor variables like $ACLOCAL, etc., just as autoreconf does. Verify a list of prerequisite package-name,version-number pairs if defined in bootstrap.conf. Refer to README-prereq, if prerequisites are not satisfied. 2009-06-27 Eric Blake tests: add test for bogus NULL definition * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL. * tests/test-stdlib.c: Likewise. * tests/test-string.c: Likewise. * tests/test-locale.c: Likewise. * tests/test-unistd.c: Likewise. * modules/stdio-tests (Depends-on): Add verify. * modules/stdlib-tests (Depends-on): Likewise. * modules/string-tests (Depends-on): Likewise. * modules/locale-tests (Depends-on): Likewise. * modules/unistd-tests (Depends-on): Likewise. 2009-06-27 Paolo Bonzini * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove self-explaining comment. * m4/selinux-selinux-h: Update serial. (gl_LIBSELINUX): New macro, adding a warning for missing development packages to code extracted from... (gl_HEADERS_SELINUX_SELINUX_H): ... this one. Require gl_LIBSELINUX. Add warning for missing development packages here, too. 2009-06-26 Paolo Bonzini * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL. 2009-06-25 Eric Blake version-etc: fix regression * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough gcc. (version_etc): Use it, to catch bugs with trailing NULL. * lib/version-etc.c (version_etc_arn): Delete unused argument. (version_etc_va): Fix logic bug. * modules/version-etc-tests: Add test. * tests/test-version-etc.c: New file. * tests/test-version-etc.sh: Likewise. 2009-06-25 Sam Steingold * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include , for the mbtowc declaration. 2009-06-25 Eric Blake fpurge: migrate into * lib/fpurge.h: Delete... * lib/stdio.in.h (fpurge): ...and declare here, instead. * lib/fpurge.c (fpurge): Change declaring header. * modules/fpurge (Files): Drop deleted file. (Depends-on): Add stdio. (configure.ac): Set witness. * modules/stdio (Makefile.am): Support fpurge macros. * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise. * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables. * lib/fflush.c: Update client. * tests/test-fpurge.c: Likewise. * NEWS: Mention the change. 2009-06-25 Sergey Poznyakoff * lib/argp-version-etc.c (program_authors): Add const qualifier. * lib/version-etc.c: Fix typos in the comments. * modules/argp-version-etc: Depends on version-etc. 2009-06-25 Sergey Poznyakoff argp-version-etc: new module. * lib/argp-version-etc.c: New file. * lib/argp-version-etc.h: New file. * modules/argp-version-etc: New file. * modules/argp-version-etc-tests: New file. * tests/test-argp-version-etc.c: New test. * tests/test-argp-version-etc-1.sh: New test. 2009-06-25 Sergey Poznyakoff Provide additional interfaces and documentation for version-etc module. * lib/version-etc.c (version_etc_arn, version_etc_ar): New interfaces. * lib/version-etc.h (version_etc_arn, version_etc_ar): New prototypes. 2009-06-24 Bruno Haible * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of HAVE_LIB${NAME} macro. Reported by Sam Steingold . 2009-06-23 Simon Josefsson * modules/hash-tests (test_hash_LDADD): Link to libintl when needed. 2009-06-21 Bruno Haible Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS work. * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME} together with LIB${NAME}, LTLIB${NAME}. Reported by Sam Steingold . 2009-06-20 Jim Meyering tests: make sc_require_test_exit_idiom more generic * top/maint.mk (Exit_witness_file): New overridable variable. (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh. Relax test for /^Exit \$fail$$/ to just /^Exit ./. 2009-06-19 Jim Meyering hash: reverse order of src/dst parameters in an internal interface * lib/hash.c (transfer_entries): Reverse order of parameters to put DST before SRC. Adjust callers. tests: test-hash: avoid wholesale duplication * tests/test-hash.c (main): Don't copy/paste a 60-line loop. Instead, use a loop and add a single conditional. tests: test-hash: allow seed selection via a command line argument * tests/test-hash.c (get_seed): New function. (main): Use it. 2009-06-19 Eric Blake hash: avoid memory leak on allocation failure * lib/hash.c: (hash_rehash): Avoid memory leak on allocation failure. Factor repeated algorithm... (transfer_entries): ...into new helper routine. (hash_delete): React to hash_rehash return value. hash: reduce memory pressure in hash_rehash no-op case * lib/hash.c (next_prime): Avoid overflow. (hash_initialize): Factor bucket size computation... (compute_bucket_size): ...into new helper function. (hash_rehash): Use new function and open coding to reduce memory pressure, and avoid a memory leak in USE_OBSTACK code. Reported by Jim Meyering. 2009-06-18 Eric Blake hash: make rotation more obvious * modules/hash (Depends-on): Add bitrotate and stdint. * lib/bitrotate.h (rotl_sz, rotr_sz): New functions. * lib/hash.c (headers): Drop limits.h. Add stdint.h. (SIZE_MAX): Rely on headers for definition. (hash_string) [USE_DIFF_HASH]: Use rotl_sz. (raw_hasher): Use rotr_sz. Suggested by Jim Meyering. hash: fix memory leak in last patch * lib/hash.c (hash_rehash): Avoid memory leak. hash: avoid no-op rehashing * lib/hash.c (hash_rehash): Recognize useless rehash attempts. hash: provide default callback functions * lib/hash.c (raw_hasher, raw_comparator): New functions. (hash_initialize): Use them as defaults. * tests/test-hash.c (main): Test this. hash: minor optimization * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call when possible. (hash_initialize): Document this promise. (hash_do_for_each, hash_clear, hash_free): Use C89 syntax. * tests/test-hash.c (hash_compare_strings): Test this. 2009-06-18 Bruno Haible * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is going to be replaced anyway. 2009-06-18 Bruno Haible * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only in one place. (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to be replaced anyway. 2009-06-18 Eric Blake hash: check for resize before insertion * lib/hash.c (hash_insert): Check whether bucket usage exceeds threshold before insertion, so that a pathological hash_rehash that fills every bucket can still trigger another rehash. 2009-06-18 Jim Meyering hash-tests: add a loop around the small tests * tests/test-hash.c (main): Repeat small tests with selected small initial table sizes. 2009-06-17 Eric Blake hash: minor cleanups * lib/hash.h (hash_entry): Make opaque, by moving... * lib/hash.c (hash_entry): ...here. (hash_insert): Clarify restrictions on what can be inserted. (hash_get_next): Clarify when it is safe to remove an element during traversal. (check_tuning): Skip verification when tuning is known safe. (hash_initialize): Clarify restrictions on tuning. 2009-06-17 Jim Meyering and Eric Blake hash-tests: new module * modules/hash-tests: New file. * tests/test-hash.c: New file. 2009-06-17 Eric Blake strstr-simple: document new module * MODULES.html.sh: Document new module. strstr, strcasestr: replace on platforms with broken memchr * modules/strstr: Split into... * modules/strstr-simple: ...new module that does not care about performance, but does care about glibc bug. * m4/strstr.m4 (gl_FUNC_STRSTR): Split... (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr if platform memchr is broken, per Debian bug 521737. * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken memchr. * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once. * doc/posix-functions/strstr.texi (strstr): Document the fix. * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise. * modules/mountlist (Depends-on): Add strstr-simple. * modules/gen-uni-tables (Depends-on): Likewise. * modules/argz (Depends-on): Add strstr. 2009-06-17 Bruno Haible * modules/posix_spawn-internal (Depends-on): Add errno. 2009-06-17 Bruno Haible Define missing ESTALE on Interix 3.5. * lib/errno.in.h (ESTALE): Assign a value if missing. * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED. * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is missing. * doc/posix-headers/errno.texi: Mention the Interix bug. Reported by Jay Krell via Eric Blake. 2009-06-15 Eric Blake memchr, memchr2: add valgrind exception * lib/memchr.valgrind: New file. * lib/memchr2.valgrind: New file. * modules/memchr (Files): Distribute valgrind file. * modules/memchr2 (Files): Likewise. docs: memchr is no longer obsolete * MODULES.html.sh: Move memchr from obsolete to string.h section. * lib/string.in.h (memchr): Simplify logic. 2009-06-14 Jim Meyering link-follow: fix the "checking..." message to not mention trailing slash * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has never considered trailing slashes. 2009-06-14 Bruno Haible * m4/memchr.m4: Mention also the bug on IA-64. * doc/posix-functions/memchr.texi: Likewise. 2009-06-12 Eric Blake memchr: detect broken x86_64 and alpha implementations * modules/memchr-tests (Depends-on): Move mmap detection... * modules/memchr (Depends-on): ...here. (configure.ac): Set indicator. * lib/string.in.h (memchr): Declare replacement. * modules/string (Makefile.am): Trigger replacement. * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise. * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform bugs. * doc/posix-functions/memchr.texi (memchr): Document the bug. * modules/getpagesize (License): Relax license. 2009-06-11 Bruno Haible * lib/idpriv.h: Add more references. 2009-06-08 Bruno Haible Tests for module 'idpriv-droptemp'. * modules/idpriv-droptemp-tests: New file. * tests/test-idpriv-droptemp.sh: New file. * tests/test-idpriv-droptemp.su.sh: New file. * tests/test-idpriv-droptemp.c: New file. New module 'idpriv-droptemp'. * lib/idpriv-droptemp.c: New file. * modules/idpriv-droptemp: New file. 2009-06-08 Bruno Haible Tests for module 'idpriv-drop'. * modules/idpriv-drop-tests: New file. * tests/test-idpriv-drop.sh: New file. * tests/test-idpriv-drop.su.sh: New file. * tests/test-idpriv-drop.c: New file. New module 'idpriv-drop'. * lib/idpriv.h: New file. * lib-idpriv-drop.c: New file. * m4/idpriv.m4: New file. * modules/idpriv-drop: New file. 2009-06-08 Bruno Haible * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr. * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise. * modules/unistdio/u16-vasnprintf (Depends-on): Likewise. * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise. * modules/unistdio/u32-vasnprintf (Depends-on): Likewise. * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise. * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise. 2009-06-08 Eric Blake test-strstr: use memory fence, when possible * tests/test-strstr.c (main): Use memory fence, in order to be more likely to trigger Debian bug 521737. * modules/strstr-tests (Files): Pull in additional files. memchr: no longer obsolete, for wider field testing * modules/memchr (Status, Notice): Delete, this module is no longer obsolete. * modules/vasnprintf (Depends-on): Add memchr. 2009-06-07 Jim Meyering hash: declare some functions with the warn_unused_result attribute * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define. 2009-06-07 Bruno Haible * tests/test-alignof.c: Don't test int64_t if it does not exist. Reported by Eric Blake. 2009-06-06 Eric Blake test-alignof: fix typo with long double * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid compiler error. 2009-06-06 Neil Jerram (tiny change) Escape non-texinfo { and }s. * doc/ld-output-def.texi (Visual Studio Compatibility): Fix markup error. 2009-06-04 Jim Meyering gitlog-to-changelog: don't infloop on an empty commit log * build-aux/gitlog-to-changelog: Warn about an empty log message. Reported by Boris Petersen . 2009-06-03 Mike Frysinger version-etc: extend for packagers Add three new configure options, intended for packagers: --with-packager="packager name" --with-packager-version="packager-specific version" --with-packager-bug-reports="packager bug reporting" An example with coreutils: $ ./configure \ --with-packager=Gentoo \ --with-packager-bug-report=http://bugs.gentoo.org/ \ --with-packager-version="patchset 1.6" $ ./src/ls --version | head -n2 ls (GNU coreutils) 7.1-dirty Packaged by Gentoo (patchset 1.6) Note that the bug reporting info via --help doesn't show up because coreutils uses its own custom emit_bug_reporting_address() implementation in src/system.h. If it didn't, it'd look like: $ ./src/ls --help | tail -n4 Report bugs to . Report Gentoo bugs to . GNU coreutils home page: . General help using GNU software: . * lib/version-etc.c: Print new information, if provided. * m4/version-etc.m4: New file. * modules/version-etc (Files): Add m4/version-etc.m4. (configure.ac): Add gl_VERSION_ETC. 2009-05-31 Bruno Haible * tests/test-alignof.c: Include . Check also 'long double' and 'int64_t'. * modules/alignof-tests (Dependencies): Add stdint. Reported by Eric Blake. 2009-05-31 Bruno Haible * lib/alignof.h (alignof_slot, alignof_type, alignof): Document restriction due to compiler bugs. Reported by Eric Blake. 2009-05-31 Simon Josefsson Bruno Haible Fix test-alignof failure. * lib/alignof.h (alignof_slot): New macro. (alignof_type): New macro, with the same semantics as the previous 'alignof'. (alignof): Alias to alignof_slot. * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also check that the results are usable as constant expressions. 2009-05-31 Bruno Haible * tests/zerosize-ptr.h (zerosize_ptr): Specify more details. * tests/test-memchr.c (main): Check that memchr does not read past the first occurrence of the byte. * tests/test-strstr.c (main): Update comment. Suggested by Eric Blake. 2009-05-30 Bruno Haible * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more detail how to use dumpbin. Reported by David Byron . 2009-06-02 Simon Josefsson * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'. 2009-06-02 Simon Josefsson * m4/manywarnings.m4: Add GCC 4.4 warnings. 2009-05-28 Bruno Haible * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on build-aux/ files. 2009-05-28 Simon Josefsson * gnulib-tool (func_import): Transform license on build-aux/ files too. 2009-05-27 Simon Josefsson * gnulib-tool (sed_transform_main_lib_file) (sed_transform_testsrelated_lib_file): : Don't use non-POSIX regexps. 2009-05-26 Simon Josefsson * tests/test-strstr.c: Add another self-test. * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of strdup. Suggested by Eric Blake . 2009-05-23 Bruno Haible * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26 change. 2009-05-21 Bruno Haible Simplify use of mode_t varargs. * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that uses 'mode_t' or 'int'. * lib/openat.c (openat): Likewise. * lib/open-safer.c (open_safer): Likewise. * m4/mode_t.m4: New file. * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T. * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise. * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise. * modules/open (Files): Add m4/mode_t.m4. * modules/openat (Files): Likewise. * modules/fcntl-safer (Files): Likewise. Suggested by Eric Blake. 2009-05-21 Pádraig Brady * doc/glibc-functions/fallocate.texi: New file. * doc/gnulib.texi: Include it. 2009-05-21 Eric Blake Bruno Haible * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote invocations. * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise. 2009-05-21 Eric Blake Bruno Haible Second attempt to work around an AIX 5.3, 6.1 compiler bug with include_next. Fix of 2008-11-20 commit. * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set NEXT_AS_FIRST_DIRECTIVE_FOO_H. * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of NEXT_MATH_H. * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of NEXT_MATH_H. 2009-05-21 Bruno Haible Avoid redefinition warnings for SIZE_MAX. * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h. Reported by Simon Josefsson. 2009-05-21 Bruno Haible * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of AC_CACHE_VAL. 2009-05-20 Bruno Haible Make zeroptr.h work on mingw. * tests/zerosize-ptr.h: Test for the presence of and mprotect. * modules/memchr-tests (configure.ac): Also test for sys/mman.h. * modules/memchr2-tests (configure.ac): Likewise. * modules/memcmp-tests (configure.ac): Likewise. * modules/memmem-tests (configure.ac): Likewise. * modules/memrchr-tests (configure.ac): Likewise. Reported by Simon Josefsson. 2009-05-20 Simon Josefsson * tests/test-glob.c: Include string.h for strcmp prototype. 2009-05-20 Simon Josefsson * modules/getdelim (Depends-on): Add explicit stdint, although it was implicitly already pulled in via realloc-posix. * lib/getdelim.c: Get SIZE_MAX from stdint.h. 2009-05-20 Simon Josefsson MinGW and IRIX does not have sa_family_t type. Reported by "Tom G. Christensen" . * m4/sys_socket_h.m4: Check for sa_family_t. * lib/sys_socket.in.h: Typedef sa_family_t when needed. * modules/sys_socket: Substitute HAVE_SA_FAMILY_T. * tests/test-sys_socket.c: Check that sa_family_t works. 2009-05-18 Eric Blake maint.mk: allow gnulib_dir in VPATH build * top/maint.mk (gnulib_dir): Make relative to $(srcdir). 2009-05-15 Jim Meyering maint.mk: Give gnulib_dir a default definition. * top/maint.mk (gnulib_dir): Define to 'gnulib', by default. Thus, most packages no longer need to specify this variable in cfg.mk 2009-05-14 Tom Prince (tiny change) rename.m4: fix typos that would make non-mingw cross-configure fail * m4/rename.m4 (gl_FUNC_RENAME): Fix typos. 2009-05-13 Eric Blake mmap-anon: avoid out-of-order autoconf expansion * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b. * modules/memchr-tests (Depends-on): Add extensions. * modules/memchr2-tests (Depends-on): Add extensions. * modules/memcmp-tests (Depends-on): Add extensions. * modules/memmem-tests (Depends-on): Add extensions. * modules/memrchr-tests (Depends-on): Add extensions. 2009-05-13 Bruno Haible Make some tests ISO C 99 compliant. * tests/zerosize-ptr.h: New file. * tests/test-memchr.c: Include zerosize-ptr.h. (main): Use a zero-size object pointer instead of NULL. * tests/test-memchr2.c: Include zerosize-ptr.h. (main): Use a zero-size object pointer instead of NULL. * tests/test-memcmp.c: Include zerosize-ptr.h. (main): Use a zero-size object pointer instead of NULL. * tests/test-memmem.c: Include zerosize-ptr.h. (main): Use a zero-size object pointer instead of NULL. * tests/test-memrchr.c: Include zerosize-ptr.h. (main): Use a zero-size object pointer instead of NULL. * modules/memchr-tests (Files): Add tests/zerosize-ptr.h, m4/mmap-anon.m4. (Depends-on): Add getpagesize. (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect. * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h, m4/mmap-anon.m4. (Depends-on): Add getpagesize. (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect. * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h, m4/mmap-anon.m4. (Depends-on): Add getpagesize. (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect. * modules/memmem-tests (Files): Add tests/zerosize-ptr.h, m4/mmap-anon.m4. (Depends-on): Add getpagesize. (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect. * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h, m4/mmap-anon.m4. (Depends-on): Add getpagesize. (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect. 2009-05-12 Bruno Haible Tests for module 'alignof'. * modules/alignof-tests: New file. * tests/test-alignof.c: New file. 2009-05-12 Bruno Haible Fix alignof macro. * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX vendor compilers that are always correct. 2009-05-12 Bruno Haible Make the MAP_ANONYMOUS detection work on HP-UX 11. * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but not whether its fully works. 2009-05-12 Bruno Haible * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments. 2009-05-12 Jim Meyering * top/maint.mk: Adjust backslash alignment. 2009-05-11 Simon Josefsson * top/maint.mk: Make $(srcdir)/build-aux configurable. 2009-05-11 Eric Blake argp: avoid undefined behavior * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype macros. 2009-05-08 Simon Josefsson * tests/test-vc-list-files-git.sh: Do git config of user.email and user.name to prevent git commit from complaining. 2009-05-10 Bruno Haible * gnulib-tool (func_import, func_create_testdir, copy-file): Change sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that it rewrites every file name only once. Reported by Simon Josefsson. Helped by Ralf Wildenhues. 2009-05-08 Bruno Haible * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression instead of 'max'. 2009-05-08 Simon Josefsson * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for sockaddr_storage test. 2009-05-07 Simon Josefsson * modules/sys_socket (Makefile.am): Substitute HAVE_STRUCT_SOCKADDR_STORAGE. Depend on alignof. * m4/sys_socket_h.m4: Check for sockaddr_storage. * lib/sys_socket.in.h (sockaddr_storage): Define when needed. * tests/test-sys_socket.c: Check sockaddr_storage. 2009-05-08 Bruno Haible New module 'alignof'. * lib/alignof.h: New file. * modules/alignof: New file. 2009-05-04 David Bartley Bruno Haible Fix test-file-has-acl on FreeBSD. * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the mask is implicitly added. * tests/test-file-has-acl.c: Include . (main): Terminate the test after 5 seconds. * modules/acl-tests (configure.ac): Check for alarm function. 2009-05-04 Bruno Haible Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26. * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment. * modules/errno (configure.ac): Drop AC_REQUIRE. * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment. * modules/multiarch (configure.ac): Drop AC_REQUIRE. 2009-05-04 Simon Josefsson * modules/glob-tests: New module. * tests/test-glob.c: Add. 2009-05-04 Simon Josefsson * modules/fnmatch-tests: New module. * tests/test-fnmatch.c: Add. 2009-05-04 Eric Blake maint: make the new no-submodule-changes rule VPATH-safe * top/maint.mk (no-submodule-changes): Don't assume a srcdir build. 2009-05-04 David Bartley Bruno Haible acl: Fix infinite loop on FreeBSD. * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation of return value from acl_get_entry. * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]: Likewise. 2009-05-03 Bruno Haible * lib/acl-internal.h (acl_entries): Clarify return value. * lib/acl_entries.c (acl_entries): Likewise. 2009-05-04 David Bartley Bug fix in acl module. * lib/set-mode-acl.c: Use correct struct with ACL_SETACL. 2009-05-03 Bruno Haible Create gperf-generated file in the source dir, not in the build dir. * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h, iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree. * modules/unicase/locale-language (unicase/locale-languages.h): Likewise. * modules/unicase/special-casing (unicase/special-casing-table.h): Likewise. * modules/unictype/property-byname (unictype/pr_byname.h): Likewise. * modules/unictype/scripts (unictype/scripts_byname.h): Likewise. * modules/uninorm/composition (uninorm/composition-table.h): Likewise. Reported by Ralf Wildenhues. 2009-05-03 Bruno Haible * modules/fnmatch (Description, configure.ac): Taken from fnmatch-posix. * modules/fnmatch-posix: Turn into a symbolic reference to the 'fnmatch' module, and deprecate. * doc/posix-functions/fnmatch.texi: Mention the fnmatch module. 2009-05-03 Bruno Haible * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF, gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE. Reported by Ralf Wildenhues. 2009-05-04 Simon Josefsson * m4/fnmatch.m4: Fix fnmatch re-define. 2009-04-27 David Bartley priv-set: new module and tests; adapt write-any-file * lib/priv-set.c: New file. * lib/priv-set.h: New file. * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe. * lib/write-any-file.c: Simplify by using priv-set module. * m4/priv-set.m4: New file. * modules/priv-set: New file. * modules/unlinkdir: Add dependency on priv-set module. * modules/write-any-file: Likewise. Tests for module 'priv-set'. * modules/priv-set-tests: New file. * tests/test-priv-set.c: New file. 2009-05-03 Jim Meyering Bruno Haible * lib/propername.c (proper_name_utf8): Ignore no-op translations; use the converted UTF-8 variant of the name instead. 2009-05-03 Jim Meyering tests: tighten some getdate tests * tests/test-getdate.c (main): Tighten tests: require equality, not just greater than. Set TZ envvar to UTC0. 2009-05-03 Giuseppe Scrivano getdate: correctly interpret "next monday" when run on a Monday * lib/getdate.y (get_date): Correct the calculation of tm_mday so that e.g., "next tues" (when run on a tuesday) results in a date that is one week in the future, and not today's date. I.e., add a week when the wday is the same as the current one. Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406, and earlier by Martin Bernreuther and Jan Minář. * tests/test-getdate.c (main): Check that "next DAY" is always in the future and that "last DAY" is always in the past. 2009-05-02 Jim Meyering build: ensure that a release build fails when a submodule is unclean * top/maint.mk (no-submodule-changes): New rule. (alpha beta major): Depend on it. 2009-05-02 Bruno Haible Remove incompatibility between modules fnmatch-posix and fnmatch-gnu. * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a shell variable gl_fnmatch_required to detect which variant is requested. (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into gl_FUNC_FNMATCH_POSIX. * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't exclude fnmatch-posix. 2009-05-02 Bruno Haible Relicense mbsrtowcs and strnlen1 under LGPLv2+. * modules/mbsrtowcs (License): Change to LGPLv2+. * modules/strnlen1 (License): Likewise. Reported by Simon Josefsson. 2009-05-02 Bruno Haible * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of "cross". (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that gnulib-tool was called with option --source-base=lib. 2009-05-02 Ralf Wildenhues Use automake *-local hooks without commands, for extensibility. * modules/localcharset (Makefile.am): Rename install-exec-local rule to install-exec-localcharset, and make it a prerequisite of install-exec-local. Likewise, rename the uninstall-local rule to uninstall-localcharset, and make it a prerequisite of the former. 2009-05-01 Bruno Haible * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1. * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and set REPLACE_WCSNRTOMBS if mbstate_t must be replaced. * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS. * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS. * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4, m4/locale-zh.m4, m4/codeset.m4. * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and set REPLACE_WCSRTOMBS if mbstate_t must be replaced. * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4, m4/locale-zh.m4. * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set REPLACE_WCRTOMB if mbstate_t must be replaced. * modules/wcrtomb (Files): Add m4/mbrtowc.m4. Reported by Jens Rehsack via Eric Blake. 2009-05-01 Bruno Haible Avoid compiler warnings when redefining macros defined by . * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext, dngettext, dcngettext, textdomain, bindtextdomain, bind_textdomain_codeset): Undefine before redefining. 2009-04-30 Bruno Haible Fix bug introduced on 2009-04-25. * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO, gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros. * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO is defined. * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO is defined. * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO is defined. Reported by Elbert_Pol . 2009-04-28 Bruno Haible Comment tweaks. * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is. * lib/uninorm.h (u*_normxfrm): Fix description of return value. * lib/unicase.h (u*_casexfrm): Likewise. Reported by Paolo Bonzini. 2009-04-28 Bruno Haible Fix a compilation error. * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer. * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise. Reported by Jim Meyering. 2009-04-27 Bruno Haible New module 'libunistring'. * modules/libunistring: New file. * m4/libunistring.m4: New file. * MODULES.html.sh (Unicode string functions): Add it. 2009-04-27 Eric Blake maint.mk: allow package-specific header to provide * top/maint.mk (sc_require_config_h): New variable. (sc_require_config_h, sc_require_config_h_first): Use it. 2009-04-27 Simon Josefsson * top/maint.mk (sc_avoid_if_before_free): Except useless-if-before-free script. 2009-04-27 Eric Blake maintainer-makefile: depend on all required helper scripts * modules/maintainer-makefile (Depends-on): Add vc-list-files and useless-if-before-free. * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local version, rather than assuming gnulib checkout is available. Reported by Simen Josefsson. 2009-04-26 Bruno Haible Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32". * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in "../" or "..". 2009-04-26 Bruno Haible * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument. * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using AC_LIB_HAVE_LINKFLAGS. 2009-04-26 Bruno Haible Simplify calling convention of u*_conv_from_encoding. * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding, u32_conv_from_encoding): Expect a resultbuf argument and return the result directly as a pointer. * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise. * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise. * lib/uniconv/u-strconv-from-enc.h (FUNC): Update. * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update. * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update. * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks): Update. * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update. * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update. * lib/vasnprintf.c (VASNPRINTF): Update. * tests/uniconv/test-u8-conv-from-enc.c (main): Update. * tests/uniconv/test-u16-conv-from-enc.c (main): Update. * tests/uniconv/test-u32-conv-from-enc.c (main): Update. * NEWS: Mention the change. 2009-04-26 Bruno Haible Simplify calling convention of u*_conv_to_encoding. * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding, u32_conv_to_encoding): Expect a resultbuf argument and return the result directly as a pointer. * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise. * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while freeing scaled_offsets if mem_iconveha failed. * lib/unicase/u-casexfrm.h (FUNC): Update. * lib/uninorm/u-normxfrm.h (FUNC): Update. * lib/vasnprintf.c (VASNPRINTF): Update. * tests/uniconv/test-u8-conv-to-enc.c (main): Update. * tests/uniconv/test-u16-conv-to-enc.c (main): Update. * tests/uniconv/test-u32-conv-to-enc.c (main): Update. * NEWS: Mention the change. 2009-04-26 Bruno Haible Avoid test failures on AIX and OSF/1. * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling malloc(0). * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise. * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks): Likewise. * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise. * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise. * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak. * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0). * doc/posix-functions/malloc.texi: Document the portability problem related to malloc(0). 2009-04-26 Bruno Haible * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix. * modules/unistr/u16-cpy-alloc (Depends-on): Likewise. * modules/unistr/u32-cpy-alloc (Depends-on): Likewise. 2009-04-25 Bruno Haible Avoid link error when creating a namespace clean library. * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define as macro with arguments if already defined as an alias. * lib/signbitf.c (gl_signbitf): Don't undefine. * lib/signbitd.c (gl_signbitd): Don't undefine. * lib/signbitl.c (gl_signbitl): Don't undefine. 2009-04-25 Jim Meyering vc-list-files: fix another quoting bug * build-aux/vc-list-files: Avoid sed backslash expansion of pathological directory names. 2009-04-25 Eric Blake vc-list-files: fix shell quoting error * build-aux/vc-list-files: Protect against $ in $dir. Normalize timestamp. 2009-04-25 Jim Meyering vc-list-files: restore lost functionality with subdir argument * build-aux/vc-list-files: When given a non-"." sub-directory argument, substitute the $dir/ prefix back onto each resulting name. Otherwise, coreutils' root_tests check would fail. 2009-04-24 Eric Blake vc-list-files: ignore git symlinks * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather than ls-files, to ignore git symlinks. maint.mk: import improvements from m4 * top/maint.mk (VC-tag): Use signing key from cfg.mk. (move_if_change): Delete unused macro. (news-date-check, vc-diff-check): Support VPATH builds. (announcement): Likewise. Split --bootstrap-tools list... (boostrap-tools): ...into separate list, which can be overridden in cfg.mk. (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than requiring dependency on useless-if-before-free module. (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module. Support VPATH builds. 2009-04-24 Jim Meyering maint.mk: remove coreutils-specific rules and variables * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove. (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove. (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove. maint.mk: remove obsolete rule * top/maint.mk (rel-check): Remove rule. (WGET, WGETFLAGS): Remove now-unused variables. 2009-04-24 Simon Josefsson * top/maint.mk (makefile-check): Renamed to sc_makefile_check for consistency. * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use '$(PATH_SEPARATOR)' instead of ':'. 2009-04-24 Simon Josefsson * lib/getopt1.c (main): Use 'const' for static array. 2009-04-24 Simon Josefsson * top/maint.mk: Sync with coreutils. * NEWS: Explain incompatibilities. 2009-04-22 Yoann Vandoorselaere Bruno Haible Fix cross-compilation results. * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty statement, as third argument of AC_TRY_RUN. * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK, gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): Likewise. * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise. * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL): Likewise. * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise. * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3. * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3. 2009-04-20 Bruno Haible Avoid test failure on mingw. * tests/uniwidth/test-uc_width2.sh: Convert newlines in output. 2009-04-20 Bruno Haible Avoid compilation error on mingw. * modules/localename-tests (Depends-on): Add locale. 2009-04-19 Bruno Haible Support for building a shared library on Windows platforms. * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL. (main): Test the presence of UNINORM_NFC here. * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL. (main): Test the presence of UNINORM_NFD here. * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL. (main): Test the presence of UNINORM_NFKC here. * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL. (main): Test the presence of UNINORM_NFKD here. 2009-04-19 Bruno Haible Avoid a compiler warning. * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file): Change type of variable 'sequence'. 2009-04-19 Bruno Haible * modules/configmake (Makefile.am): When the contents of configmake.h does not change, arrange to preserve its modification time. 2009-04-17 Simon Josefsson * top/maint.mk (PO_DOMAIN): New variable, allows overriding of gettext domain. 2009-04-16 Jim Meyering useless-if-before-free: improve conversion code * build-aux/useless-if-before-free: Adjust code-in-comment to match "...!= 0" as well as "...!= NULL". emacs has one of the former. 2009-04-14 Bruno Haible * modules/fcntl (Depends-on): Add extensions. * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment. 2009-04-12 Ben Pfaff Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux. * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS. 2009-03-20 Ben Pfaff Make rename replace existing destinations on Windows. * m4/rename.m4: Add test for Mingw. * lib/rename.c: Add rename replacement that uses MoveFileEx with MOVEFILE_REPLACE_EXISTING to replace existing destination files. * doc/posix-functions/rename.texi: Document. 2009-04-10 Bruno Haible New include file "iconveh.h". * lib/iconveh.h: New file, extracted from lib/striconveh.h. * lib/striconveh.h: Include it. (enum iconv_ilseq_handler): Remove definition. * lib/striconveha.h: Include and iconveh.h instead of striconveh.h. * lib/striconveha.c: Include striconveh.h. * lib/uniconv.h: Include iconveh.h instead of striconveh.h. * modules/striconveh (Files): Add lib/iconveh.h. * modules/uniconv/base (Files): Add lib/iconveh.h. Remove lib/striconveh.h. 2009-04-10 Bruno Haible * lib/uniconv.h: Update comment. 2009-04-10 Bruno Haible * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function always. * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise. * lib/unistr/u16-mbtouc-aux.c: Likewise. * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise. * lib/unistr/u8-mbtouc.c: Inside libunistring, include "unistring-notinline.h", so that the function gets defined always. * lib/unistr/u8-mbtouc-unsafe.c: Likewise. * lib/unistr/u8-uctomb.c: Likewise. * lib/unistr/u16-mbtouc.c: Likewise. * lib/unistr/u16-mbtouc-unsafe.c: Likewise. * lib/unistr/u16-uctomb.c: Likewise. * lib/unistr/u32-mbtouc.c: Likewise. * lib/unistr/u32-mbtouc-unsafe.c: Likewise. * lib/unistr/u32-uctomb.c: Likewise. 2009-04-10 Bruno Haible Mark 'utime' obsolete. * modules/utime (Status, Notice): New sections. Suggested by Jim Meyering. Fix cross-compile guess for utime test. * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable autoconf. * doc/posix-functions/utime.texi: Give more precisions. Reported by Jan . 2009-04-09 Kamil Dudka filevercmp: correct today's change * lib/filevercmp.c: Also handle coreutils' test inputs. * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts. Fix regression in 'filevercmp' module. Thanks Sven Joachim for reporting it. * lib/filevercmp.c: Special handle for "", "." and "..". * tests/test-filevercmp.c: Enlarge the set suite. 2009-04-07 Jim Meyering useless-if-before-free: show how to remove braced useless free, too * build-aux/useless-if-before-free: still only in a comment, though. 2009-04-07 Reuben Thomas maint.mk: import changes to syntax-check macros from coreutils * top/maint.mk (_prohibit_regexp, _header_without_use): Define. Use them in the relevant macros. 2009-04-06 Bruno Haible Fix unportable use of bit-fields. * lib/unicase/special-casing.h (struct special_casing_rule): Change the bit-field type from 'int' to 'signed int'. Otherwise Solaris cc, AIX xlc, and OSF/1 cc interpret it as 'unsigned int'. 2009-04-06 Bruno Haible Avoid test failures on AIX and OSF/1. * tests/unicase/test-u8-casefold.c (check): Account for the possibility that malloc(0) = NULL. * tests/unicase/test-u8-tolower.c (check): Likewise. * tests/unicase/test-u8-totitle.c (check): Likewise. * tests/unicase/test-u8-toupper.c (check): Likewise. * tests/unicase/test-u16-casefold.c (check): Likewise. * tests/unicase/test-u16-tolower.c (check): Likewise. * tests/unicase/test-u16-totitle.c (check): Likewise. * tests/unicase/test-u16-toupper.c (check): Likewise. * tests/unicase/test-u32-casefold.c (check): Likewise. * tests/unicase/test-u32-tolower.c (check): Likewise. * tests/unicase/test-u32-totitle.c (check): Likewise. * tests/unicase/test-u32-toupper.c (check): Likewise. * tests/uninorm/test-u8-nfc.c (check): Likewise. * tests/uninorm/test-u8-nfd.c (check): Likewise. * tests/uninorm/test-u8-nfkc.c (check): Likewise. * tests/uninorm/test-u8-nfkd.c (check): Likewise. * tests/uninorm/test-u16-nfc.c (check): Likewise. * tests/uninorm/test-u16-nfd.c (check): Likewise. * tests/uninorm/test-u16-nfkc.c (check): Likewise. * tests/uninorm/test-u16-nfkd.c (check): Likewise. * tests/uninorm/test-u32-nfc.c (check): Likewise. * tests/uninorm/test-u32-nfd.c (check): Likewise. * tests/uninorm/test-u32-nfkc.c (check): Likewise. * tests/uninorm/test-u32-nfkd.c (check): Likewise. 2009-04-05 Bruno Haible Work around an autoconf limitation. * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by" comment line if it would be longer than 3 KB. 2009-04-05 Bruno Haible Avoid test failure with libiconv-1.13. * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one of the expected test results. 2009-04-05 Bruno Haible * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to noinst_LTLIBRARIES if the Makefile.am in the same directory specifies that it should be installed. 2009-04-05 Bruno Haible * gnulib-tool: New option --copy-file. (func_usage): Document it. (func_dest_tmpfilename): Moved out of func_import. (func_add_file, func_update_file): New functions, extracted from func_import. (func_import): Update. 2009-04-05 Karl Berry * README: prominently mention gnulib-tool. Rearrange sections so getting the code is near the top. 2009-04-05 Bruno Haible * lib/unicase.h: Mention u*_cmp2. * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP. * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp. * lib/unicase/ulc-casecmp.c: Likewise. * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp. * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp. * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove unistr/u8-cmp. * modules/unicase/ulc-casecmp (Depends-on): Likewise. * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove unistr/u16-cmp. * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove unistr/u32-cmp. * lib/uninorm.h: Mention u*_cmp2. * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP. * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp. * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp. * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp. * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove unistr/u8-cmp. * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove unistr/u16-cmp. * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove unistr/u32-cmp. New module 'unistr/u32-cmp2'. * lib/unistr/u32-cmp2.c: New file. * modules/unistr/u32-cmp2: New file. New module 'unistr/u16-cmp2'. * lib/unistr/u16-cmp2.c: New file. * modules/unistr/u16-cmp2: New file. New module 'unistr/u8-cmp2'. * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations. * lib/unistr/u8-cmp2.c: New file. * lib/unistr/u-cmp2.h: New file. * modules/unistr/u8-cmp2: New file. 2009-04-05 Bruno Haible * lib/unictype.h (uc_property_is_valid): New macro. * tests/unictype/test-pr_byname.c (main): Use it. * lib/unistr.h: Doc fixes. * lib/uniconv.h: Doc fixes. * lib/unictype.h: Doc fixes. 2009-04-03 Paul Eggert Port coreutils 7.2 to Solaris 8. * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h. * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl, for Solaris 8. This is a bit of a hack, as it means it's the caller's responsibility to add -lnsl if needed, but most likely it won't be needed since only getaddrinfo uses this and getaddrinfo isn't needed on Solaris 8. * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting problem to Solaris 8 encountered with coreutils 7.2, which resulted in a message "fnmatch.c:292: warning: passing argument 4 of 'mbsrtowcs' from incompatible pointer type". Also, add mbsinit at the suggestion of Bruno Haible, since fnmatch uses mbsinit. 2009-04-03 Simon Josefsson * m4/ld-version-script.m4: Add FIXME comment. 2009-04-02 Simon Josefsson * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing SOVERSION variable. 2009-04-02 Bruno Haible * Makefile (info, html, dvi, pdf): Combine the rules. Suggested by Jim Meyering. 2009-04-01 Bruno Haible * Makefile (info, html, dvi, pdf): New targets. Reported by Reuben Thomas . 2009-04-01 Bruno Haible * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool can be put into PATH. Reported by Reuben Thomas . Suggested by Karl Berry. 2009-04-01 Bruno Haible * doc/lib-symbol-visibility.texi: Follow texinfo style conventions. 2009-04-01 Bruno Haible Rename module 'visibility'. * modules/lib-symbol-visibility: Renamed from modules/visibility. * doc/lib-symbol-visibility.texi: Renamed from visibility.texi. * doc/gnulib.texi: Update. * MODULES.html.sh (Misc): Update. * NEWS: Mention the change. 2009-04-01 Simon Josefsson * modules/lib-msvc-compat: New module. Thanks to Bruno Haible , Ralf Wildenhues , and Eric Blake for review. * MODULES.html.sh: Add lib-msvc-compat. * doc/gnulib.texi: Link to new section. * m4/ld-output-def.m4: New file. * doc/ld-output-def.texi: New file. 2009-04-01 Simon Josefsson Rename ld-version-script to lib-symbol-versions. Suggested by Bruno Haible . * modules/ld-version-script: Renamed to lib-symbol-versions. * doc/ld-version-script.texi: Fix module name. * MODULES.html.sh: Add lib-symbol-versions. 2009-03-31 Simon Josefsson * modules/u64-tests: New file. * tests/test-u64.c: New file. 2009-03-04 Simon Josefsson * MODULES.html.sh: Mention u64. * modules/u64: New module. * modules/crypto/sha512: Depend on u64 module instead of providing u64.h. 2009-03-27 Eric Blake test-strerror: make debugging EAI_SYSTEM easier * modules/getaddrinfo-tests (Depends-on): Add strerror. * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if failure was EAI_SYSTEM. 2009-03-25 Bruno Haible Fix a problem with --enable-relocatable on Solaris 7. * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed since 2008-02-24. 2009-03-25 Eric Blake test-sockets: avoid gcc warning * tests/test-sockets.c (main): Silence compiler warning. 2009-03-25 Paul Eggert New modules nproc, pthread, contributed by Glen Lenker. * MODULES.html.sh: Add pthread, nproc. * lib/nproc.c: New file. * lib/nproc.h: New file. * lib/pthread.in.h: New file. * m4/pthread.m4: New file. * modules/nproc: New file. * modules/pthread: New file. 2009-03-24 Simon Josefsson * modules/unicase/locale-language-tests (test_locale_language_LDADD): New variable. 2009-03-24 Kamil Dudka filevercmp: handle simple~ and numbered.~3~ backup suffixes * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes. * tests/test-filevercmp.c: Add tests for backup suffixes. 2009-03-24 Simon Josefsson * modules/stdlib (Depends-on): Add stdint, needed when defining struct random_data on, for example, HP-UX 10.20. Reported by Albert Chin . 2009-03-24 Simon Josefsson * lib/readline.c (readline): Call fflush on stdout after printing prompt. 2009-03-20 Bruno Haible Remove dependency from 'close' module to -lws2_32 on native Windows. * lib/close-hook.h: New file. * lib/close-hook.c: New file. * lib/close.c: Include close-hook.h. Don't include , w32sock.h. (_gl_close_fd_maybe_socket): Remove function. (rpl_close): Invoke execute_all_close_hooks instead of _gl_close_fd_maybe_socket. * lib/sockets.c: Include close-hook.h, w32sock.h. (close_fd_maybe_socket): New function, essentially from lib/close.c. (close_sockets_hook): New variable. (gl_sockets_startup): Register close_fd_maybe_socket as a hook. (gl_sockets_cleanup): Unregister it. * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro. * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change. * modules/close-hook: New file. * modules/close (Files): Remove lib/w32sock.h. (Depends-on): Add close-hook. (Link): Remove section. * modules/sockets (Files): Add lib/w32sock.h. (Depends-on): Add close-hook. * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR invocation. * NEWS: Mention that LIB_CLOSE is gone. 2009-03-23 Eric Blake signal-tests: test previous patch * tests/test-signal.c: New file. * modules/signal-tests: Likewise. signal.h: always support 'volatile sig_atomic_t' * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation. (gl_SIGNAL_H_DEFAULTS): Add a default. * modules/signal (Makefile.am): Substitute if needed. * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that users can blindly add volatile. * doc/posix-headers/signal.texi (signal.h): Document it. Reported by Matthew Woehlke. 2009-03-23 Jim Meyering pathmax: PATH_MAX: use pathconf only when available * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition only if HAVE_PATHCONF is defined. Patch by Sylvain Beucler. * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf. This avoids a link failure in a PSP cross-compilation environment described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048 * lib/vasnprintf.c (divide): Fix typo in comment. 2009-03-23 Ralf Wildenhues * gnulib-tool (func_filter_filelist): Fix comment. 2009-03-20 Bruno Haible Make sockets.h self-contained. * lib/sockets.c: Include sockets.h first. * lib/sockets.h: Include before using the SOCKET type. 2009-03-19 Eric Blake doc: mention more functions added in cygwin 1.7.0 * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0 addition. * doc/posix-functions/log2f.texi: Likewise. 2009-03-19 Jim Meyering fsusage: avoid syntax error due to statement-before-declaration * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement after all declarations. Reported by Matthew Woehlke in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231 2009-03-18 Eric Blake build-aux/compile: sync from automake * build-aux/compile: New file, from automake. * config/srclist.txt: Mention build-aux/compile. 2009-03-17 Bruno Haible * lib/git-merge-changelog.c: Fix typo in comment. Reported by Reuben Thomas . 2009-03-17 Reuben Thomas * m4/regex.m4: update and improve help for --without-included-regex. 2009-03-17 Simon Josefsson * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid failure on missing include files. 2009-03-17 Eric Blake doc: mention more functions added in cygwin 1.7.0 * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0 addition. * doc/posix-functions/fwscanf.texi: Likewise. * doc/posix-functions/swprintf.texi: Likewise. * doc/posix-functions/swscanf.texi: Likewise. * doc/posix-functions/vfwprintf.texi: Likewise. * doc/posix-functions/vfwscanf.texi: Likewise. * doc/posix-functions/vswprintf.texi: Likewise. * doc/posix-functions/vswscanf.texi: Likewise. * doc/posix-functions/vwprintf.texi: Likewise. * doc/posix-functions/vwscanf.texi: Likewise. * doc/posix-functions/wcscasecmp.texi: Likewise. * doc/posix-functions/wcsdup.texi: Likewise. * doc/posix-functions/wcsftime.texi: Likewise. * doc/posix-functions/wcsncasecmp.texi: Likewise. * doc/posix-functions/wprintf.texi: Likewise. * doc/posix-functions/wscanf.texi: Likewise. * doc/glibc-functions/gethostbyname2.texi: Likewise. 2009-03-14 Ralf Wildenhues maint.mk: really add $(AM_MAKEFLAGS) * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)' was inadvertently omitted in the last commit. Spotted by Bruno Haible. maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE) $(AM_MAKEFLAGS)' rather than plain `make'. gnulib-tool: execute $MAKE not make * gnulib-tool: Default $MAKE to 'make'. (func_create_testdir, func_create_megatestdir): Use $MAKE rather than make. Initialize $MAKE in the do-autobuild script. gnulib-tool: use $MAKE not make in generated files * gnulib-tool (func_create_megatestdir): Use $MAKE rather than make, in generated files. Initialize $MAKE in the do-autobuild script. * top/GNUmakefile (_have-git-version-gen): Fix typo. GNUmakefile: disable parallelism only for multiple, recursive targets * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user additions in the Makefile. (AM_RECURSIVE_TARGETS): New macro, override only if not provided by Automake. (.NOTPARALLEL): Only disable parallel builds if multiple targets are listed on the command line and at least one of them is listed in $(ALL_RECURSIVE_TARGETS). 2009-03-14 Bruno Haible * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe. * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise. * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe. * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise. * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with unistr/u8-uctomb. * modules/unistr/u8-strchr (Depends-on): Likewise. * modules/unistr/u8-strrchr (Depends-on): Likewise. * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with unistr/u16-uctomb. * modules/unistr/u16-strchr (Depends-on): Likewise. * modules/unistr/u16-strrchr (Depends-on): Likewise. 2009-03-12 Bruno Haible Work around select() bug on Interix 3.5. * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1. * lib/select.c (rpl_select): Add an implementation for Unix platforms. * m4/select.m4: New file. * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT. * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT. * modules/select (Files): Add m4/select.m4. (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT. * modules/nanosleep (Depends-on): Add select. * modules/poll (Depends-on): Likewise. * doc/posix-functions/select.texi: Mention the Interix bug. Reported by Markus Duft . * lib/select.c: Renamed from lib/winsock-select.c. * modules/select (Files): Add lib/select.c, remove lib/winsock-select.c. (configure.ac): Update. 2009-03-12 Jim Meyering avoid gcc warnings about unused macro definitions * lib/readtokens.c (STREQ): Remove unused definition. * lib/xmalloc.c (SIZE_MAX): Likewise. * lib/openat-die.c (N_): Likewise. * lib/mountlist.c (SIZE_MAX): Remove definition. Instead, include . * lib/readutmp.c: Likewise. * modules/readutmp (Depends-on): Add stdint. * modules/mountlist (Depends-on): Add stdint. * lib/userspec.c (ISDIGIT): Move definition into #if block where used. 2009-03-10 Bruno Haible Tests for module 'mbmemcasecoll'. * modules/mbmemcasecoll-tests: New file. * tests/test-mbmemcasecoll1.sh: New file. * tests/test-mbmemcasecoll2.sh: New file. * tests/test-mbmemcasecoll3.sh: New file. * tests/test-mbmemcasecoll.c: New file. New module 'mbmemcasecoll'. * lib/mbmemcasecoll.h: New file. * lib/mbmemcasecoll.c: New file. * modules/mbmemcasecoll: New file. * tests/test-mbmemcasecmp.h: New file, extracted from tests/test-mbmemcasecmp.c. * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h. (test_ascii, test_iso_8859_1, test_utf_8): Remove functions. (main): Update. * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h. 2009-03-09 Bruno Haible Tests for module 'mbmemcasecmp'. * modules/mbmemcasecmp-tests: New file. * tests/test-mbmemcasecmp1.sh: New file. * tests/test-mbmemcasecmp2.sh: New file. * tests/test-mbmemcasecmp3.sh: New file. * tests/test-mbmemcasecmp.c: New file. New module 'mbmemcasecmp'. * lib/mbmemcasecmp.h: New file. * lib/mbmemcasecmp.c: New file. * modules/mbmemcasecmp: New file. 2009-03-09 Bruno Haible Tests for module 'unicase/ulc-casecoll'. * modules/unicase/ulc-casecoll-tests: New file. * tests/unicase/test-ulc-casecoll1.sh: New file. * tests/unicase/test-ulc-casecoll2.sh: New file. * tests/unicase/test-ulc-casecoll.c: New file. New module 'unicase/ulc-casecoll'. * lib/unicase.h (ulc_casecoll): New declaration. * lib/unicase/ulc-casecoll.c: New file. * modules/unicase/ulc-casecoll: New file. New module 'unicase/ulc-casexfrm'. * lib/unicase.h (ulc_casexfrm): New declaration. * lib/unicase/ulc-casexfrm.c: New file. * modules/unicase/ulc-casexfrm: New file. 2009-03-09 Bruno Haible Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC invocations. * m4/mbscasecmp.m4: Remove file. * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4 (configure.ac): Remove gl_FUNC_MBSCASECMP invocation. * m4/mbscasestr.m4: Remove file. * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4 (configure.ac): Remove gl_FUNC_MBSCASESTR invocation. * m4/mbschr.m4: Remove file. * modules/mbschr (Files): Remove it and m4/mbrtowc.m4 (configure.ac): Remove gl_FUNC_MBSCHR invocation. * m4/mbscspn.m4: Remove file. * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4 (configure.ac): Remove gl_FUNC_MBSCSPN invocation. * m4/mbslen.m4: Remove file. * modules/mbslen (Files): Remove it and m4/mbrtowc.m4 (configure.ac): Remove gl_FUNC_MBSLEN invocation. * m4/mbsncasecmp.m4: Remove file. * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4 (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation. * m4/mbsnlen.m4: Remove file. * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4 (configure.ac): Remove gl_FUNC_MBSNLEN invocation. * m4/mbspbrk.m4: Remove file. * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4 (configure.ac): Remove gl_FUNC_MBSPBRK invocation. * m4/mbspcasecmp.m4: Remove file. * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4 (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation. * m4/mbsrchr.m4: Remove file. * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4 (configure.ac): Remove gl_FUNC_MBSRCHR invocation. * m4/mbssep.m4: Remove file. * modules/mbssep (Files): Remove it and m4/mbrtowc.m4 (configure.ac): Remove gl_FUNC_MBSSEP invocation. * m4/mbsspn.m4: Remove file. * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4 (configure.ac): Remove gl_FUNC_MBSSPN invocation. * m4/mbsstr.m4: Remove file. * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4 (configure.ac): Remove gl_FUNC_MBSSTR invocation. * m4/mbstok_r.m4: Remove file. * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4 (configure.ac): Remove gl_FUNC_MBSTOK_R invocation. * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation. * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations. * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation. 2009-03-08 Bruno Haible Tests for module 'unicase/ulc-casecmp'. * modules/unicase/ulc-casecmp-tests: New file. * tests/unicase/test-ulc-casecmp1.sh: New file. * tests/unicase/test-ulc-casecmp2.sh: New file. * tests/unicase/test-ulc-casecmp.c: New file. New module 'unicase/ulc-casecmp'. * lib/unicase.h (ulc_casecmp): New declaration. * lib/unicase/ulc-casecmp.c: New file. * lib/unicase/u-casecmp.h (FUNC): Change argument types to 'const SRC_UNIT *'. * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT. * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise. * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise. * modules/unicase/ulc-casecmp: New file. Tests for module 'unicase/u32-is-cased'. * modules/unicase/u32-is-cased-tests: New file. * tests/unicase/test-u32-is-cased.c: New file. Tests for module 'unicase/u16-is-cased'. * modules/unicase/u16-is-cased-tests: New file. * tests/unicase/test-u16-is-cased.c: New file. Tests for module 'unicase/u8-is-cased'. * modules/unicase/u8-is-cased-tests: New file. * tests/unicase/test-u8-is-cased.c: New file. * tests/unicase/test-is-cased.h: New file. New module 'unicase/u32-is-cased'. * lib/unicase/u32-is-cased.c: New file. * modules/unicase/u32-is-cased: New file. New module 'unicase/u16-is-cased'. * lib/unicase/u16-is-cased.c: New file. * modules/unicase/u16-is-cased: New file. New module 'unicase/u8-is-cased'. * lib/unicase/u8-is-cased.c: New file. * lib/unicase/u-is-cased.h: New file. * modules/unicase/u8-is-cased: New file. Tests for module 'unicase/u32-is-casefolded'. * modules/unicase/u32-is-casefolded-tests: New file. * tests/unicase/test-u32-is-casefolded.c: New file. Tests for module 'unicase/u16-is-casefolded'. * modules/unicase/u16-is-casefolded-tests: New file. * tests/unicase/test-u16-is-casefolded.c: New file. Tests for module 'unicase/u8-is-casefolded'. * modules/unicase/u8-is-casefolded-tests: New file. * tests/unicase/test-u8-is-casefolded.c: New file. * tests/unicase/test-is-casefolded.h: New file. New module 'unicase/u32-is-casefolded'. * lib/unicase/u32-is-casefolded.c: New file. * modules/unicase/u32-is-casefolded: New file. New module 'unicase/u16-is-casefolded'. * lib/unicase/u16-is-casefolded.c: New file. * modules/unicase/u16-is-casefolded: New file. New module 'unicase/u8-is-casefolded'. * lib/unicase/u8-is-casefolded.c: New file. * modules/unicase/u8-is-casefolded: New file. Tests for module 'unicase/u32-is-titlecase'. * modules/unicase/u32-is-titlecase-tests: New file. * tests/unicase/test-u32-is-titlecase.c: New file. Tests for module 'unicase/u16-is-titlecase'. * modules/unicase/u16-is-titlecase-tests: New file. * tests/unicase/test-u16-is-titlecase.c: New file. Tests for module 'unicase/u8-is-titlecase'. * modules/unicase/u8-is-titlecase-tests: New file. * tests/unicase/test-u8-is-titlecase.c: New file. * tests/unicase/test-is-titlecase.h: New file. New module 'unicase/u32-is-titlecase'. * lib/unicase/u32-is-titlecase.c: New file. * modules/unicase/u32-is-titlecase: New file. New module 'unicase/u16-is-titlecase'. * lib/unicase/u16-is-titlecase.c: New file. * modules/unicase/u16-is-titlecase: New file. New module 'unicase/u8-is-titlecase'. * lib/unicase/u8-is-titlecase.c: New file. * modules/unicase/u8-is-titlecase: New file. Tests for module 'unicase/u32-is-lowercase'. * modules/unicase/u32-is-lowercase-tests: New file. * tests/unicase/test-u32-is-lowercase.c: New file. Tests for module 'unicase/u16-is-lowercase'. * modules/unicase/u16-is-lowercase-tests: New file. * tests/unicase/test-u16-is-lowercase.c: New file. Tests for module 'unicase/u8-is-lowercase'. * modules/unicase/u8-is-lowercase-tests: New file. * tests/unicase/test-u8-is-lowercase.c: New file. * tests/unicase/test-is-lowercase.h: New file. New module 'unicase/u32-is-lowercase'. * lib/unicase/u32-is-lowercase.c: New file. * modules/unicase/u32-is-lowercase: New file. New module 'unicase/u16-is-lowercase'. * lib/unicase/u16-is-lowercase.c: New file. * modules/unicase/u16-is-lowercase: New file. New module 'unicase/u8-is-lowercase'. * lib/unicase/u8-is-lowercase.c: New file. * modules/unicase/u8-is-lowercase: New file. Tests for module 'unicase/u32-is-uppercase'. * modules/unicase/u32-is-uppercase-tests: New file. * tests/unicase/test-u32-is-uppercase.c: New file. Tests for module 'unicase/u16-is-uppercase'. * modules/unicase/u16-is-uppercase-tests: New file. * tests/unicase/test-u16-is-uppercase.c: New file. Tests for module 'unicase/u8-is-uppercase'. * modules/unicase/u8-is-uppercase-tests: New file. * tests/unicase/test-u8-is-uppercase.c: New file. * tests/unicase/test-is-uppercase.h: New file. New module 'unicase/u32-is-uppercase'. * lib/unicase/u32-is-uppercase.c: New file. * modules/unicase/u32-is-uppercase: New file. New module 'unicase/u16-is-uppercase'. * lib/unicase/u16-is-uppercase.c: New file. * modules/unicase/u16-is-uppercase: New file. New module 'unicase/u8-is-uppercase'. * lib/unicase/u8-is-uppercase.c: New file. * modules/unicase/u8-is-uppercase: New file. New module 'unicase/u32-is-invariant'. * lib/unicase/u32-is-invariant.c: New file. * modules/unicase/u32-is-invariant: New file. New module 'unicase/u16-is-invariant'. * lib/unicase/u16-is-invariant.c: New file. * modules/unicase/u16-is-invariant: New file. New module 'unicase/u8-is-invariant'. * lib/unicase/u8-is-invariant.c: New file. * lib/unicase/invariant.h: New file. * lib/unicase/u-is-invariant.h: New file. * modules/unicase/u8-is-invariant: New file. Tests for module 'unicase/u32-casecoll'. * modules/unicase/u32-casecoll-tests: New file. * tests/unicase/test-u32-casecoll.c: New file. Tests for module 'unicase/u16-casecoll'. * modules/unicase/u16-casecoll-tests: New file. * tests/unicase/test-u16-casecoll.c: New file. Tests for module 'unicase/u8-casecoll'. * modules/unicase/u8-casecoll-tests: New file. * tests/unicase/test-u8-casecoll.c: New file. New module 'unicase/u32-casecoll'. * lib/unicase/u32-casecoll.c: New file. * modules/unicase/u32-casecoll: New file. New module 'unicase/u16-casecoll'. * lib/unicase/u16-casecoll.c: New file. * modules/unicase/u16-casecoll: New file. New module 'unicase/u8-casecoll'. * lib/unicase/u8-casecoll.c: New file. * lib/unicase/u-casecoll.h: New file. * modules/unicase/u8-casecoll: New file. New module 'unicase/u32-casexfrm'. * lib/unicase/u32-casexfrm.c: New file. * modules/unicase/u32-casexfrm: New file. New module 'unicase/u16-casexfrm'. * lib/unicase/u16-casexfrm.c: New file. * modules/unicase/u16-casexfrm: New file. New module 'unicase/u8-casexfrm'. * lib/unicase/u8-casexfrm.c: New file. * lib/unicase/u-casexfrm.h: New file. * modules/unicase/u8-casexfrm: New file. Tests for module 'unicase/u32-casecmp'. * modules/unicase/u32-casecmp-tests: New file. * tests/unicase/test-u32-casecmp.c: New file. Tests for module 'unicase/u16-casecmp'. * modules/unicase/u16-casecmp-tests: New file. * tests/unicase/test-u16-casecmp.c: New file. Tests for module 'unicase/u8-casecmp'. * modules/unicase/u8-casecmp-tests: New file. * tests/unicase/test-u8-casecmp.c: New file. * tests/unicase/test-casecmp.h: New file. New module 'unicase/u32-casecmp'. * lib/unicase/u32-casecmp.c: New file. * modules/unicase/u32-casecmp: New file. New module 'unicase/u16-casecmp'. * lib/unicase/u16-casecmp.c: New file. * modules/unicase/u16-casecmp: New file. New module 'unicase/u8-casecmp'. * lib/unicase/u8-casecmp.c: New file. * lib/unicase/u-casecmp.h: New file. * modules/unicase/u8-casecmp: New file. Tests for module 'unicase/u32-casefold'. * modules/unicase/u32-casefold-tests: New file. * tests/unicase/test-u32-casefold.c: New file. Tests for module 'unicase/u16-casefold'. * modules/unicase/u16-casefold-tests: New file. * tests/unicase/test-u16-casefold.c: New file. Tests for module 'unicase/u8-casefold'. * modules/unicase/u8-casefold-tests: New file. * tests/unicase/test-u8-casefold.c: New file. New module 'unicase/u32-casefold'. * lib/unicase/u32-casefold.c: New file. * modules/unicase/u32-casefold: New file. New module 'unicase/u16-casefold'. * lib/unicase/u16-casefold.c: New file. * modules/unicase/u16-casefold: New file. New module 'unicase/u8-casefold'. * lib/unicase/u8-casefold.c: New file. * lib/unicase/u-casefold.h: New file. * modules/unicase/u8-casefold: New file. New module 'unicase/tocasefold'. * lib/unicase/casefold.h: New file. * lib/unicase/tocasefold.c: New file. * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c. * modules/unicase/tocasefold: New file. Tests for module 'unicase/u32-totitle'. * modules/unicase/u32-totitle-tests: New file. * tests/unicase/test-u32-totitle.c: New file. Tests for module 'unicase/u16-totitle'. * modules/unicase/u16-totitle-tests: New file. * tests/unicase/test-u16-totitle.c: New file. Tests for module 'unicase/u8-totitle'. * modules/unicase/u8-totitle-tests: New file. * tests/unicase/test-u8-totitle.c: New file. New module 'unicase/u32-totitle'. * lib/unicase/u32-totitle.c: New file. * modules/unicase/u32-totitle: New file. New module 'unicase/u16-totitle'. * lib/unicase/u16-totitle.c: New file. * modules/unicase/u16-totitle: New file. New module 'unicase/u8-totitle'. * lib/unicase/u8-totitle.c: New file. * lib/unicase/u-totitle.h: New file. * modules/unicase/u8-totitle: New file. Tests for module 'unicase/u32-tolower'. * modules/unicase/u32-tolower-tests: New file. * tests/unicase/test-u32-tolower.c: New file. Tests for module 'unicase/u16-tolower'. * modules/unicase/u16-tolower-tests: New file. * tests/unicase/test-u16-tolower.c: New file. Tests for module 'unicase/u8-tolower'. * modules/unicase/u8-tolower-tests: New file. * tests/unicase/test-u8-tolower.c: New file. New module 'unicase/u32-tolower'. * lib/unicase/u32-tolower.c: New file. * modules/unicase/u32-tolower: New file. New module 'unicase/u16-tolower'. * lib/unicase/u16-tolower.c: New file. * modules/unicase/u16-tolower: New file. New module 'unicase/u8-tolower'. * lib/unicase/u8-tolower.c: New file. * modules/unicase/u8-tolower: New file. Tests for module 'unicase/u32-toupper'. * modules/unicase/u32-toupper-tests: New file. * tests/unicase/test-u32-toupper.c: New file. Tests for module 'unicase/u16-toupper'. * modules/unicase/u16-toupper-tests: New file. * tests/unicase/test-u16-toupper.c: New file. Tests for module 'unicase/u8-toupper'. * modules/unicase/u8-toupper-tests: New file. * tests/unicase/test-u8-toupper.c: New file. New module 'unicase/u32-toupper'. * lib/unicase/u32-toupper.c: New file. * modules/unicase/u32-toupper: New file. New module 'unicase/u16-toupper'. * lib/unicase/u16-toupper.c: New file. * modules/unicase/u16-toupper: New file. New module 'unicase/u8-toupper'. * lib/unicase/u8-toupper.c: New file. * modules/unicase/u8-toupper: New file. New module 'unicase/u32-casemap'. * lib/unicase/u32-casemap.c: New file. * modules/unicase/u32-casemap: New file. New module 'unicase/u16-casemap'. * lib/unicase/u16-casemap.c: New file. * modules/unicase/u16-casemap: New file. New module 'unicase/u8-casemap'. * lib/unicase/unicasemap.h: New file. * lib/unicase/u8-casemap.c: New file. * lib/unicase/u-casemap.h: New file. * modules/unicase/u8-casemap: New file. New module 'unicase/special-casing'. * lib/unicase/special-casing.h: New file. * lib/unicase/special-casing.c: New file. * lib/unicase/special-casing-table.gperf: New file, generated by gen-uni-tables.c. * modules/unicase/special-casing: New file. Tests for module 'unicase/locale-language'. * modules/unicase/locale-language-tests: New file. * tests/unicase/test-locale-language.sh: New file. * tests/unicase/test-locale-language.c: New file. New module 'unicase/locale-language'. * lib/unicase/locale-language.c: New file. * lib/unicase/locale-languages.gperf: New file. * modules/unicase/locale-language: New file. Generate more tables for case conversion and case folding. * lib/gen-uni-tables.c (SCC_*): New enum items. (struct special_casing_rule): New type. (casing_rules, num_casing_rules, allocated_casing_rules): New variables. (add_casing_rule, fill_casing_rules): New functions. (struct casefold_rule): New type. (casefolding_rules, num_casefolding_rules, allocated_casefolding_rules): New variables. (fill_casefolding_rules): New function. (unicode_casefold): New variable. (to_casefold, redistribute_casefolding_rules, compare_casing_rules, sort_casing_rules, output_casing_rules): New functions. (main): Accept to more arguments: SpecialCasing.txt and CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules, redistribute_casefolding_rules, sort_casing_rules, output_casing_rules. Output mapping for casefolding. * lib/unicase.h: Include stdbool.h, uninorm.h. (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower, u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument. (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf arguments. (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf, resultp arguments. (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations. (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf, resultp arguments. (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase, u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase, u32_is_titlecase, u8_is_casefolded, u16_is_casefolded, u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New declarations. * modules/unicase/base (Depends-on): Add uninorm/base, stdbool. 2009-03-08 Bruno Haible * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll, u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'. * lib/uninorm/u-normcmp.h (FUNC): Likewise. * lib/uninorm/u-normcoll.h (FUNC): Likewise. 2009-03-07 Bruno Haible Adjust u*_normcmp, u*_normcoll API. * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll, u16_normcoll, u32_normcoll): Change failure conventions. * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in errno and return -1. * lib/uninorm/u-normcoll.h (FUNC): Likewise. 2009-03-07 Bruno Haible Tests for module 'uninorm/u32-normcoll'. * modules/uninorm/u32-normcoll-tests: New file. * tests/uninorm/test-u32-normcoll.c: New file. Tests for module 'uninorm/u16-normcoll'. * modules/uninorm/u16-normcoll-tests: New file. * tests/uninorm/test-u16-normcoll.c: New file. Tests for module 'uninorm/u8-normcoll'. * modules/uninorm/u8-normcoll-tests: New file. * tests/uninorm/test-u8-normcoll.c: New file. 2009-03-07 Bruno Haible * tests/uninorm/test-u32-normcmp.h: New file, extracted from tests/uninorm/test-u32-normcmp.c. * tests/uninorm/test-u32-normcmp.c: Include it. (test_nonascii): New function, extracted from main. Add some more tests. (main): Invoke test_ascii and test_nonascii. * modules/uninorm/u32-normcmp-tests (Files): Add tests/uninorm/test-u32-normcmp.h. (Depends-on): Remove uninorm/u32-normcmp. * tests/uninorm/test-u16-normcmp.h: New file, extracted from tests/uninorm/test-u16-normcmp.c. * tests/uninorm/test-u16-normcmp.c: Include it. (test_nonascii): New function, extracted from main. Add some more tests. (main): Invoke test_ascii and test_nonascii. * modules/uninorm/u16-normcmp-tests (Files): Add tests/uninorm/test-u16-normcmp.h. (Depends-on): Remove uninorm/u16-normcmp. * tests/uninorm/test-u8-normcmp.h: New file, extracted from tests/uninorm/test-u8-normcmp.c. * tests/uninorm/test-u8-normcmp.c: Include it. (test_nonascii): New function, extracted from main. Add some more tests. (main): Invoke test_ascii and test_nonascii. * modules/uninorm/u8-normcmp-tests (Files): Add tests/uninorm/test-u8-normcmp.h. (Depends-on): Remove uninorm/u8-normcmp. 2009-03-07 Bruno Haible New module 'uninorm/u32-normcoll'. * lib/uninorm/u32-normcoll.c: New file. * modules/uninorm/u32-normcoll: New file. New module 'uninorm/u16-normcoll'. * lib/uninorm/u16-normcoll.c: New file. * modules/uninorm/u16-normcoll: New file. New module 'uninorm/u8-normcoll'. * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New declarations. * lib/uninorm/u8-normcoll.c: New file. * lib/uninorm/u-normcoll.h: New file. * modules/uninorm/u8-normcoll: New file. New module 'uninorm/u32-normxfrm'. * lib/uninorm/u32-normxfrm.c: New file. * modules/uninorm/u32-normxfrm: New file. New module 'uninorm/u16-normxfrm'. * lib/uninorm/u16-normxfrm.c: New file. * modules/uninorm/u16-normxfrm: New file. New module 'uninorm/u8-normxfrm'. * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New declarations. * lib/uninorm/u8-normxfrm.c: New file. * lib/uninorm/u-normxfrm.h: New file. * modules/uninorm/u8-normxfrm: New file. 2009-03-07 Bruno Haible * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base. * modules/uninorm/u16-normcmp (Depends-on): Likewise. * modules/uninorm/u32-normcmp (Depends-on): Likewise. 2009-03-07 Bruno Haible New module 'memxfrm'. * lib/memxfrm.h: New file. * lib/memxfrm.c: New file. * modules/memxfrm: New file. 2009-03-07 Bruno Haible New module 'memcmp2'. * lib/memcmp2.h: New file. * lib/memcmp2.c: New file. * modules/memcmp2: New file. 2009-03-07 Bruno Haible Tests for module 'uninorm/decomposing-form'. * modules/uninorm/decomposing-form-tests: New file. * tests/uninorm/test-decomposing-form.c: New file. New module 'uninorm/decomposing-form'. * lib/uninorm.h (uninorm_decomposing_form): New declaration. * lib/uninorm/normalize-internal.h (struct unicode_normalization_form): Add 'decomposing_variant' field. * lib/uninorm/decomposing-form.c: New file. * lib/uninorm/nfc.c (uninorm_nfc): Update. * lib/uninorm/nfd.c (uninorm_nfd): Update. * lib/uninorm/nfkc.c (uninorm_nfkc): Update. * lib/uninorm/nfkd.c (uninorm_nfkd): Update. * modules/uninorm/decomposing-form: New file. * modules/uninorm/nfc (Depends-on): Add uninorm/nfd. * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd. 2009-03-07 Bruno Haible * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small strings. 2009-03-06 Bruno Haible Tests for module 'uninorm/u32-normcmp'. * tests/uninorm/test-u32-normcmp.c: New file. * modules/uninorm/u32-normcmp-tests: New file. Tests for module 'uninorm/u16-normcmp'. * tests/uninorm/test-u16-normcmp.c: New file. * modules/uninorm/u16-normcmp-tests: New file. Tests for module 'uninorm/u8-normcmp'. * tests/uninorm/test-u8-normcmp.c: New file. * modules/uninorm/u8-normcmp-tests: New file. New module 'uninorm/u32-normcmp'. * lib/uninorm/u32-normcmp.c: New file. * modules/uninorm/u32-normcmp: New file. New module 'uninorm/u16-normcmp'. * lib/uninorm/u16-normcmp.c: New file. * modules/uninorm/u16-normcmp: New file. New module 'uninorm/u8-normcmp'. * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New declarations. * lib/uninorm/u8-normcmp.c: New file. * lib/uninorm/u-normcmp.h: New file. * modules/uninorm/u8-normcmp: New file. 2009-03-06 Bruno Haible * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning. Reported by Eric Blake. 2009-03-06 Eric Blake Bruno Haible * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub. * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED condition. (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false. * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED condition. (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false. 2009-03-06 Eric Blake * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe, to avoid compiler warnings. * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise. 2009-03-05 Bruno Haible * tests/test-ftell.c (main): Disable test beyond end of file on FreeMiNT. Patch by Alan Hourihane . 2009-03-05 Kamil Dudka * lib/filevercmp.c: Move hidden files up in ordering. * tests/test-filevercmp.c: Add tests for hidden files. 2009-03-04 Bruno Haible * modules/visibility (Makefile.am): Augment AM_CFLAGS. * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of AM_CFLAGS. Reported by Simon Josefsson. 2009-03-03 Bruno Haible * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro. Reported by Simon Josefsson. * doc/ld-version-script.texi: Update node reference. 2009-03-03 Bruno Haible * modules/visibility (License): Change to 'unlimited'. Suggested by Simon Josefsson. 2009-03-03 Jim Meyering unlinkdir: cannot_unlink_dir may modify process state * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that it's neither thread-safe nor appropriate for use in a library. 2009-03-03 Eric Blake test-closein: silence test under Darwin * tests/test-closein.sh: Ignore stderr from cat, since we don't care if it dies from EPIPE or EBADF. 2009-03-03 Bruno Haible * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi earlier. * doc/visibility.texi: Fix @node and @section. 2009-03-03 Simon Josefsson * doc/gnulib.texi: Link to sections for ld version script and visibility. * doc/visibility.texi: Add @node and @section. * modules/ld-version-script: New module. * m4/ld-version-script.m4: New file. * doc/ld-version-script.texi: New file. 2009-03-02 David Lutterkort * lib/safe-alloc.h (__GNUC_PREREQ): New macro. Reported by Tom G. Christensen . 2009-03-02 Bruno Haible * doc/visibility.texi: Mention libtool's -export-symbols option. 2009-03-02 Jim Meyering announce-gen: new option: --no-print-checksums * build-aux/announce-gen (usage): Describe it. (print_checksums): Print a newline here, not in the [*] footnote. (main): Honor it. 2009-03-01 Bruno Haible Use socklen_t in the native Windows replacements prototypes. * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t instead of 'int'. * lib/getsockopt.c (rpl_getsockopt): Likewise. * lib/setsockopt.c (rpl_setsockopt): Likewise. * modules/getsockopt (Depends-on): Add socklen. * modules/setsockopt (Depends-on): Add socklen. 2009-03-01 Bruno Haible * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at least 4.2. 2009-03-01 Eric Blake Bruno Haible * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on error messages. * lib/wait-process.c (wait_subprocess): Omit error message about deadly signal sent to the child of termsigp != NULL. 2009-03-01 Eric Blake * lib/wait-process.c (wait_subprocess): Remove unnecessary cast. 2009-03-01 Bruno Haible Avoid a gcc warning. * tests/test-sched.c (b): Make global. Reported by Eric Blake. 2009-01-19 Martin Lambers Provide POSIX semantics for socket timeout options on W32. * lib/setsockopt.c: Convert struct timeval to milliseconds on W32. * lib/getsockopt.c: Convert milliseconds to struct timeval on W32. * modules/setsockopt: Depend on sys_time module for struct timeval. * modules/getsockopt: Depend on sys_time module for struct timeval. 2009-03-01 Simon Josefsson * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of __USE_GNU, for consistency with netdb.in.h. Reported by Alan Hourihane . 2009-03-01 Bruno Haible More support for FreeMiNT. * lib/fseeko.c (rpl_fseeko): Complete last commit. Reported by Alan Hourihane . 2009-03-01 Bruno Haible More support for FreeMiNT. * lib/fpurge.c (fpurge): Correct last commit. Reported by Alan Hourihane . 2009-03-01 Ralf Wildenhues Fix unportable awk script in vc-list-files. * build-aux/vc-list-files: In the replacement awk script, use substr with a second argument of 1, not zero. Report by Simon Josefsson. 2009-02-28 Bruno Haible More support for FreeMiNT. * lib/freading.c (freading) [__MINT__]: Use new macros that were added to FreeMiNT today. * lib/fwriting.c (fwriting): Likewise. Based on patch by Alan Hourihane . 2009-02-28 Bruno Haible * tests/test-freadseek.c (main): Disable test beyond end of file on FreeMiNT. * tests/test-ftello.c (main): Likewise. Patch by Alan Hourihane . 2009-02-28 Bruno Haible Add tentative support for FreeMiNT. * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code. * lib/fpurge.c (fpurge): Likewise. * lib/freadable.c (freadable): Likewise. * lib/freading.c (freading): Likewise. * lib/freadptr.c (freadptr): Likewise. * lib/freadseek.c (freadptrinc): Likewise. * lib/fseeko.c (rpl_fseeko): Likewise. * lib/fseterr.c (fseterr): Likewise. * lib/fwritable.c (fwritable): Likewise. * lib/fwriting.c (fwriting): Likewise. * lib/freadahead.c (freadahead): Likewise, based on code by Alan Hourihane. Reported by Alan Hourihane . 2009-02-28 Bruno Haible * lib/wait-process.h (wait_subprocess): Clarify restriction regarding SIGCHLD. Reported by Jim Meyering. 2009-02-28 Bruno Haible * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests. Mention the results of these tests on various platforms. * doc/posix-functions/fprintf.texi: Mention platforms in canonical order. * doc/posix-functions/printf.texi: Likewise. * doc/posix-functions/snprintf.texi: Likewise. * doc/posix-functions/sprintf.texi: Likewise. * doc/posix-functions/vfprintf.texi: Likewise. * doc/posix-functions/vprintf.texi: Likewise. * doc/posix-functions/vsnprintf.texi: Likewise. * doc/posix-functions/vsprintf.texi: Likewise. * doc/glibc-functions/obstack_printf.texi: Likewise. * doc/glibc-functions/obstack_vprintf.texi: Likewise. 2009-02-28 Bruno Haible * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17. Reported by Loïc Minier . 2009-02-27 Bruno Haible * gnulib-tool (func_import): Make the sed expression used to create the sed script for updating the .gitignore file POSIX compliant. Reported by Eric Blake. 2009-02-27 Bruno Haible * gnulib-tool (sed): Don't alias as "sed --posix". Reported by Eric Blake. 2009-02-27 Bruno Haible Avoid test link errors. * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable. * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable. * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable. * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable. Reported by Tom G. Christensen . 2009-02-27 Bruno Haible Avoid spurious "(cached)" in configure output. * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro. * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL. * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise. * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise. * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise. * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise. * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise. * m4/stdarg.m4 (gl_STDARG_H): Likewise. Reported by Eric Blake. 2009-02-27 Eric Blake printf: fix regression in previous patch * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error. 2009-02-27 Bruno Haible * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its value. * lib/stdint.in.h: Likewise. Suggested by Eric Blake. Reported by Peter Bray . 2009-02-27 Eric Blake doc: mention more functions added in cygwin 1.7.0 * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0 addition. * doc/posix-functions/open_wmemstream.texi: Likewise. * doc/posix-functions/wcsnlen.texi: Likewise. * doc/posix-functions/wcsnrtombs.texi: Likewise. * doc/posix-functions/wcstod.texi: Likewise. * doc/posix-functions/wcstof.texi: Likewise. * doc/posix-functions/wcstoimax.texi: Likewise. * doc/posix-functions/wcstok.texi: Likewise. * doc/posix-functions/wcstoumax.texi: Likewise. Detect bug in cygwin 1.5.x *printf on 1-character %ls. * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter. * doc/posix-functions/fprintf.texi: Update. * doc/posix-functions/printf.texi: Update. * doc/posix-functions/snprintf.texi: Update. * doc/posix-functions/sprintf.texi: Update. * doc/posix-functions/vfprintf.texi: Update. * doc/posix-functions/vprintf.texi: Update. * doc/posix-functions/vsnprintf.texi: Update. * doc/posix-functions/vsprintf.texi: Update. * doc/glibc-functions/obstack_printf.texi: Update. * doc/glibc-functions/obstack_vprintf.texi: Update. 2009-02-26 Eric Blake avoid gcc 3.4.3 bug on long double NaN on Irix 6.5 * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid compilation bug by using runtime conversion. * m4/isfinite.m4 (gl_ISFINITE): Likewise. * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise. * modules/ceill-tests (Files): Use nan.h. * modules/floorl-tests (Files): Likewise. * modules/frexpl-tests (Files): Likewise. * modules/isnanl-tests (Files): Likewise. * modules/ldexpl-tests (Files): Likewise. * modules/roundl-tests (Files): Likewise. * modules/truncl-tests (Files): Likewise. * tests/test-ceill.c (main): Use a working NaN. * tests/test-floorl.c (main): Likewise. * tests/test-frexpl.c (main): Likewise. * tests/test-isnan.c (test_long_double): Likewise. * tests/test-isnanl.h (main): Likewise. * tests/test-ldexpl.h (main): Likewise. * tests/test-roundl.h (main): Likewise. * tests/test-truncl.h (main): Likewise. See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html. 2009-02-26 Eric Blake Bruno Haible Work around a *printf bug with %ls on Solaris. * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a precision is specified, sprintf stops converting the wide string argument when the number of bytes that have been produced by this conversion equals or exceeds the precision. * doc/posix-functions/fprintf.texi: Update. * doc/posix-functions/printf.texi: Update. * doc/posix-functions/snprintf.texi: Update. * doc/posix-functions/sprintf.texi: Update. * doc/posix-functions/vfprintf.texi: Update. * doc/posix-functions/vprintf.texi: Update. * doc/posix-functions/vsnprintf.texi: Update. * doc/posix-functions/vsprintf.texi: Update. * doc/glibc-functions/obstack_printf.texi: Update. * doc/glibc-functions/obstack_vprintf.texi: Update. 2009-02-26 Eric Blake stdlib: favor compiler check of random.h * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check. Needed to avoid an ObjC random.h installed by Swarm. 2009-02-26 Bruno Haible Work around *printf bug with %g directive and 0.0 on HP-UX 10.20. * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0. Reported by Gary V. Vaughan . 2009-02-26 Bruno Haible Fix *printf behaviour regarding the %ls directive. * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro. * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle NEED_PRINTF_DIRECTIVE_LS. * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro. (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it. * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke gl_PREREQ_VASNPRINTF_DIRECTIVE_LS. * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise. * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise. * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise. * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise. * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise. * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise. * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise. * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise. * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise. * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise. * doc/posix-functions/fprintf.texi: Update. * doc/posix-functions/printf.texi: Update. * doc/posix-functions/snprintf.texi: Update. * doc/posix-functions/sprintf.texi: Update. * doc/posix-functions/vfprintf.texi: Update. * doc/posix-functions/vprintf.texi: Update. * doc/posix-functions/vsnprintf.texi: Update. * doc/posix-functions/vsprintf.texi: Update. * doc/glibc-functions/obstack_printf.texi: Update. * doc/glibc-functions/obstack_vprintf.texi: Update. Reported by Eric Blake. 2009-02-25 Bruno Haible * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8 with known value. Reported by Gary V. Vaughan . 2009-02-25 Bruno Haible Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8. * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro. (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no". * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug. Reported by Gary V. Vaughan . 2009-02-25 Bruno Haible Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23. * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of INT8_MAX, UINT8_MAX etc. contain casts to elementary types. * doc/posix-headers/stdint.texi: Mention the HP-UX bug. Reported by Gary V. Vaughan . 2009-02-25 Eric Blake tests: skip fseek/ftell tests if ungetc is broken * m4/ungetc.m4: New file. * modules/fseek-tests: Split test, so ungetc dependency is separate from rest of test. * modules/fseeko-tests: Likewise. * modules/ftell-tests: Likewise. * modules/ftello-tests: Likewise. * tests/test-fseek.c (main): Isolate ungetc dependency. * tests/test-fseeko.c (main): Likewise. * tests/test-ftell.c (main): Likewise. * tests/test-ftello.c (main): Likewise. * tests/test-fseek2.sh: New file. * tests/test-fseeko2.sh: Likewise. * tests/test-ftell2.sh: Likewise. * tests/test-ftello2.sh: Likewise. 2009-02-25 Ondřej Vašík test-getaddrinfo: fix usage of skip return code 77 * tests/test-gettaddrinfo.c: Return skip code 77 only for first occurance of skip (4x77 is not 77) 2009-02-25 Gary V. Vaughan strtod: avoid C99 decl-after-statement * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration. 2009-02-24 Eric Blake strtod: detect HP-UX 11.31 bug * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug. Reported by Gary V. Vaughan. 2009-02-23 Bruno Haible Fix invalid read past end of memory block. * lib/vasnprintf.c (DCHAR_SET): Define. (local_wcslen): Define only when needed. (local_strnlen, local_wcsnlen): New functions. (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls directives that involve a conversion ourselves. * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen, wcsnlen, mbrtowc, wcrtomb. * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s. * tests/test-vasprintf-posix.c (test_function): Likewise. * tests/test-snprintf-posix.h (test_function): Likewise. * tests/test-sprintf-posix.h (test_function): Likewise. Reported by Ben Pfaff . 2009-02-22 Bruno Haible Implement new clarified decomposition of Hangul syllables. * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables of type LTV, return only a pairwise decomposition. * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition): Likewise. * tests/uninorm/test-decomposition.c (main): Updated expected result. * tests/uninorm/test-canonical-decomposition.c (main): Likewise. * tests/uninorm/test-compat-decomposition.c (main): Likewise. 2009-02-22 Bruno Haible * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle zero-length results and shrink excess allocated memory. * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result. * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise. * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise. * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise. * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise. * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise. * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise. * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise. * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise. * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise. * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise. * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise. 2009-02-21 Bruno Haible * doc/gnulib.texi: Include safe-alloc.texi earlier. * doc/safe-alloc.texi: Terminate sentences with a period. Use two spaces after a period. Put a space between a macro name and its argument list. Trivial rewordings. * lib/safe-alloc.c: Include safe-alloc.h right after config.h. * tests/test-safe-alloc.c: Likewise. Include stdlib.h. (main): Return 0 explicitly. 2009-02-21 Bruno Haible Tests for module 'uninorm/filter'. * tests/uninorm/test-uninorm-filter-nfc.c: New file. * modules/uninorm/filter-tests: New file. New module 'uninorm/filter'. * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write, uninorm_filter_flush, uninorm_filter_free): New declarations. * lib/uninorm/uninorm-filter.c: New file. * modules/uninorm/filter: New file. 2009-02-21 Bruno Haible Tests for module 'uninorm/nfkc'. * tests/uninorm/test-nfkc.c: New file. * tests/uninorm/test-u8-nfkc.c: New file. * tests/uninorm/test-u16-nfkc.c: New file. * tests/uninorm/test-u32-nfkc.c: New file. * tests/uninorm/test-u32-nfkc-big.sh: New file. * tests/uninorm/test-u32-nfkc-big.c: New file. * modules/uninorm/nfkc-tests: New file. New module 'uninorm/nfkc'. * lib/uninorm/nfkc.c: New file. * modules/uninorm/nfkc: New file. Tests for module 'uninorm/nfkd'. * tests/uninorm/test-nfkd.c: New file. * tests/uninorm/test-u8-nfkd.c: New file. * tests/uninorm/test-u16-nfkd.c: New file. * tests/uninorm/test-u32-nfkd.c: New file. * tests/uninorm/test-u32-nfkd-big.sh: New file. * tests/uninorm/test-u32-nfkd-big.c: New file. * modules/uninorm/nfkd-tests: New file. New module 'uninorm/nfkd'. * lib/uninorm/nfkd.c: New file. * modules/uninorm/nfkd: New file. Tests for module 'uninorm/nfc'. * tests/uninorm/test-nfc.c: New file. * tests/uninorm/test-u8-nfc.c: New file. * tests/uninorm/test-u16-nfc.c: New file. * tests/uninorm/test-u32-nfc.c: New file. * tests/uninorm/test-u32-nfc-big.sh: New file. * tests/uninorm/test-u32-nfc-big.c: New file. * modules/uninorm/nfc-tests: New file. New module 'uninorm/nfc'. * lib/uninorm/nfc.c: New file. * modules/uninorm/nfc: New file. Tests for module 'uninorm/nfd'. * tests/uninorm/test-nfd.c: New file. * tests/uninorm/test-u8-nfd.c: New file. * tests/uninorm/test-u16-nfd.c: New file. * tests/uninorm/test-u32-nfd.c: New file. * tests/uninorm/test-u32-nfd-big.sh: New file. * tests/uninorm/test-u32-nfd-big.c: New file. * tests/uninorm/test-u32-normalize-big.h: New file. * tests/uninorm/test-u32-normalize-big.c: New file. * tests/uninorm/NormalizationTest.txt: New file, created from Unicode 5.1.0 NormalizationTest.txt. * modules/uninorm/nfd-tests: New file. New module 'uninorm/nfd'. * lib/uninorm/nfd.c: New file. * modules/uninorm/nfd: New file. New module 'uninorm/u32-normalize'. * lib/uninorm/u32-normalize.c: New file. * modules/uninorm/u32-normalize: New file. New module 'uninorm/u16-normalize'. * lib/uninorm/u16-normalize.c: New file. * modules/uninorm/u16-normalize: New file. New module 'uninorm/u8-normalize'. * lib/uninorm/u8-normalize.c: New file. * lib/uninorm/normalize-internal.h: New file. * lib/uninorm/u-normalize-internal.h: New file. * modules/uninorm/u8-normalize: New file. New module 'uninorm/decompose-internal'. * lib/uninorm/decompose-internal.c: New file. * modules/uninorm/decompose-internal: New file. Tests for module 'uninorm/composition'. * tests/uninorm/test-composition.c: New file. * modules/uninorm/composition-tests: New file. New module 'uninorm/composition'. * lib/uninorm/composition.c: New file. * lib/uninorm/composition-table.gperf: New file, generated by gen-uni-tables. * modules/uninorm/composition: New file. Tests for module 'uninorm/compat-decomposition'. * tests/uninorm/test-compat-decomposition.c: New file. * modules/uninorm/compat-decomposition-tests: New file. New module 'uninorm/compat-decomposition'. * lib/uninorm/decompose-internal.h: New file. * lib/uninorm/compat-decomposition.c: New file. * modules/uninorm/compat-decomposition: New file. Tests for module 'uninorm/canonical-decomposition'. * tests/uninorm/test-canonical-decomposition.c: New file. * modules/uninorm/canonical-decomposition-tests: New file. New module 'uninorm/canonical-decomposition'. * lib/uninorm/canonical-decomposition.c: New file. * modules/uninorm/canonical-decomposition: New file. Tests for module 'uninorm/decomposition'. * tests/uninorm/test-decomposition.c: New file. * modules/uninorm/decomposition-tests: New file. New module 'uninorm/decomposition'. * lib/uninorm/decomposition.c: New file. * modules/uninorm/decomposition: New file. New module 'uninorm/decomposition-table'. * lib/uninorm/decomposition-table.h: New file. * lib/uninorm/decomposition-table.c: New file. * lib/uninorm/decomposition-table1.h: New file, generated by gen-uni-tables. * lib/uninorm/decomposition-table2.h: New file, generated by gen-uni-tables. * modules/uninorm/decomposition-table: New file. * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro. (UC_DECOMP_*): New enumeration items. (get_decomposition): New function. (struct decomp_table): New type. (output_decomposition, output_decomposition_tables): New functions. (unicode_composition_exclusions): New variable. (fill_composition_exclusions, debug_output_composition_tables): New functions. (main): Accept one more argument. Invoke fill_composition_exclusions. Output decomposition and composition tables. New module 'uninorm/base'. * lib/uninorm.h: New file. * lib/unictype.h: Update comment. * modules/uninorm/base: New file. 2009-02-21 David Lutterkort Tests for module 'safe-alloc'. * tests/test-safe-alloc.c: New file. * modules/safe-alloc-tests: New file. New module 'safe-alloc'. * lib/safe-alloc.h: New file. * lib/safe-alloc.c: New file. * m4/safe-alloc.m4: New file. * modules/safe-alloc: New file. * doc/safe-alloc.texi: New file. * doc/gnulib.texi: Include it. * MODULES.html.sh (Memory management functions ): Add safe-alloc. 2009-02-18 Bruno Haible Fix link error on non-glibc systems. * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New variable. Reported by Tom G. Christensen . 2009-02-18 Jim Meyering fts: avoid used-uninitialized error due to recent change * lib/fts.c (fts_read): Guard uses of the new member, parent->fts_n_dirs_remaining, since it's not relevant for the parent of a directory specified on the command-line. 2009-02-17 James Youngman Bruno Haible * m4/include_next.m4: Reformulate comment. 2009-02-16 Jim Meyering fts: add #if guards so that the fts_lgpl module still builds * lib/fts.c: Guard just-added hash-table-using parts with #if GNULIB_FTS, so as not to break builds of the fts_lgpl module. Reported by Simon Josefsson. 2009-02-15 Bruno Haible * modules/array-mergesort-tests: New file. * tests/test-array-mergesort.c: New file. New module 'array-mergesort'. * modules/array-mergesort: New file. * lib/array-mergesort.h: New file. 2009-02-15 Bruno Haible Fix 2009-02-07 commit. * lib/gen-uni-tables.c (output_predicate, output_category, output_combclass, output_bidi_category, output_decimal_digit, output_digit, output_numeric, output_mirror, output_scripts, output_ident_category, output_simple_mapping): Fix format directives. (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly. 2009-02-15 Albert Chin-A-Young * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that fixes are available from IBM. 2009-02-13 Jim Meyering fts: arrange not to stat non-directories in more cases This makes GNU find (when it doesn't need to stat each file) *much* more efficient at traversing reiserfs file systems. * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member. (struct FTS) [fts_leaf_optimization_works_ht]: Add member. * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht. (S_MAGIC_REISERFS, S_MAGIC_PROC): Define. (leaf_optimization_applies): New function. (LCO_hash, LCO_compare): New helper functions. (link_count_optimize_ok): New function. (fts_stat): Initialize new member (if dir). (fts_read): Decrement parent's fts_n_dirs_remaining count if we've just stat'ed a directory. Skip the stat call when possible. --- Note this AFS-related exchange: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111 and note find's pioctl call in find/fstype.c. But that is necessary only if you want to enable the optimization for AFS, and for now, I don't. fts: move a function definition "up" (no semantic change) * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition "up" to precede upcoming use of a related function. 2009-02-11 Jim Meyering fts: correct internal computation of nlinks (optimization-related) * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on whether the current entry is a directory, so don't test it. 2009-02-10 Bruno Haible Tests for module 'uniwbrk/ulc-wordbreaks'. * modules/uniwbrk/ulc-wordbreaks-tests: New file. * tests/uniwbrk/test-ulc-wordbreaks.sh: New file. * tests/uniwbrk/test-ulc-wordbreaks.c: New file. Tests for module 'uniwbrk/u32-wordbreaks'. * modules/uniwbrk/u32-wordbreaks-tests: New file. * tests/uniwbrk/test-u32-wordbreaks.c: New file. Tests for module 'uniwbrk/u16-wordbreaks'. * modules/uniwbrk/u16-wordbreaks-tests: New file. * tests/uniwbrk/test-u16-wordbreaks.c: New file. Tests for module 'uniwbrk/u8-wordbreaks'. * modules/uniwbrk/u8-wordbreaks-tests: New file. * tests/uniwbrk/test-u8-wordbreaks.c: New file. 2009-02-10 Bruno Haible * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak property. * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise. * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise. * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset. 2009-02-10 Simon Josefsson * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use inline keywords. Reported by Bruno Haible . 2009-02-10 Bruno Haible * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h. * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c. * modules/unilbrk/tables (Files, Makefile.am, Include): Update. * lib/unilbrk/u8-possible-linebreaks.c: Update. * lib/unilbrk/u16-possible-linebreaks.c: Likewise. * lib/unilbrk/u32-possible-linebreaks.c: Likewise. 2009-02-09 Simon Josefsson * lib/sockets.h (gl_fd_to_handle): New function. * tests/test-sockets.c: Call gl_fd_to_handle. 2009-02-09 Bruno Haible * doc/havelib.texi: Document the conventions on bi-arch systems. 2009-02-08 Bruno Haible Document the AC_LIB_LINKFLAGS macro. * doc/havelib.texi: New file, mostly written on 2005-05-24. * doc/gnulib.texi: Include it. 2009-02-08 Bruno Haible Fix wrong order of sections, compared to TOC. * doc/gnulib.texi: Include relocatable-maint.texi after the "Regular expressions" node, not before. 2009-02-08 Bruno Haible Tests for module 'unicase/totitle'. * modules/unicase/totitle-tests: New file. Tests for module 'unicase/tolower'. * modules/unicase/tolower-tests: New file. Tests for module 'unicase/toupper'. * modules/unicase/toupper-tests: New file. * tests/unicase/test-mapping-part1.h: New file. * tests/unicase/test-mapping-part2.h: New file. New module 'unicase/totitle'. * modules/unicase/totitle: New file. * lib/unicase/totitle.c: New file. New module 'unicase/tolower'. * modules/unicase/tolower: New file. * lib/unicase/tolower.c: New file. New module 'unicase/toupper'. * modules/unicase/toupper: New file. * lib/unicase/toupper.c: New file. * lib/unicase/simple-mapping.h: New file. * lib/gen-uni-tables.c (output_simple_mapping_test): New function. (mapping_table): New structure. (output_simple_mapping): New function. (main): Invoke output_simple_mapping_test and output_simple_mapping. * modules/gen-uni-tables (Description): Update. * lib/unicase/toupper.h: New file, automatically generated by gen-uni-tables. * lib/unicase/tolower.h: New file, automatically generated by gen-uni-tables. * lib/unicase/totitle.h: New file, automatically generated by gen-uni-tables. * tests/unicase/test-uc_toupper.c: New file, automatically generated by gen-uni-tables. * tests/unicase/test-uc_tolower.c: New file, automatically generated by gen-uni-tables. * tests/unicase/test-uc_totitle.c: New file, automatically generated by gen-uni-tables. New module 'unicase/base'. * modules/unicase/base: New file. * lib/unicase.h: New file. 2009-02-08 Bruno Haible New module 'uniwbrk/ulc-wordbreaks'. * modules/uniwbrk/ulc-wordbreaks: New file. * lib/uniwbrk/ulc-wordbreaks.c: New file. New module 'uniwbrk/u32-wordbreaks'. * modules/uniwbrk/u32-wordbreaks: New file. * lib/uniwbrk/u32-wordbreaks.c: New file. New module 'uniwbrk/u16-wordbreaks'. * modules/uniwbrk/u16-wordbreaks: New file. * lib/uniwbrk/u16-wordbreaks.c: New file. New module 'uniwbrk/u8-wordbreaks'. * modules/uniwbrk/u8-wordbreaks: New file. * lib/uniwbrk/u8-wordbreaks.c: New file. * lib/uniwbrk/u-wordbreaks.h: New file. New module 'uniwbrk/table'. * modules/uniwbrk/table: New file. * lib/uniwbrk/wbrktable.h: New file. * lib/uniwbrk/wbrktable.c: New file. New module 'uniwbrk/wordbreak-property'. * modules/uniwbrk/wordbreak-property: New file. * lib/uniwbrk/wordbreak-property.c: New file. * lib/gen-uni-tables.c (WBP_*): New enum items. (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions. (unicode_org_wbp): New variable. (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables): New functions. (wbp_table): New structure. (output_wbp, output_wbrk_tables): New functions. (main): Accept additional argument. Invoke fill_org_wbp, debug_output_wbrk_tables, debug_output_org_wbrk_tables, output_wbrk_tables. * modules/gen-uni-tables (Description): Update. * lib/uniwbrk/wbrkprop.h: New file, automatically generated by gen-uni-tables. New module 'uniwbrk/base'. * modules/uniwbrk/base: New file. * lib/uniwbrk.h: New file. 2009-02-08 Bruno Haible Update to Unicode 5.1.0. * lib/gen-uni-tables.c (is_property_alphabetic): Include U+2185..U+2188. (is_property_default_ignorable_code_point): Don't include characters of category Cc or Cs and not-a-characters. (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A, U+0D79, U+109E, U+109F, U+A60C. * lib/unictype/bidi_of.h: Regenerated. * lib/unictype/blocks.h: Regenerated. * lib/unictype/categ_C.h: Regenerated. * lib/unictype/categ_Cf.h: Regenerated. * lib/unictype/categ_Cn.h: Regenerated. * lib/unictype/categ_L.h: Regenerated. * lib/unictype/categ_Ll.h: Regenerated. * lib/unictype/categ_Lm.h: Regenerated. * lib/unictype/categ_Lo.h: Regenerated. * lib/unictype/categ_Lu.h: Regenerated. * lib/unictype/categ_M.h: Regenerated. * lib/unictype/categ_Mc.h: Regenerated. * lib/unictype/categ_Me.h: Regenerated. * lib/unictype/categ_Mn.h: Regenerated. * lib/unictype/categ_N.h: Regenerated. * lib/unictype/categ_Nd.h: Regenerated. * lib/unictype/categ_Nl.h: Regenerated. * lib/unictype/categ_No.h: Regenerated. * lib/unictype/categ_P.h: Regenerated. * lib/unictype/categ_Pd.h: Regenerated. * lib/unictype/categ_Pe.h: Regenerated. * lib/unictype/categ_Pf.h: Regenerated. * lib/unictype/categ_Pi.h: Regenerated. * lib/unictype/categ_Po.h: Regenerated. * lib/unictype/categ_Ps.h: Regenerated. * lib/unictype/categ_S.h: Regenerated. * lib/unictype/categ_Sk.h: Regenerated. * lib/unictype/categ_Sm.h: Regenerated. * lib/unictype/categ_So.h: Regenerated. * lib/unictype/categ_of.h: Regenerated. * lib/unictype/combining.h: Regenerated. * lib/unictype/ctype_alnum.h: Regenerated. * lib/unictype/ctype_alpha.h: Regenerated. * lib/unictype/ctype_graph.h: Regenerated. * lib/unictype/ctype_lower.h: Regenerated. * lib/unictype/ctype_print.h: Regenerated. * lib/unictype/ctype_punct.h: Regenerated. * lib/unictype/ctype_upper.h: Regenerated. * lib/unictype/decdigit.h: Regenerated. * lib/unictype/digit.h: Regenerated. * lib/unictype/mirror.h: Regenerated. * lib/unictype/numeric.h: Regenerated. * lib/unictype/pr_alphabetic.h: Regenerated. * lib/unictype/pr_bidi_arabic_digit.h: Regenerated. * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated. * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated. * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated. * lib/unictype/pr_bidi_left_to_right.h: Regenerated. * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated. * lib/unictype/pr_bidi_other_neutral.h: Regenerated. * lib/unictype/pr_combining.h: Regenerated. * lib/unictype/pr_dash.h: Regenerated. * lib/unictype/pr_decimal_digit.h: Regenerated. * lib/unictype/pr_default_ignorable_code_point.h: Regenerated. * lib/unictype/pr_deprecated.h: Regenerated. * lib/unictype/pr_diacritic.h: Regenerated. * lib/unictype/pr_extender.h: Regenerated. * lib/unictype/pr_format_control.h: Regenerated. * lib/unictype/pr_grapheme_base.h: Regenerated. * lib/unictype/pr_grapheme_extend.h: Regenerated. * lib/unictype/pr_grapheme_link.h: Regenerated. * lib/unictype/pr_id_continue.h: Regenerated. * lib/unictype/pr_id_start.h: Regenerated. * lib/unictype/pr_ideographic.h: Regenerated. * lib/unictype/pr_ignorable_control.h: Regenerated. * lib/unictype/pr_lowercase.h: Regenerated. * lib/unictype/pr_math.h: Regenerated. * lib/unictype/pr_numeric.h: Regenerated. * lib/unictype/pr_other_alphabetic.h: Regenerated. * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated. * lib/unictype/pr_other_grapheme_extend.h: Regenerated. * lib/unictype/pr_other_id_continue.h: Regenerated. * lib/unictype/pr_other_lowercase.h: Regenerated. * lib/unictype/pr_other_math.h: Regenerated. * lib/unictype/pr_punctuation.h: Regenerated. * lib/unictype/pr_sentence_terminal.h: Regenerated. * lib/unictype/pr_soft_dotted.h: Regenerated. * lib/unictype/pr_terminal_punctuation.h: Regenerated. * lib/unictype/pr_unassigned_code_value.h: Regenerated. * lib/unictype/pr_unified_ideograph.h: Regenerated. * lib/unictype/pr_uppercase.h: Regenerated. * lib/unictype/pr_xid_continue.h: Regenerated. * lib/unictype/pr_xid_start.h: Regenerated. * lib/unictype/pr_zero_width.h: Regenerated. * lib/unictype/scripts.h: Regenerated. * lib/unictype/scripts_byname.gperf: Regenerated. * lib/unictype/sy_java_ident.h: Regenerated. * lib/unilbrk/lbrkprop1.h: Regenerated. * lib/unilbrk/lbrkprop2.h: Regenerated. * tests/unictype/test-categ_C.c: Regenerated. * tests/unictype/test-categ_Cf.c: Regenerated. * tests/unictype/test-categ_Cn.c: Regenerated. * tests/unictype/test-categ_L.c: Regenerated. * tests/unictype/test-categ_Ll.c: Regenerated. * tests/unictype/test-categ_Lm.c: Regenerated. * tests/unictype/test-categ_Lo.c: Regenerated. * tests/unictype/test-categ_Lu.c: Regenerated. * tests/unictype/test-categ_M.c: Regenerated. * tests/unictype/test-categ_Mc.c: Regenerated. * tests/unictype/test-categ_Me.c: Regenerated. * tests/unictype/test-categ_Mn.c: Regenerated. * tests/unictype/test-categ_N.c: Regenerated. * tests/unictype/test-categ_Nd.c: Regenerated. * tests/unictype/test-categ_Nl.c: Regenerated. * tests/unictype/test-categ_No.c: Regenerated. * tests/unictype/test-categ_P.c: Regenerated. * tests/unictype/test-categ_Pd.c: Regenerated. * tests/unictype/test-categ_Pe.c: Regenerated. * tests/unictype/test-categ_Pf.c: Regenerated. * tests/unictype/test-categ_Pi.c: Regenerated. * tests/unictype/test-categ_Po.c: Regenerated. * tests/unictype/test-categ_Ps.c: Regenerated. * tests/unictype/test-categ_S.c: Regenerated. * tests/unictype/test-categ_Sk.c: Regenerated. * tests/unictype/test-categ_Sm.c: Regenerated. * tests/unictype/test-categ_So.c: Regenerated. * tests/unictype/test-ctype_alnum.c: Regenerated. * tests/unictype/test-ctype_alpha.c: Regenerated. * tests/unictype/test-ctype_graph.c: Regenerated. * tests/unictype/test-ctype_lower.c: Regenerated. * tests/unictype/test-ctype_print.c: Regenerated. * tests/unictype/test-ctype_punct.c: Regenerated. * tests/unictype/test-ctype_upper.c: Regenerated. * tests/unictype/test-decdigit.h: Regenerated. * tests/unictype/test-digit.h: Regenerated. * tests/unictype/test-numeric.h: Regenerated. * tests/unictype/test-pr_alphabetic.c: Regenerated. * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated. * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated. * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated. * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated. * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated. * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated. * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated. * tests/unictype/test-pr_combining.c: Regenerated. * tests/unictype/test-pr_dash.c: Regenerated. * tests/unictype/test-pr_decimal_digit.c: Regenerated. * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated. * tests/unictype/test-pr_deprecated.c: Regenerated. * tests/unictype/test-pr_diacritic.c: Regenerated. * tests/unictype/test-pr_extender.c: Regenerated. * tests/unictype/test-pr_format_control.c: Regenerated. * tests/unictype/test-pr_grapheme_base.c: Regenerated. * tests/unictype/test-pr_grapheme_extend.c: Regenerated. * tests/unictype/test-pr_grapheme_link.c: Regenerated. * tests/unictype/test-pr_id_continue.c: Regenerated. * tests/unictype/test-pr_id_start.c: Regenerated. * tests/unictype/test-pr_ideographic.c: Regenerated. * tests/unictype/test-pr_ignorable_control.c: Regenerated. * tests/unictype/test-pr_lowercase.c: Regenerated. * tests/unictype/test-pr_math.c: Regenerated. * tests/unictype/test-pr_numeric.c: Regenerated. * tests/unictype/test-pr_other_alphabetic.c: Regenerated. * tests/unictype/test-pr_other_default_ignorable_code_point.c: Regenerated. * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated. * tests/unictype/test-pr_other_id_continue.c: Regenerated. * tests/unictype/test-pr_other_lowercase.c: Regenerated. * tests/unictype/test-pr_other_math.c: Regenerated. * tests/unictype/test-pr_punctuation.c: Regenerated. * tests/unictype/test-pr_sentence_terminal.c: Regenerated. * tests/unictype/test-pr_soft_dotted.c: Regenerated. * tests/unictype/test-pr_terminal_punctuation.c: Regenerated. * tests/unictype/test-pr_unassigned_code_value.c: Regenerated. * tests/unictype/test-pr_unified_ideograph.c: Regenerated. * tests/unictype/test-pr_uppercase.c: Regenerated. * tests/unictype/test-pr_xid_continue.c: Regenerated. * tests/unictype/test-pr_xid_start.c: Regenerated. * tests/unictype/test-pr_zero_width.c: Regenerated. Update to Unicode 5.1.0. * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487, U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63, U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E, U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D, U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33, U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF, U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951, U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C, U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B. (nonspacing_table_ind): Update. * tests/uniwidth/test-uc_width2.sh: Update expected result. Update to Unicode 5.1.0. * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the code transform. * lib/uniname/uniname.c (unicode_character_name, unicode_name_character): Add the range 0x1Fxxx to the code transform. * lib/uniname/uninames.h: Regenerated. * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0. 2009-02-07 Bruno Haible Merge gen-ctype and gen-lbrk into a single program. * lib/gen-uni-tables.c: New file, incorporating lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c. Add directory prefixes to the names of the generated files. * lib/unictype/gen-ctype.c: Remove file. * lib/unilbrk/gen-lbrk.c: Remove file. * modules/gen-uni-tables: New file. * modules/unictype/gen-ctype: Remove file. * modules/unilbrk/gen-lbrk: Remove file. 2009-02-07 Bruno Haible * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations. New module 'unistr/u32-strcoll'. * modules/unistr/u32-strcoll: New file. * lib/unistr/u32-strcoll.c: New file. New module 'unistr/u16-strcoll'. * modules/unistr/u16-strcoll: New file. * lib/unistr/u16-strcoll.c: New file. New module 'unistr/u8-strcoll'. * modules/unistr/u8-strcoll: New file. * lib/unistr/u8-strcoll.c: New file. * lib/unistr/u-strcoll.h: New file. 2009-02-07 Bruno Haible * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value. * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise. * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise. * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise. * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise. * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise. 2009-02-07 Bruno Haible Make 64-bit clean. * lib/unictype/gen-ctype.c (output_predicate, output_category, output_combclass, output_bidi_category, output_decimal_digit, output_digit, output_numeric, output_mirror, output_scripts, output_ident_category): Use proper width specifier in format strings. 2009-02-07 Bruno Haible * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document failure behaviour. 2009-02-07 Jim Meyering regex: avoid compilation failure with upcoming gcc-4.4 * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7 [workaround for PGC prior to 6.1-2]. Otherwise, we'd get this: "... error: integer overflow in preprocessor expression". 2009-02-05 Ben Pfaff Fix link errors on Windows when close module is used. * modules/close: Add $(LIB_CLOSE) to Link section. * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into $(LIB_CLOSE) on Windows. 2009-02-05 Jim Meyering still avoid unused-parameter warnings, but do it cleanly * lib/fsusage.c (UNUSED_PARAM): Remove definition. (get_fs_usage): Cast to void instead. * lib/mountlist.c (UNUSED_PARAM): Remove definition. (dev_from_mount_options, read_file_system_list): Cast to void. Prompted by Bruno Haible. 2009-02-04 Jim Meyering fsusage.c: correct copyright year * lib/fsusage.c: Reflect year in which the change is pushed into avoid misc. warnings * lib/fsusage.c (UNUSED_PARAM): Define. (get_fs_usage): Mark parameter "disk" as unused. * lib/getugroups.c (getgrent): Use "void" in prototype. * lib/mountlist.c: Mark unused parameters. (read_file_system_list): Declare a local with "const". * lib/nanosleep.c (getnow): Declare static. * lib/strftime.c: Include strftime.h, for declaration of nstrftime. dirfd: set errno upon failure * lib/dirfd.c: Include . Set errno to ENOTSUP when returning -1. * modules/dirfd (Depends-on): Add errno. Suggested by John Kodis . 2009-02-01 Bruno Haible Don't assume sizeof (long) >= sizeof (void *). * lib/memcmp.c: Include stdint.h. (memcmp_bytes): Change argument types to op_t. Change type of srcp1, srcp2 to 'const byte *'. (memcmp_common_alignment, memcmp_not_common_alignment): Change argument types to uintptr_t. (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'. * modules/memcmp (Depends-on): Add stdint. Reported by Ozkan Sezer . 2009-01-30 Eric Blake fix more require-before-expand issues * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than expand, AC_PROG_AWK. * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE. 2009-01-28 Eric Blake version-etc: use consistent URL formatting * lib/version-etc.c (emit_bug_reporting_address, version_etc_va): Improve formatting. Use fputs for string without %. 2009-01-28 Jim Meyering 00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an "underquoted definition of NAME" from autoconf-2.59. 2009-01-28 Bruno Haible * doc/gnulib.texi: Add "Obsolete modules" to index. 2009-01-28 Jim Meyering useless-if-before-free: recognize more variants * build-aux/useless-if-before-free: Also recognize e.g., if (NULL != p) free (p); 2009-01-27 Mark McLoughlin test-getaddrinfo: skip (don't fail) this test when there's no network * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN, on the presumption that it means you lack network access. 2009-01-26 Jim Meyering fflush: avoid warnings on modern systems * lib/fflush.c (rpl_fflush): Move declarations of locals, pos and result, into scopes where they're used. 2009-01-26 Eric Blake Silence warning reintroduced by recent extensions patch. * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS) (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer autoconf. Backport improved autoconf semantics of AC_DEFUN_ONCE. * m4/00gnulib.m4: New file. * gnulib-tool (func_get_filelist): Always use it. * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used. Reported by Bruno Haible, with suggestions from Paolo Bonzini. 2009-01-25 Bruno Haible Make test-quotearg work on MacOS X and AIX. * tests/test-quotearg.sh: New file. * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file. * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file. * tests/test-quotearg.c: Include and gettext.h. Don't include . (fake_locale): Remove variable. (gettext, dgettext, dcgettext): Remove functions. (main): Instead of setting a fake locale, set a real locale. Call textdomain and bindtextdomain. * modules/quotearg-tests (Files): Add the new files. (Depends-on): Add gettext, setenv, unsetenv. (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8. (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg. Augment TESTS_ENVIRONMENT. 2009-01-25 Bruno Haible * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the fr_FR.ISO8859-1 locale on MacOS X. * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the ja_JP.eucJP locale on MacOS X. * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the zh_CN.GB18030 locale on MacOS X. 2009-01-25 Bruno Haible Avoid link errors on MacOS X 10.3. * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer. * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise. 2009-01-25 Bruno Haible * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp. * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code. * modules/pipe (Files): Remove m4/posix_spawn.m4. (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init, posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2, posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy, posix_spawnattr_init, posix_spawnattr_setsigmask, posix_spawnattr_setflags, posix_spawnattr_destroy. * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp. * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code. * modules/execute (Files): Remove m4/posix_spawn.m4. (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init, posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy, posix_spawnattr_init, posix_spawnattr_setsigmask, posix_spawnattr_setflags, posix_spawnattr_destroy. 2009-01-25 Bruno Haible * lib/glthread/threadlib.c: Include . 2009-01-25 Bruno Haible * lib/glthread/threadlib.c (dummy): New declaration. 2009-01-25 Bruno Haible * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete multibyte characters also for the GB18030 encoding. Don't crash when the encoding is unknown and nstate = 0. Needed on OSF/1 5.1. 2009-01-25 Bruno Haible Avoid redefining 'struct random_data' on OSF/1 5.1. * lib/stdlib.in.h: Include if it exists. * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether exists. Set HAVE_RANDOM_H. Include when testing whether 'struct random_data' exists. * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H. 2009-01-25 Bruno Haible Don't install charset.alias on MacOS X >= 10.3. * lib/localcharset.c (DARWIN7): New macro. (get_charset_aliases): Hardcode the result for Darwin7. * modules/localcharset (install-exec-local): Don't install charset.alias on MacOS X >= 10.3, if the file does not yet exist. 2009-01-25 Bruno Haible Don't install charset.alias on mingw and Cygwin. * modules/localcharset (install-exec-local): Don't install charset.alias on mingw and Cygwin, if the file does not yet exist. The result for these platforms is hardcoded in localcharset.c. 2009-01-25 Bruno Haible Make it possible again to use AC_GNU_SOURCE together with gnulib. * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE before requiring AC_USE_SYSTEM_EXTENSIONS. 2009-01-25 Jim Meyering c-strtod: avoid warnings * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid "assignment discards qualifiers from pointer target type" warnings. 2009-01-24 Bruno Haible Add support for non-UTF-8 locales on MacOS X. * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of canonical encodings. For Darwin 7 and newer, don't map traditional encodings to UTF-8. Reported by Vincent Lefevre at . 2009-01-24 Bruno Haible * doc/gnulib.texi (Obsolete modules): New section. Reported by Mike Frysinger . 2009-01-24 Bruno Haible * doc/Makefile (%.pdf): Clarify where to find texmf.cnf. (%.dvi): New rule. 2009-01-24 Bruno Haible * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification. Reported by Eric Blake. 2009-01-24 Bruno Haible * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC, set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11. Reported by Gary V. Vaughan . 2009-01-24 Bruno Haible * lib/c-strtod.h (c_strtod, c_strtold): Add specification. 2009-01-23 Bruno Haible Make c-strtod, c-strtold usable in libraries. * lib/c-strtod.c: Include string.h instead of xalloc.h. (C_STRTOD): Call strdup instead of xstrdup. * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc. * modules/c-strtold (Depends-on): Likewise. * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die. * NEWS: Mention the change. Reported by Michael Gold . 2009-01-23 Jim Meyering c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure. 2009-01-23 Simon Josefsson * lib/version-etc.c: Add emit_bug_reporting_address, inspired by GNU CoreUtils. * lib/version-etc.h: Add prototype for emit_bug_reporting_address. * modules/version-etc (Description): Update. 2009-01-22 Bruno Haible Cache the C locale object. * lib/c-strtod.c (c_locale_cache): New variable. (c_locale): New function. (C_STRTOD): Use it, and don't call freelocale. * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE. Suggested by Paolo Bonzini. 2009-01-21 Bruno Haible * lib/getloadavg.c (getloadavg): Check c_strtod result against error conditions other than overflow. 2009-01-21 Bruno Haible * lib/c-strtod.c: Include errno.h. (C_STRTOD): Check against NULL return from newlocale. Preserve errno value from STRTOD_L and STRTOD. 2009-01-21 Bruno Haible and Jim Meyering nanosleep: skip configure test (fail it) for apple universal builds * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple universal builds, assume that nanosleep does not work. * modules/nanosleep (Depends-on): Add multiarch. mktime: skip configure test (fail it) for apple universal builds * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple universal builds, assume that mktime does not work. * modules/mktime (Depends-on): Add multiarch. 2009-01-21 Eric Blake multiarch: avoid expand-before-require warning * modules/multiarch (configure.ac): Require, rather than expand, gl_MULTIARCH. * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge... (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to enforce that all clients require it. Partial reversion of 2008-12-29 patch. error: avoid expand-before-require warning * modules/errno (configure.ac): Require, rather than expand, gl_HEADER_ERRNO_H. * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge... (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to enforce that all clients require it. gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it, and rely solely on gl_USE_SYSTEM_EXTENSIONS. 2009-01-21 Paolo Bonzini Revert: 2009-01-20 Paolo Bonzini regex: do not depend on obsolete modules. * modules/regex: Remove memcmp and memmove. 2009-01-20 Bruno Haible Make the 'link' module link on Windows NT 4. * lib/link.c (_WIN32_WINNT): Don't define. (CreateHardLinkFuncType): New type. (CreateHardLinkFunc, initialized): New variables. (initialize): New function. (link): Invoke CreateHardLink indirectly through the function pointer. 2009-01-20 Bruno Haible Fix compilation failure on mingw. * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists. 2009-01-20 Michael Gold (tiny change) * doc/c-strtod.texi: Mention a couple of restrictions. 2009-01-20 Jim Meyering gettimeofday: move more declarations out of functions * lib/gettimeofday.c: Move extern declarations of tzset and gmtime out of containing functions. Prompted by Bruno Haible. 2009-01-20 Paolo Bonzini regex: do not depend on obsolete modules. * modules/regex: Remove memcmp and memmove. 2009-01-19 Bruno Haible Don't use AC_REQUIRE([AC_C_BIGENDIAN]). * modules/uniconv/u16-conv-from-enc (configure.ac): Require gl_BIGENDIAN, not AC_C_BIGENDIAN. * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise. * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise. 2009-01-19 Bruno Haible * tests/test-link.c: Include . (main): Exit with code 77 when a hard link cannot be created due to the file system. * tests/test-link.sh: Skip test when a hard link cannot be created due to the file system. Suggested by Eric Blake. 2009-01-19 Martin Lambers * modules/link-tests: New file. * tests/test-link.sh: New file. * tests/test-link.c: New file. 2009-01-19 Eric Blake doc: mention another function added in cygwin 1.7.0 * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p): Another new function in cygwin 1.7. 2009-01-19 Bruno Haible Don't use AC_REQUIRE([AC_C_BIGENDIAN]). * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro. * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require gl_BIGENDIAN, not AC_C_BIGENDIAN. * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise. * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise. * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise. * m4/md4.m4 (gl_MD4): Likewise. * m4/md5.m4 (gl_MD5): Likewise. * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise. * m4/sha1.m4 (gl_SHA1): Likewise. * m4/sha256.m4 (gl_SHA256): Likewise. * m4/sha512.m4 (gl_SHA512): Likewise. 2009-01-19 Bruno Haible * modules/uniname/uniname-tests (Depends-on): Add progname. * tests/uniname/test-uninames.c: Include progname.h. (main): Call set_program_name. * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname. * tests/unistdio/test-u8-vsprintf1.c: Include progname.h. (main): Call set_program_name. * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname. * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h. (main): Call set_program_name. * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname. * tests/unistdio/test-u16-vsprintf1.c: Include progname.h. (main): Call set_program_name. * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname. * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h. (main): Call set_program_name. * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname. * tests/unistdio/test-u32-vsprintf1.c: Include progname.h. (main): Call set_program_name. * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname. * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h. (main): Call set_program_name. * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname. * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h. (main): Call set_program_name. * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname. * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h. (main): Call set_program_name. 2009-01-19 Eric Blake test-unistd: test previous patch * tests/test-unistd.c: Test *_FILENO macros. unistd: guarantee STDIN_FILENO here, for OS/2 EMX * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO): Guarantee a definition. * doc/posix-headers/unistd.texi (unistd.h): Document the bug. * modules/unistd-safer (Depends-on): Add dependency on unistd. * lib/c-stack.c (STDERR_FILENO): Rely on . * lib/dup-safer.c (STDERR_FILENO): Likewise. * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO): Likewise. * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise. * lib/fopen-safer.c (STDERR_FILENO): Likewise. * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO): Likewise. * lib/tmpfile-safer.c (STDERR_FILENO): Likewise. * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO) (STDERR_FILENO): Likewise. * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO) (STDERR_FILENO): Likewise. * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO) (STDERR_FILENO): Likewise. Reported by Elbert Pol. 2009-01-19 Eric Blake doc: mention more functions added in cygwin 1.7.0 * doc/posix-functions/abort.texi (abort): Update wording related to cygwin. * doc/posix-functions/daylight.texi (daylight): Likewise. * doc/posix-functions/optarg.texi (optarg): Likewise. * doc/posix-functions/optarg.texi (opterr): Likewise. * doc/posix-functions/optarg.texi (optind): Likewise. * doc/posix-functions/optarg.texi (optopt): Likewise. * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never worked in 1.5.x, and was withdrawn in 1.7. * doc/posix-functions/vwprintf.texi (vwprintf): Likewise. * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of cygwin versions. * doc/posix-functions/perror.texi (perror): Likewise. * doc/posix-functions/printf.texi (printf): Likewise. * doc/posix-functions/snprintf.texi (snprintf): Likewise. * doc/posix-functions/sprintf.texi (sprintf): Likewise. * doc/posix-functions/vfprintf.texi (vfprintf): Likewise. * doc/posix-functions/vprintf.texi (vprintf): Likewise. * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise. * doc/posix-functions/vsprintf.texi (vsprintf): Likewise. * doc/glibc-functions/obstack_printf.texi (obstack_printf): Likewise. * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf): Likewise. * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds this function. * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise. * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback): Likewise. * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise. * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise. * doc/posix-functions/confstr.texi (confstr): Likewise. * doc/posix-functions/dprintf.texi (dprintf): Likewise. * doc/posix-functions/fgetwc.texi (fgetwc): Likewise. * doc/posix-functions/fgetws.texi (fgetws): Likewise. * doc/posix-functions/fputwc.texi (fputwc): Likewise. * doc/posix-functions/fputws.texi (fputws): Likewise. * doc/posix-functions/fwide.texi (fwide): Likewise. * doc/posix-functions/getwc.texi (getwc): Likewise. * doc/posix-functions/getwchar.texi (getwchar): Likewise. * doc/posix-functions/putwc.texi (putwc): Likewise. * doc/posix-functions/putwchar.texi (putwchar): Likewise. * doc/posix-functions/sigignore.texi (sigignore): Likewise. * doc/posix-functions/ungetwc.texi (ungetwc): Likewise. * doc/posix-functions/vdprintf.texi (vdprintf): Likewise. * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise. * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise. * doc/posix-functions/wcstol.texi (wcstol): Likewise. * doc/posix-functions/wcstoll.texi (wcstoll): Likewise. * doc/posix-functions/wcstoul.texi (wcstoul): Likewise. * doc/posix-functions/wcstoull.texi (wcstoull): Likewise. * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise. 2009-01-19 Daniel P. Berrange ioctl: avoid warning: no previous prototype for 'rpl_ioctl' * lib/ioctl.c: Include . 2009-01-19 Simon Josefsson * modules/getdate-tests (Depends-on): Add progname. * tests/test-getdate.c: Use progname module, to avoid link errors on non-glibc systems. 2009-01-18 Simon Josefsson * modules/filenamecat-tests (Depends-on): Add progname. * modules/fstrcmp-tests (Depends-on): Likewise. * tests/test-filenamecat.c: Use progname module, to avoid link errors on non-glibc systems. * tests/test-fstrcmp.c: Likewise. 2009-01-19 Daniel P. Berrange gettimeofday: avoid warning: nested extern declaration of 'localtime' * lib/gettimeofday.c: Move extern declaration out of function. 2009-01-18 Bruno Haible * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen. * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros. (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1. 2009-01-18 Bruno Haible * lib/strftime.c (MEMPCPY): Remove unused macro. * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy. 2009-01-18 Martin Lambers New module 'link'. * lib/unistd.in.h (link): New declaration. * lib/link.c: New file. * m4/link.m4: New file. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK, HAVE_LINK. * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK. * modules/link: New file. * doc/posix-functions/link.texi: Mention the new module. 2009-01-18 Bruno Haible * tests/test-avltree_list.c (main): Call set_program_name. * tests/test-avltree_oset.c (main): Likewise. * tests/test-obstack-printf.c: Include progname.h. (main): Call set_program_name. * tests/test-quotearg.c: Include progname.h. (main): Call set_program_name. * tests/test-xmemdup0.c: Include progname.h. (main): Call set_program_name. 2009-01-18 Bruno Haible New module 'alphasort'. * lib/dirent.in.h (alphasort): New declaration. * lib/alphasort.c: New file, from glibc with modifications. * m4/alphasort.m4: New file. * modules/alphasort: New file. * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT, HAVE_ALPHASORT. * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT, HAVE_ALPHASORT. * doc/posix-functions/alphasort.texi: Mention the new module and the portability problems. 2009-01-18 Bruno Haible New module 'scandir'. * lib/dirent.in.h (scandir): New declaration. * lib/scandir.c: New file, from glibc with modifications. * m4/scandir.m4: New file. * modules/scandir: New file. * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR, HAVE_SCANDIR. * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR, HAVE_SCANDIR. * doc/posix-functions/scandir.texi: Mention the new module and the portability problems. 2009-01-17 Bruno Haible * gnulib-tool (func_remove_prefix): Escape all dots in the prefix. Update documentation. (func_remove_suffix): Escape all dots in the suffix. Update documentation. (func_filter_filelist): Update documentation. Reported by Ralf Wildenhues. 2009-01-17 Bruno Haible * modules/dprintf-posix-tests: New file. * tests/test-dprintf-posix.sh: New file. * tests/test-dprintf-posix.c: New file. New modules 'dprintf', 'dprintf-posix'. * lib/stdio.in.h (dprintf): New declaration. * lib/dprintf.c: New file. * m4/dprintf.m4: New file. * m4/dprintf-posix.m4: New file. * modules/dprintf: New file. * modules/dprintf-posix: New file. * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF, HAVE_DPRINTF, REPLACE_DPRINTF. * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF, HAVE_DPRINTF, REPLACE_DPRINTF. * doc/posix-functions/dprintf.texi: Mention the new modules. 2009-01-17 Bruno Haible * modules/vdprintf-posix-tests: New file. * tests/test-vdprintf-posix.sh: New file. * tests/test-vdprintf-posix.c: New file. New modules 'vdprintf', 'vdprintf-posix'. * lib/stdio.in.h (vdprintf): New declaration. * lib/vdprintf.c: New file. * m4/vdprintf.m4: New file. * m4/vdprintf-posix.m4: New file. * modules/vdprintf: New file. * modules/vdprintf-posix: New file. * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF, HAVE_VDPRINTF, REPLACE_VDPRINTF. * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF, HAVE_VDPRINTF, REPLACE_VDPRINTF. * doc/posix-functions/vdprintf.texi: Mention the new modules. 2009-01-17 Bruno Haible Fix replacement of fopen on mingw. * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on mingw. 2009-01-17 Bruno Haible Fix compilation error on HP-UX 11.00, present since 2008-09-24. * lib/fopen.c: Include and . 2009-01-17 Bruno Haible Avoid test-fflush2.sh failure on mingw. * tests/test-fflush2.c: Include binary-io.h. (main): Put standard input into binary mode. * modules/fflush-tests (Depends-on): Add binary-io. 2009-01-17 Bruno Haible * lib/wchar.in.h: In another particular situation, include only the system's file. (_GL_ALREADY_INCLUDING_WCHAR_H): New macro. Reported by Albert Chin-A-Young and Thomas Guyot-Sionnest . 2009-01-17 Bruno Haible Support for stripping executables in --enable-relocatable. * build-aux/install-reloc: Expect one more argument, or an environment variable RELOC_STRIP_PROG. If set, strip the destination program and its wrapper. * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set RELOC_STRIP_PROG. * doc/relocatable-maint.texi (Supporting Relocation): Mention the need to set RELOCATABLE_STRIP. * NEWS: Mention the new Makefile requirement. 2009-01-17 Bruno Haible * build-aux/install-reloc: Remove debugging information left over by C compiler on MacOS X. 2009-01-17 Bruno Haible Update use of _NSGetExecutablePath after API change in MacOS X 10.4. * lib/progreloc.c (find_executable): Fix type of pointer passed to _NSGetExecutablePath. 2009-01-16 Jim Meyering strerror: avoid warnings about discarding "const" * lib/strerror.c (rpl_strerror): Instead of returning a const string from each and every "case", use a variable, and add a single cast after the switch. 2009-01-16 Albert Chin-A-Young * lib/arpa_inet.in.h: Add extern "C" block for C++. 2009-01-16 Bruno Haible * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an array initializer syntax that also works in C++ mode. Reported by Albert Chin . 2009-01-16 Jim Meyering poll: suppress a warning * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits" to ignore "...unsigned expression < 0 is always false" warnings. 2009-01-16 Daniel P. Berrange poll: remove declarations of unused variables * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused sockbuf and optlen. 2009-01-15 Bruno Haible Make fflush-after-ungetc POSIX compliant on BSD systems. * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function. (clear_ungetc_buffer): Implement also for other systems. (rpl_fflush): On glibc systems, invoke clear_ungetc_buffer_preserving_position. Otherwise, invoke clear_ungetc_buffer after fetching the stream's position, not before. 2009-01-15 Bruno Haible Make fflush-after-ungetc POSIX compliant on glibc systems. * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush after ungetc. * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems. (rpl_fflush): On glibc systems, simply call the system's fflush function after clearing the ungetc buffer. * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file. Instead, lseek only to the end of file, then use the system's fseeko for the rest. On glibc systems, reset the EOF indicator bit. 2009-01-15 Jim Meyering openmp.m4: revert quote-adding change, for portability to older autoconf * m4/openmp.m4: Remove the quotes added on 2009-01-14. This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d. Simon Josefsson noticed the problem when using autoconf-2.61. 2009-01-15 Bruno Haible * tests/test-fflush2.sh: Invoke test-fflush2 twice. * tests/test-fflush2.c (ASSERT): Always fail. (main): Add two tests for fflush() after ungetc(), taking into account the Austin Group's clarification. Suggested by Eric Blake. 2009-01-15 Albert Chin-A-Young mktime.m4: remove K&R-style function prototypes * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes for the Sun C++ compiler. 2009-01-14 Bruno Haible * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined while including . * lib/wchar.in.h: In two particular situations on HP-UX, include only the system's file. Reported by Albert Chin . 2009-01-14 Bruno Haible * m4/csharp.m4: Don't mention gettext on the serial number line. * m4/csharpexec.m4: Likewise. * m4/eaccess.m4: Likewise. * m4/javaexec.m4: Likewise. * m4/sig_atomic_t.m4: Likewise. * m4/tmpdir.m4: Likewise. * m4/intldir.m4: Bump gettext version. * m4/lib-ld.m4: Likewise. 2009-01-14 Bruno Haible * lib/progname.c (set_program_name): Add more comments. Reported by Sergey Poznyakoff . 2009-01-14 Simon Josefsson * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems were sys/stat.h does not define it. 2009-01-14 Jim Meyering many *.m4 files: improve m4 quoting 99% of this change was performed by running the following commands: git ls-files | grep '\.m4$' | xargs perl -pi \ -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \ -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \ -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \ -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g' perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4 The remainder were to add Copyright dates, increment serial numbers, undo some changes in comments, exclude m4/intl.m4, and add quotes around the "1" in ",1" where the unusual spacing prohibited the above regexps from doing the job. For more details, see . * m4/acl.m4: Modified. * m4/afs.m4: Likewise. * m4/alloca.m4: Likewise. * m4/argp.m4: Likewise. * m4/argz.m4: Likewise. * m4/atexit.m4: Likewise. * m4/bison-i18n.m4: Likewise. * m4/bison.m4: Likewise. * m4/byteswap.m4: Likewise. * m4/c-stack.m4: Likewise. * m4/c-strtod.m4: Likewise. * m4/calloc.m4: Likewise. * m4/canonicalize-lgpl.m4: Likewise. * m4/chown.m4: Likewise. * m4/clock_time.m4: Likewise. * m4/codeset.m4: Likewise. * m4/copy-file.m4: Likewise. * m4/csharp.m4: Likewise. * m4/csharpcomp.m4: Likewise. * m4/csharpexec.m4: Likewise. * m4/d-ino.m4: Likewise. * m4/d-type.m4: Likewise. * m4/dirfd.m4: Likewise. * m4/double-slash-root.m4: Likewise. * m4/eaccess.m4: Likewise. * m4/eealloc.m4: Likewise. * m4/environ.m4: Likewise. * m4/errno_h.m4: Likewise. * m4/euidaccess.m4: Likewise. * m4/execute.m4: Likewise. * m4/fatal-signal.m4: Likewise. * m4/fchdir.m4: Likewise. * m4/fcntl_h.m4: Likewise. * m4/fileblocks.m4: Likewise. * m4/filenamecat.m4: Likewise. * m4/findprog.m4: Likewise. * m4/flexmember.m4: Likewise. * m4/fnmatch.m4: Likewise. * m4/fopen.m4: Likewise. * m4/fpending.m4: Likewise. * m4/fprintf-posix.m4: Likewise. * m4/free.m4: Likewise. * m4/frexp.m4: Likewise. * m4/frexpl.m4: Likewise. * m4/fsusage.m4: Likewise. * m4/ftruncate.m4: Likewise. * m4/gc-camellia.m4: Likewise. * m4/gc-random.m4: Likewise. * m4/gc.m4: Likewise. * m4/getaddrinfo.m4: Likewise. * m4/getcwd-abort-bug.m4: Likewise. * m4/getcwd-path-max.m4: Likewise. * m4/getdate.m4: Likewise. * m4/getdomainname.m4: Likewise. * m4/getgroups.m4: Likewise. * m4/gethostname.m4: Likewise. * m4/gethrxtime.m4: Likewise. * m4/getline.m4: Likewise. * m4/getloadavg.m4: Likewise. * m4/getndelim2.m4: Likewise. * m4/getpass.m4: Likewise. * m4/gettext.m4: Likewise. * m4/gettime.m4: Likewise. * m4/gettimeofday.m4: Likewise. * m4/gnulib-common.m4: Likewise. * m4/group-member.m4: Likewise. * m4/host-os.m4: Likewise. * m4/iconv.m4: Likewise. * m4/iconv_open.m4: Likewise. * m4/inet_ntop.m4: Likewise. * m4/inet_pton.m4: Likewise. * m4/inline.m4: Likewise. * m4/intldir.m4: Likewise. * m4/intlmacosx.m4: Likewise. * m4/intmax.m4: Likewise. * m4/intmax_t.m4: Likewise. * m4/inttypes.m4: Likewise. * m4/inttypes_h.m4: Likewise. * m4/inttypes-pri.m4: Likewise. * m4/isapipe.m4: Likewise. * m4/isnand.m4: Likewise. * m4/isnanf.m4: Likewise. * m4/isnanl.m4: Likewise. * m4/javacomp.m4: Likewise. * m4/javaexec.m4: Likewise. * m4/jm-winsz1.m4: Likewise. * m4/jm-winsz2.m4: Likewise. * m4/lchown.m4: Likewise. * m4/lcmessage.m4: Likewise. * m4/ldexpl.m4: Likewise. * m4/lib-ld.m4: Likewise. * m4/lib-link.m4: Likewise. * m4/libsigsegv.m4: Likewise. * m4/link-follow.m4: Likewise. * m4/localcharset.m4: Likewise. * m4/locale-fr.m4: Likewise. * m4/locale-ja.m4: Likewise. * m4/locale-tr.m4: Likewise. * m4/locale-zh.m4: Likewise. * m4/lock.m4: Likewise. * m4/longlong.m4: Likewise. * m4/ls-mntd-fs.m4: Likewise. * m4/lstat.m4: Likewise. * m4/malloc.m4: Likewise. * m4/mathl.m4: Likewise. * m4/mbrtowc.m4: Likewise. * m4/mbstate_t.m4: Likewise. * m4/mbswidth.m4: Likewise. * m4/memchr.m4: Likewise. * m4/memcmp.m4: Likewise. * m4/memcpy.m4: Likewise. * m4/memmem.m4: Likewise. * m4/memmove.m4: Likewise. * m4/mempcpy.m4: Likewise. * m4/memrchr.m4: Likewise. * m4/memset.m4: Likewise. * m4/minmax.m4: Likewise. * m4/mkdir-slash.m4: Likewise. * m4/mkdtemp.m4: Likewise. * m4/mktime.m4: Likewise. * m4/mmap-anon.m4: Likewise. * m4/mountlist.m4: Likewise. * m4/nanosleep.m4: Likewise. * m4/nls.m4: Likewise. * m4/nocrash.m4: Likewise. * m4/open.m4: Likewise. * m4/openat.m4: Likewise. * m4/openmp.m4: Likewise. * m4/pathmax.m4: Likewise. * m4/perl.m4: Likewise. * m4/physmem.m4: Likewise. * m4/pipe.m4: Likewise. * m4/po.m4: Likewise. * m4/poll.m4: Likewise. * m4/posixtm.m4: Likewise. * m4/posixver.m4: Likewise. * m4/printf-frexp.m4: Likewise. * m4/printf-frexpl.m4: Likewise. * m4/printf-posix.m4: Likewise. * m4/printf-posix-rpl.m4: Likewise. * m4/printf.m4: Likewise. * m4/progtest.m4: Likewise. * m4/putenv.m4: Likewise. * m4/readline.m4: Likewise. * m4/readlink.m4: Likewise. * m4/readutmp.m4: Likewise. * m4/realloc.m4: Likewise. * m4/regex.m4: Likewise. * m4/relocatable.m4: Likewise. * m4/relocatable-lib.m4: Likewise. * m4/rename-dest-slash.m4: Likewise. * m4/rename.m4: Likewise. * m4/rmdir-errno.m4: Likewise. * m4/rmdir.m4: Likewise. * m4/roundf.m4: Likewise. * m4/roundl.m4: Likewise. * m4/rpmatch.m4: Likewise. * m4/save-cwd.m4: Likewise. * m4/selinux-selinux-h.m4: Likewise. * m4/setenv.m4: Likewise. * m4/settime.m4: Likewise. * m4/sig2str.m4: Likewise. * m4/sig_atomic_t.m4: Likewise. * m4/signalblocking.m4: Likewise. * m4/signbit.m4: Likewise. * m4/sigpipe.m4: Likewise. * m4/sockets.m4: Likewise. * m4/sockpfaf.m4: Likewise. * m4/st_dm_mode.m4: Likewise. * m4/stat-time.m4: Likewise. * m4/stdbool.m4: Likewise. * m4/stdint.m4: Likewise. * m4/stdint_h.m4: Likewise. * m4/stpcpy.m4: Likewise. * m4/stpncpy.m4: Likewise. * m4/strcase.m4: Likewise. * m4/strchrnul.m4: Likewise. * m4/strcspn.m4: Likewise. * m4/strdup.m4: Likewise. * m4/strftime.m4: Likewise. * m4/strndup.m4: Likewise. * m4/strnlen.m4: Likewise. * m4/strpbrk.m4: Likewise. * m4/strptime.m4: Likewise. * m4/strsep.m4: Likewise. * m4/strtod.m4: Likewise. * m4/strtoimax.m4: Likewise. * m4/strtok_r.m4: Likewise. * m4/strtol.m4: Likewise. * m4/strtoll.m4: Likewise. * m4/strtoul.m4: Likewise. * m4/strtoull.m4: Likewise. * m4/strtoumax.m4: Likewise. * m4/strverscmp.m4: Likewise. * m4/threadlib.m4: Likewise. * m4/timegm.m4: Likewise. * m4/tm_gmtoff.m4: Likewise. * m4/tmpdir.m4: Likewise. * m4/tmpfile.m4: Likewise. * m4/tzset.m4: Likewise. * m4/uintmax_t.m4: Likewise. * m4/unlinkdir.m4: Likewise. * m4/unlocked-io.m4: Likewise. * m4/uptime.m4: Likewise. * m4/userspec.m4: Likewise. * m4/utimbuf.m4: Likewise. * m4/utime.m4: Likewise. * m4/utimes-null.m4: Likewise. * m4/utimes.m4: Likewise. * m4/vararrays.m4: Likewise. * m4/vasnprintf.m4: Likewise. * m4/vfprintf-posix.m4: Likewise. * m4/vprintf-posix.m4: Likewise. * m4/wait-process.m4: Likewise. * m4/wchar_t.m4: Likewise. * m4/wint_t.m4: Likewise. * m4/write-any-file.m4: Likewise. * m4/yield.m4: Likewise. 2009-01-13 Bruno Haible Avoid test-copy-file.sh failures when ACL support insufficient. * modules/copy-file-tests (Makefile.am): Pass USE_ACL in TESTS_ENVIRONMENT. * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0. Reported by Jim Meyering. 2009-01-13 Bruno Haible * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and m4/inttypes_h.m4, needed by m4/intmax_t.m4. * modules/unistdio/u8-printf-parse (Files): Likewise. * modules/unistdio/u32-printf-parse (Files): Likewise. * modules/unistdio/ulc-printf-parse (Files): Likewise. 2009-01-13 Simon Josefsson * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4 and m4/inttypes_h.m4 too. 2009-01-12 Eric Blake tests: IRIX 6.2 cc can't compile -0.0 into .data * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime, rather than at compile-time. * tests/test-floorl.c (minus_zero): Likewise. * tests/test-frexpl.c (minus_zero): Likewise. * tests/test-isnan.c (minus_zerol): Likewise. * tests/test-isnanl.h (minus_zero): Likewise. * tests/test-ldexpl.c (minus_zero): Likewise. * tests/test-roundl.c (minus_zero): Likewise. * tests/test-signbit.c (minus_zerol): Likewise. * tests/test-snprintf-posix.h (minus_zerol): Likewise. * tests/test-sprintf-posix.h (minus_zerol): Likewise. * tests/test-truncl.c (minus_zero): Likewise. * tests/test-vasnprintf-posix.c (minus_zerol): Likewise. * tests/test-vasprintf-posix.c (minus_zerol): Likewise. Reported by Tom G. Christensen and Nelson H. F. Beebe. 2009-01-09 Paolo Bonzini regex: fix glibc bug 9697 * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET handling. 2009-01-09 Paolo Bonzini regex: fix glibc bug 697 * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0] being NULL also if there are no backreferences. 2009-01-09 Paolo Bonzini regex: merge glibc changes * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc. * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer, re_string_skip_chars, re_string_reconstruct): Likewise. * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define. 2009-01-07 Jim Meyering poll: filter through cppi * lib/poll.c: Indent cpp directives to reflect nesting. 2009-01-07 Daniel P. Berrange poll: don't return uninitialized * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc". 2009-01-06 Jeremy Olexa (tiny change) avoid compile failure on AIX 6.1 * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include . Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465 2009-01-04 Jim Meyering remove duplicate inclusion of * tests/test-fprintf-posix.c: Likewise. * tests/test-printf-posix.c: Likewise. * tests/test-snprintf-posix.c: Likewise. * tests/test-sprintf-posix.c: Likewise. * tests/test-vasprintf-posix.c: Likewise. * tests/test-vfprintf-posix.c: Likewise. * tests/test-vprintf-posix.c: Likewise. * tests/test-vsnprintf-posix.c: Likewise. * tests/test-vsprintf-posix.c: Likewise. 2009-01-03 Jim Meyering gnulib-tool: fix sed-based filtering * gnulib-tool (func_filter_filelist): Remove extra backslash in sed_fff_filter definition. 2009-01-02 Jim Meyering strftime: avoid compilation failure on Solaris 2.6 * modules/strftime (Depends-on): Add mbrlen and mbsinit. * lib/strftime.c [DO_MULTIBYTE]: Include unconditionally. Don't #define mbrlen or mbsinit, since now they're guaranteed to be available. Reported by Tom G. Christensen. Details in . 2009-01-01 Ralf Wildenhues Bruno Haible Speed up gnulib-tool by doing more string processing through shell built-ins. * gnulib-tool (fast_func_append): New variable. (func_remove_prefix, func_remove_suffix): New functions. (fast_func_remove_prefix, fast_func_remove_suffix): New variables. (func_filter_filelist): New function. (func_get_dependencies): Use func_remove_suffix instead of sed. (func_get_automake_snippet): Use func_filter_filelist instead of a subshell and sed invocation. 2009-01-01 Bruno Haible Fix a security bug. * gnulib-tool (func_import, import, update): Don't allow the characters '"', '$', '`', '\' in macro arguments that become part of commands that are evaluated. 2009-01-01 Bruno Haible * gnulib-tool (func_reset_sigpipe): Add more comments. 2009-01-01 Ralf Wildenhues * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import): Abort loops early if we already know the answer. 2009-01-01 Jim Meyering * lib/version-etc.c (version_etc_va): Update copyright year. 2008-12-30 Bruno Haible * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite LIB${NAME}_PREFIX when considering the dependencies of lib${name}. Reported by Charles Wilson . 2008-12-29 Eric Blake multiarch: avoid autoconf AC_REQUIRE bug * m4/multiarch.m4 (gl_MULTIARCH): Split body... (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf 2.63 and older. Reported by Bruno Haible, and analyzed in http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html 2008-12-29 Bruno Haible * gnulib-tool (func_import): When generating sed-ignore-removed, handle files in subdirectories correctly. Reported by Ralf Wildenhues. 2008-12-29 Ralf Wildenhues * gnulib-tool (func_update_ignorelist): Use 'join - FILE' rather than 'join FILE -', for Solaris join. 2008-12-29 Bruno Haible * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument quoting. * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise. * m4/glibc2.m4 (gt_GLIBC2): Likewise. * m4/glibc21.m4 (gl_GLIBC21): Likewise. * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise. * m4/intdiv0.m4 (gt_INTDIV0): Likewise. * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise. * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise. * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise. * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise. * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise. * m4/nls.m4 (AM_NLS): Likewise. * m4/po.m4 (AM_PO_SUBDIRS): Likewise. * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise. * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise. * m4/size_max.m4 (gl_SIZE_MAX): Likewise. * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise. * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise. * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise. * m4/visibility.m4 (gl_VISIBILITY): Likewise. * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise. * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise. * m4/xsize.m4 (gl_XSIZE): Likewise. Suggested by Jim Meyering. 2008-11-17 Bruce Korb * lib/parse-duration.h: non-iso form accepts years, months weeks, too * lib/parse-duration.c: use a switch instead of cascading if's. 2008-12-29 Eric Blake wchar.h: supply WEOF on Irix 5.3 * lib/wchar.in.h (wint_t): Also supply WEOF. * lib/wctype.in.h (wint_t): Likewise. * doc/posix-headers/wchar.texi (wchar.h): Document the bug. * doc/posix-headers/wctype.texi (wctype.h): Likewise. Reported by Tom G. Christensen. 2008-12-26 Bruno Haible * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names i486, i586, i686. 2008-12-26 Bruno Haible * lib/stdlib.in.h (struct random_data): Fix indentation of comments. 2008-12-26 Bruno Haible * lib/stdint.in.h: Move the include of down until after all the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS, not __STDC_CONSTANT_MACROS. Reported by Nelson H. F. Beebe via Eric Blake. 2008-12-25 Bruno Haible Add support for universal builds to vasnprintf. * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple universal builds, guess no. * modules/vasnprintf-posix (Depends-on): Add multiarch. * modules/vasprintf-posix (Depends-on): Likewise. * modules/fprintf-posix (Depends-on): Likewise. * modules/vfprintf-posix (Depends-on): Likewise. * modules/snprintf-posix (Depends-on): Likewise. * modules/vsnprintf-posix (Depends-on): Likewise. * modules/sprintf-posix (Depends-on): Likewise. * modules/vsprintf-posix (Depends-on): Likewise. * modules/unistdio/u8-vasnprintf (Depends-on): Likewise. * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise. * modules/unistdio/u16-vasnprintf (Depends-on): Likewise. * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise. * modules/unistdio/u32-vasnprintf (Depends-on): Likewise. * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise. * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise. Add support for universal builds to . * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): In Apple universal builds, define directly, using _LP64. * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1. * modules/inttypes (Depends-on): Add multiarch. (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD. Add support for universal builds to . * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple universal builds, define directly, using _LP64. * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In Apple universal builds, don't test for the size and suffix of ptrdiff_t and size_t. * modules/stdint (Depends-on): Add multiarch. (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD. New module 'multiarch'. * modules/multiarch: New file. * m4/multiarch.m4: New file. 2008-12-25 Bruno Haible * gnulib-tool (func_create_testdir): Avoid failure of mv command. 2008-12-25 Bruno Haible * modules/btowc (License): Relicense under LGPLv2+. * modules/mbsinit (License): Likewise. * modules/mbrtowc (License): Likewise. * modules/wcrtomb (License): Likewise. * modules/streq (License): Likewise. Reported by David Lutterkort . 2008-12-23 Bruno Haible * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment. 2008-12-23 Bruno Haible Module getaddrinfo requires linking with $(GETADDRINFO_LIB). * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into GETADDRINFO_LIB, not in LIBS. * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB). * modules/canon-host (Link): Likewise. * NEWS: Mention the change. * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the GETADDRINFO_LIB. 2008-12-22 Bruno Haible * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t. * doc/posix-functions/iswalpha_l.texi: Likewise. * doc/posix-functions/iswblank_l.texi: Likewise. * doc/posix-functions/iswcntrl_l.texi: Likewise. * doc/posix-functions/iswctype_l.texi: Likewise. * doc/posix-functions/iswdigit_l.texi: Likewise. * doc/posix-functions/iswgraph_l.texi: Likewise. * doc/posix-functions/iswlower_l.texi: Likewise. * doc/posix-functions/iswprint_l.texi: Likewise. * doc/posix-functions/iswpunct_l.texi: Likewise. * doc/posix-functions/iswspace_l.texi: Likewise. * doc/posix-functions/iswupper_l.texi: Likewise. * doc/posix-functions/iswxdigit_l.texi: Likewise. * doc/posix-functions/mbsnrtowcs.texi: Likewise. * doc/posix-functions/open_wmemstream.texi: Likewise. * doc/posix-functions/swscanf.texi: Likewise. * doc/posix-functions/towctrans_l.texi: Likewise. * doc/posix-functions/towlower.texi: Likewise. * doc/posix-functions/towlower_l.texi: Likewise. * doc/posix-functions/towupper.texi: Likewise. * doc/posix-functions/towupper_l.texi: Likewise. * doc/posix-functions/vfwprintf.texi: Likewise. * doc/posix-functions/vfwscanf.texi: Likewise. * doc/posix-functions/vswscanf.texi: Likewise. * doc/posix-functions/vwprintf.texi: Likewise. * doc/posix-functions/vwscanf.texi: Likewise. * doc/posix-functions/wcpcpy.texi: Likewise. * doc/posix-functions/wcpncpy.texi: Likewise. * doc/posix-functions/wcscasecmp.texi: Likewise. * doc/posix-functions/wcscasecmp_l.texi: Likewise. * doc/posix-functions/wcscoll_l.texi: Likewise. * doc/posix-functions/wcsdup.texi: Likewise. * doc/posix-functions/wcsncasecmp.texi: Likewise. * doc/posix-functions/wcsncasecmp_l.texi: Likewise. * doc/posix-functions/wcsnlen.texi: Likewise. * doc/posix-functions/wcsnrtombs.texi: Likewise. * doc/posix-functions/wcsxfrm_l.texi: Likewise. * doc/posix-functions/wctrans_l.texi: Likewise. * doc/posix-functions/wctype_l.texi: Likewise. * doc/glibc-functions/fgetwc_unlocked.texi: Likewise. * doc/glibc-functions/fgetws_unlocked.texi: Likewise. * doc/glibc-functions/fputwc_unlocked.texi: Likewise. * doc/glibc-functions/fputws_unlocked.texi: Likewise. * doc/glibc-functions/getwc_unlocked.texi: Likewise. * doc/glibc-functions/getwchar_unlocked.texi: Likewise. * doc/glibc-functions/putwc_unlocked.texi: Likewise. * doc/glibc-functions/putwchar_unlocked.texi: Likewise. * doc/glibc-functions/wcschrnul.texi: Likewise. * doc/glibc-functions/wcsftime_l.texi: Likewise. * doc/glibc-functions/wcstod_l.texi: Likewise. * doc/glibc-functions/wcstof_l.texi: Likewise. * doc/glibc-functions/wcstol_l.texi: Likewise. * doc/glibc-functions/wcstold_l.texi: Likewise. * doc/glibc-functions/wcstoll_l.texi: Likewise. * doc/glibc-functions/wcstoq.texi: Likewise. * doc/glibc-functions/wcstoul_l.texi: Likewise. * doc/glibc-functions/wcstoull_l.texi: Likewise. * doc/glibc-functions/wcstouq.texi: Likewise. * doc/glibc-functions/wmempcpy.texi: Likewise. 2008-12-22 Ingo Weinhold (tiny change) Eric Blake Paolo Bonzini Bruno Haible Make c-stack work on Haiku. * lib/c-stack.c (SA_ONSTACK): Define fallback. (c_stack_action): Use SA_ONSTACK flag. 2008-12-22 Bruno Haible * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS. 2008-12-22 Bruno Haible Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris. * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is being overridden. (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL): New macros. * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set. * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN. * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN. * doc/posix-functions/mbrlen.texi: Mention the various platform bugs. 2008-12-22 Bruno Haible * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable from test code. 2008-12-22 Eric Blake Avoid gcc warnings on cygwin. * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]: Avoid unused variable. * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]: Likewise. 2008-12-22 Bruno Haible Remove HAVE_MBRTOWC conditionals. * lib/mbscasecmp.c: Include mbuiter.h unconditionally. (mbscasecmp): Assume mbrtowc function. * lib/mbscasestr.c: Include mbuiter.h unconditionally. (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function. * lib/mbschr.c: Include mbuiter.h unconditionally. (mbschr): Assume mbrtowc function. * lib/mbscspn.c: Include mbuiter.h unconditionally. (mbscspn): Assume mbrtowc function. * lib/mbslen.c: Include mbuiter.h unconditionally. (mbslen): Assume mbrtowc function. * lib/mbsncasecmp.c: Include mbuiter.h unconditionally. (mbsncasecmp): Assume mbrtowc function. * lib/mbsnlen.c: Include mbiter.h unconditionally. (mbsnlen): Assume mbrtowc function. * lib/mbspbrk.c: Include mbuiter.h unconditionally. (mbspbrk): Assume mbrtowc function. * lib/mbspcasecmp.c: Include mbuiter.h unconditionally. (mbspcasecmp): Assume mbrtowc function. * lib/mbsrchr.c: Include mbuiter.h unconditionally. (mbsrchr): Assume mbrtowc function. * lib/mbssep.c: Include mbuiter.h unconditionally. (mbssep): Assume mbrtowc function. * lib/mbsspn.c: Include mbuiter.h unconditionally. (mbsspn): Assume mbrtowc function. * lib/mbsstr.c: Include mbuiter.h unconditionally. (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function. * lib/mbstok_r.c: Include mbuiter.h unconditionally. (mbstok_r): Assume mbrtowc function. * lib/propername.c: Include mbuiter.h unconditionally. (mbsstr_trimmed_wordbounded): Assume mbrtowc function. * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally. (trim2): Assume mbrtowc function. * lib/mbswidth.c (mbsinit): Remove fallback definition. (mbsnwidth): Assume mbrtowc function. * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit. * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove fallback definitions. * modules/quotearg (Depends-on): Add mbrtowc, mbsinit. 2008-12-22 Bruno Haible * doc/posix-functions/mbtowc.texi: Mention a glibc bug. 2008-12-22 Paolo Bonzini * modules/regex: Request emulations for the mb*/wc* functions we need. * m4/regex.m4: Don't look for those functions here. * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC. 2008-12-22 Bruno Haible * modules/fnmatch (Depends-on): Remove duplicated dependency. 2008-12-21 Bruno Haible Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally. * modules/mbiter (Depends-on): Add mbrtowc, mbsinit. (Include): Remove conditionalization. * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit. (Include): Remove conditionalization. * modules/mbfile (Depends-on): Add mbrtowc, mbsinit. (Include): Remove conditionalization. * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC. * m4/mbfile.m4 (gl_MBFILE): Likewise. * NEWS: Mention the change. Reported by Alan Hourihane via Sergey Poznyakoff . 2008-12-21 Bruno Haible * MODULES.html.sh (Extended multibyte and wide character utilities ): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs, wcrtomb, wcsrtombs. (Support for systems lacking POSIX:2008): Add accept, bind, close, connect, fclose, getpeername, getsockname, getsockopt, hostent, listen, mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto, setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write. 2008-12-21 Bruno Haible * MODULES.html.sh: Change section titles to refer to POSIX:2008. 2008-12-21 Bruno Haible * modules/wcsnrtombs-tests: New file. * tests/test-wcsnrtombs1.sh: New file. * tests/test-wcsnrtombs2.sh: New file. * tests/test-wcsnrtombs3.sh: New file. * tests/test-wcsnrtombs4.sh: New file. * tests/test-wcsnrtombs.c: New file. New module 'wcsnrtombs'. * lib/wchar.in.h (wcsnrtombs): New declaration. * lib/wcsnrtombs.c: New file. * lib/wcsrtombs-state.c: New file. * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state. (internal_state): Remove variable. * m4/wcsnrtombs.m4: New file. * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the compilation units. * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS, HAVE_WCSNRTOMBS. * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS, HAVE_WCSNRTOMBS. * modules/wcsnrtombs: New file. * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c. * doc/posix-functions/wcsnrtombs.texi: Mention the new module. 2008-12-21 Bruno Haible * modules/wcsrtombs-tests: New file. * tests/test-wcsrtombs1.sh: New file. * tests/test-wcsrtombs2.sh: New file. * tests/test-wcsrtombs3.sh: New file. * tests/test-wcsrtombs4.sh: New file. * tests/test-wcsrtombs.c: New file. New module 'wcsrtombs'. * lib/wchar.in.h (wcsrtombs): New declaration. * lib/wcsrtombs.c: New file. * m4/wcsrtombs.m4: New file. * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS, HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS. * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS, HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS. * modules/wcsrtombs: New file. * doc/posix-functions/wcsrtombs.texi: Mention the new module and the bugs. 2008-12-21 Bruno Haible Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1. * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set. * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb with NULL destination argument in various locales. Set REPLACE_WCRTOMB if not correct. * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB. * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB. * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4, m4/locale-zh.m4, m4/codeset.m4. * doc/posix-functions/wcrtomb.texi: Document the bug. 2008-12-21 Bruno Haible Work around a btowc() bug on IRIX 6.5. * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set. * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set REPLACE_WTOBC if not. * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC. * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC. * doc/posix-functions/btowc.texi: Mention the IRIX bug. 2008-12-21 Bruno Haible * modules/wcrtomb-tests: New file. * tests/test-wcrtomb.sh: New file. * tests/test-wcrtomb.c: New file. New module 'wcrtomb'. * lib/wchar.in.h (wcrtomb): New declaration. * lib/wcrtomb.c: New file. * m4/wcrtomb.m4: New file. * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB, HAVE_WCRTOMB. * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB, HAVE_WCRTOMB. * modules/wcrtomb: New file. * doc/posix-functions/wcrtomb.texi: Mention the new module. 2008-12-21 Bruno Haible * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4. * modules/mbsrtowcs (Files): Likewise. * modules/wctob (Files): Likewise. * modules/c-strcase-tests (Files): Likewise. * modules/unistdio/u8-vasnprintf-tests (Files): Likewise. * modules/unistdio/u16-vasnprintf-tests (Files): Likewise. * modules/unistdio/u32-vasnprintf-tests (Files): Likewise. * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise. * modules/vasnprintf-posix-tests (Files): Likewise. 2008-12-21 William Pursell gitlog-to-changelog: pass all command-line arguments to git-log * build-aux/gitlog-to-changelog: When producing a ChangeLog, it is sometimes convenient to filter the commits in various ways. gitlog-to-changelog only allows --since to specify a start date, but git-log itself supports many other filtering mechanisms. At the moment, I want to filter by branch name. Rather than adding a --branch option to gitlog-to-changelog, it seems more flexible to simply pass all options directly to git-log and let git do the work. Notice that this effectively makes --since a redundant option for gitlog-to-changelog, but removing it would require current usage to change since calls would then require an additional '--'. 2008-12-21 Bruno Haible * modules/mbsnrtowcs-tests: New file. * tests/test-mbsnrtowcs1.sh: New file. * tests/test-mbsnrtowcs2.sh: New file. * tests/test-mbsnrtowcs3.sh: New file. * tests/test-mbsnrtowcs4.sh: New file. * tests/test-mbsnrtowcs.c: New file. New module 'mbsnrtowcs'. * lib/wchar.in.h (mbsnrtowcs): New declaration. * lib/mbsnrtowcs.c: New file. * lib/mbsrtowcs-state.c: New file. * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state. (internal_state): Remove variable. * m4/mbsnrtowcs.m4: New file. * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the compilation units. * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS, HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS. * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS, HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS. * modules/mbsnrtowcs: New file. * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c. * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a portability problem. 2008-12-21 Bruno Haible Work around mbsrtowcs bug. * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro. (gl_FUNC_MBSRTOWCS): Invoke it. * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4, m4/locale-zh.m4. * doc/posix-functions/mbsrtowcs.texi: Document the bug. 2008-12-21 Bruno Haible * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1. 2008-12-21 Bruno Haible Update doc for AIX. * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a 16-bit wchar_t type. * doc/posix-functions/btowc.texi: Likewise. * doc/posix-functions/fgetwc.texi: Likewise. * doc/posix-functions/fgetws.texi: Likewise. * doc/posix-functions/fputwc.texi: Likewise. * doc/posix-functions/fputws.texi: Likewise. * doc/posix-functions/fwide.texi: Likewise. * doc/posix-functions/fwprintf.texi: Likewise. * doc/posix-functions/fwscanf.texi: Likewise. * doc/posix-functions/getwchar.texi: Likewise. * doc/posix-functions/getwc.texi: Likewise. * doc/posix-functions/iswalnum.texi: Likewise. * doc/posix-functions/iswalpha.texi: Likewise. * doc/posix-functions/iswblank.texi: Likewise. * doc/posix-functions/iswcntrl.texi: Likewise. * doc/posix-functions/iswctype.texi: Likewise. * doc/posix-functions/iswdigit.texi: Likewise. * doc/posix-functions/iswgraph.texi: Likewise. * doc/posix-functions/iswlower.texi: Likewise. * doc/posix-functions/iswprint.texi: Likewise. * doc/posix-functions/iswpunct.texi: Likewise. * doc/posix-functions/iswspace.texi: Likewise. * doc/posix-functions/iswupper.texi: Likewise. * doc/posix-functions/iswxdigit.texi: Likewise. * doc/posix-functions/mbrtowc.texi: Likewise. * doc/posix-functions/mbsrtowcs.texi: Likewise. * doc/posix-functions/mbstowcs.texi: Likewise. * doc/posix-functions/mbtowc.texi: Likewise. * doc/posix-functions/putwchar.texi: Likewise. * doc/posix-functions/putwc.texi: Likewise. * doc/posix-functions/swprintf.texi: Likewise. * doc/posix-functions/tolower.texi: Likewise. * doc/posix-functions/toupper.texi: Likewise. * doc/posix-functions/towctrans.texi: Likewise. * doc/posix-functions/ungetwc.texi: Likewise. * doc/posix-functions/vswprintf.texi: Likewise. * doc/posix-functions/wcrtomb.texi: Likewise. * doc/posix-functions/wcscat.texi: Likewise. * doc/posix-functions/wcschr.texi: Likewise. * doc/posix-functions/wcscmp.texi: Likewise. * doc/posix-functions/wcscoll.texi: Likewise. * doc/posix-functions/wcscpy.texi: Likewise. * doc/posix-functions/wcscspn.texi: Likewise. * doc/posix-functions/wcsftime.texi: Likewise. * doc/posix-functions/wcslen.texi: Likewise. * doc/posix-functions/wcsncat.texi: Likewise. * doc/posix-functions/wcsncmp.texi: Likewise. * doc/posix-functions/wcsncpy.texi: Likewise. * doc/posix-functions/wcspbrk.texi: Likewise. * doc/posix-functions/wcsrchr.texi: Likewise. * doc/posix-functions/wcsrtombs.texi: Likewise. * doc/posix-functions/wcsspn.texi: Likewise. * doc/posix-functions/wcsstr.texi: Likewise. * doc/posix-functions/wcstod.texi: Likewise. * doc/posix-functions/wcstof.texi: Likewise. * doc/posix-functions/wcstoimax.texi: Likewise. * doc/posix-functions/wcstok.texi: Likewise. * doc/posix-functions/wcstold.texi: Likewise. * doc/posix-functions/wcstoll.texi: Likewise. * doc/posix-functions/wcstol.texi: Likewise. * doc/posix-functions/wcstombs.texi: Likewise. * doc/posix-functions/wcstoull.texi: Likewise. * doc/posix-functions/wcstoul.texi: Likewise. * doc/posix-functions/wcstoumax.texi: Likewise. * doc/posix-functions/wcswidth.texi: Likewise. * doc/posix-functions/wcsxfrm.texi: Likewise. * doc/posix-functions/wctob.texi: Likewise. * doc/posix-functions/wctomb.texi: Likewise. * doc/posix-functions/wctrans.texi: Likewise. * doc/posix-functions/wctype.texi: Likewise. * doc/posix-functions/wcwidth.texi: Likewise. * doc/posix-functions/wmemchr.texi: Likewise. * doc/posix-functions/wmemcmp.texi: Likewise. * doc/posix-functions/wmemcpy.texi: Likewise. * doc/posix-functions/wmemmove.texi: Likewise. * doc/posix-functions/wmemset.texi: Likewise. * doc/posix-functions/wprintf.texi: Likewise. * doc/posix-functions/wscanf.texi: Likewise. 2008-12-21 Bruno Haible Update doc for HP-UX 11.11. * doc/posix-functions/btowc.texi: Clarify that the function is missing in HP-UX version 11.00, not in all versions of HP-UX 11. * doc/posix-functions/fwide.texi: Likewise. * doc/posix-functions/fwprintf.texi: Likewise. * doc/posix-functions/fwscanf.texi: Likewise. * doc/posix-functions/inet_ntop.texi: Likewise. * doc/posix-functions/inet_pton.texi: Likewise. * doc/posix-functions/mbrlen.texi: Likewise. * doc/posix-functions/mbrtowc.texi: Likewise. * doc/posix-functions/mbsinit.texi: Likewise. * doc/posix-functions/mbsrtowcs.texi: Likewise. * doc/posix-functions/swprintf.texi: Likewise. * doc/posix-functions/swscanf.texi: Likewise. * doc/posix-functions/towctrans.texi: Likewise. * doc/posix-functions/vfwprintf.texi: Likewise. * doc/posix-functions/vswprintf.texi: Likewise. * doc/posix-functions/vwprintf.texi: Likewise. * doc/posix-functions/wcrtomb.texi: Likewise. * doc/posix-functions/wcsrtombs.texi: Likewise. * doc/posix-functions/wcsstr.texi: Likewise. * doc/posix-functions/wctob.texi: Likewise. * doc/posix-functions/wctrans.texi: Likewise. * doc/posix-functions/wmemchr.texi: Likewise. * doc/posix-functions/wmemcmp.texi: Likewise. * doc/posix-functions/wmemcpy.texi: Likewise. * doc/posix-functions/wmemmove.texi: Likewise. * doc/posix-functions/wmemset.texi: Likewise. * doc/posix-functions/wprintf.texi: Likewise. * doc/posix-functions/wscanf.texi: Likewise. 2008-12-21 Bruno Haible Work around a portability problem. * tests/test-mbsrtowcs.c (main): Use a temporary conversion state. * doc/posix-functions/mbsrtowcs.texi: Document the portability problem. 2008-12-20 Bruno Haible * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set. * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden. * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS. * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS. Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris. * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is set. (GNULIB_defined_mbstate_t): New macro. (mbsinit): Redefine if REPLACE_MBSINIT is set. (mbrtowc): Redefine if REPLACE_MBRTOWC is set. * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that reuses the system's mbrtowc function but works around the bugs. * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New macros. (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to be overridden. Optionally define MBRTOWC_NULL_ARG_BUG, MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG. * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set REPLACE_MBSINIT if mbsinit needs to be overridden. * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T, REPLACE_MBSINIT, REPLACE_MBRTOWC. * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T, REPLACE_MBSINIT, REPLACE_MBRTOWC. * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4, m4/locale-zh.m4. (Depends): Add mbsinit. * modules/mbsinit (Depends): Add mbrtowc. * doc/posix-functions/mbrtowc.texi: Mention the various bugs. 2008-12-20 Bruno Haible * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding so that there are no conversion errors on AIX. * tests/test-mbsrtowcs.c (main): LIkewise. 2008-12-20 Bruno Haible Work around wctob bug on Solaris <= 9. * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set. * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works. * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB. * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB. * modules/wctob (Files): Add m4/locale-fr.m4. * doc/posix-functions/wctob.texi: Mention the Solaris bug. 2008-12-20 Bruno Haible * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with /dev/null. * tests/test-select-in.sh: Likewise. Reported by Tom G. Christensen . 2008-12-20 Bruno Haible Don't pretend that Cygwin has a ja_JP.EUC-JP locale. * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on Cygwin 1.5.x. 2008-12-20 Bruno Haible Ensure mbstate_t is defined on HP-UX 11.11. * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500. * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require AC_USE_SYSTEM_EXTENSIONS. * modules/fnmatch (Depends-on): Add extensions. * modules/mbrlen (Depends-on): Likewise. * modules/mbrtowc (Depends-on): Likewise. * modules/mbsinit (Depends-on): Likewise. * modules/mbsrtowcs (Depends-on): Likewise. * modules/mbswidth (Depends-on): Likewise. * modules/quotearg (Depends-on): Likewise. * modules/strftime (Depends-on): Likewise. 2008-12-20 Bruno Haible Ensure wctob is declared on IRIX 6.5. * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0. * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of HAVE_WCTOB. Also test whether declares wctob. * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead of HAVE_WCTOB. * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of HAVE_WCTOB. * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX. 2008-12-19 Bruno Haible * modules/mbsrtowcs-tests: New file. * tests/test-mbsrtowcs1.sh: New file. * tests/test-mbsrtowcs2.sh: New file. * tests/test-mbsrtowcs3.sh: New file. * tests/test-mbsrtowcs4.sh: New file. * tests/test-mbsrtowcs.c: New file. New module 'mbsrtowcs'. * lib/wchar.in.h (mbsrtowcs): New declaration. * lib/mbsrtowcs.c: New file. * m4/mbsrtowcs.m4: New file. * modules/mbsrtowcs: New file. * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and HAVE_MBSRTOWCS. * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and HAVE_MBSRTOWCS. * doc/posix-functions/mbsrtowcs.texi: Document the new module. 2008-12-19 Bruno Haible New module 'mbrlen'. * lib/wchar.in.h (mbrlen): New declaration. * lib/mbrlen.c: New file. * m4/mbrlen.m4: New file. * modules/mbrlen: New file. * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and HAVE_MBRLEN. * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and HAVE_MBRLEN. * doc/posix-functions/mbrlen.texi: Document the new module. 2008-12-19 Bruno Haible * lib/mbrtowc.c: Include verify.h. Verify an assumption. * modules/mbrtowc (Depends-on): Add verify. Suggested by Paul Eggert. 2008-12-18 Bruno Haible * modules/mbsinit-tests: New file. * tests/test-mbsinit.sh: New file. * tests/test-mbsinit.c: New file. 2008-12-18 Bruno Haible * modules/mbrtowc-tests: New file. * tests/test-mbrtowc1.sh: New file. * tests/test-mbrtowc2.sh: New file. * tests/test-mbrtowc3.sh: New file. * tests/test-mbrtowc4.sh: New file. * tests/test-mbrtowc.c: New file. New module 'mbrtowc'. * lib/wchar.in.h (mbstate_t): Override when the system does not have mbsinit and mbrtowc. (mbrtowc): New declaration. * lib/mbrtowc.c: New file. * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros. * modules/mbrtowc: New file. * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and HAVE_MBRTOWC. * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and HAVE_MBRTOWC. * doc/posix-functions/mbrtowc.texi: Document the new module. 2008-12-18 Bruno Haible New module 'wctob'. * lib/wchar.in.h (wctob): New declaration. * lib/wctob.c: New file. * m4/wctob.m4: New file. * modules/wctob: New file. * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and HAVE_WCTOB. * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB. * doc/posix-functions/wctob.texi: Document the new module. 2008-12-18 Bruno Haible * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H. * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise. 2008-12-18 Simon Josefsson * lib/flock.c: Use proper #if symbol in check. Reported by "Tom G. Christensen" . * lib/flock.c: Need to include errno.h. Reported by "Tom G. Christensen" . * lib/flock.c: Need to include string.h. Reported by "Tom G. Christensen" and Eric Blake . 2008-12-18 Bruno Haible * m4/locale-ja.m4: New file, from GNU gettext. 2008-12-17 Bruno Haible * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60. Suggested by Eric Blake. 2008-12-17 Bruno Haible * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition. 2008-12-17 Bruno Haible * lib/mbsinit.c: Include verify.h. Verify an assumption. * modules/mbsinit (Depends-on): Add verify. Suggested by Paul Eggert. 2008-12-17 Bruno Haible * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC. * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of gl_FUNC_MBRTOWC. * m4/mbiter.m4 (gl_MBITER): LIkewise. * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise. * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise. * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise. * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise. * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise. * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise. * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise. * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise. * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise. * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise. * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise. * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise. * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise. * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise. * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise. * m4/quotearg.m4 (gl_QUOTEARG): Likewise. * modules/trim (configure.ac): Likewise. 2008-12-17 Bruno Haible * modules/btowc-tests: New file. * tests/test-btowc1.sh: New file. * tests/test-btowc2.sh: New file. * tests/test-btowc.c: New file. New module 'btowc'. * lib/wchar.in.h (btowc): New declaration. * lib/btowc.c: New file. * m4/btowc.m4: New file. * modules/btowc: New file. * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and HAVE_BTOWC. * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC. * doc/posix-functions/btowc.texi: Document the new module. 2008-12-17 Bruno Haible New module 'mbsinit'. * lib/wchar.in.h (mbsinit): New declaration. * lib/mbsinit.c: New file. * m4/mbsinit.m4: New file. * modules/mbsinit: New file. * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and HAVE_MBSINIT. * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and HAVE_MBSINIT. * doc/posix-functions/mbsinit.texi: Document the new module. 2008-12-16 Bruno Haible * lib/unistd.in.h: Add comment. * tests/test-environ.c: Don't include . 2008-12-16 Bruno Haible * lib/parse-duration.h (parse_duration): Document return value convention. * lib/parse-duration.c: Include specification header first. Add comments. (_): Remove macro. (parse_year_month_day, parse_hour_minute_second): Move side effects outside of strchr call. (parse_non_iso8601): Move side effects outside of isspace call. (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf call. 2008-12-16 Bruno Haible * tests/test-parse-duration.sh: Produce no output when the test succeeds. 2008-12-16 Bruno Haible * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf expressions. 2008-12-15 Bruno Haible * doc/glibc-functions/fgetxattr.texi: Tweak wording. * doc/glibc-functions/flistxattr.texi: Likewise. * doc/glibc-functions/fopencookie.texi: Likewise. * doc/glibc-functions/fremovexattr.texi: Likewise. * doc/glibc-functions/fsetxattr.texi: Likewise. * doc/glibc-functions/getxattr.texi: Likewise. * doc/glibc-functions/lgetxattr.texi: Likewise. * doc/glibc-functions/listxattr.texi: Likewise. * doc/glibc-functions/llistxattr.texi: Likewise. * doc/glibc-functions/lremovexattr.texi: Likewise. * doc/glibc-functions/lsetxattr.texi: Likewise. * doc/glibc-functions/removexattr.texi: Likewise. * doc/glibc-functions/setxattr.texi: Likewise. * doc/posix-functions/open_memstream.texi: Likewise. 2008-12-15 Eric Blake Update doc for cygwin 1.7. * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new functions. * doc/posix-functions/fchmodat.texi: Likewise. * doc/posix-functions/fchownat.texi: Likewise. * doc/posix-functions/fdopendir.texi: Likewise. * doc/posix-functions/fmemopen.texi: Likewise. * doc/posix-functions/freeaddrinfo.texi: Likewise. * doc/posix-functions/fstatat.texi: Likewise. * doc/posix-functions/futimens.texi: Likewise. * doc/posix-functions/gai_strerror.texi: Likewise. * doc/posix-functions/getaddrinfo.texi: Likewise. * doc/posix-functions/getnameinfo.texi: Likewise. * doc/posix-functions/if_freenameindex.texi: Likewise. * doc/posix-functions/if_indextoname.texi: Likewise. * doc/posix-functions/if_nameindex.texi: Likewise. * doc/posix-functions/if_nametoindex.texi: Likewise. * doc/posix-functions/insque.texi: Likewise. * doc/posix-functions/linkat.texi: Likewise. * doc/posix-functions/llrint.texi: Likewise. * doc/posix-functions/llrintf.texi: Likewise. * doc/posix-functions/llrintl.texi: Likewise. * doc/posix-functions/lockf.texi: Likewise. * doc/posix-functions/lrintl.texi: Likewise. * doc/posix-functions/mkdirat.texi: Likewise. * doc/posix-functions/mkfifoat.texi: Likewise. * doc/posix-functions/mknodat.texi: Likewise. * doc/posix-functions/mq_close.texi: Likewise. * doc/posix-functions/mq_getattr.texi: Likewise. * doc/posix-functions/mq_notify.texi: Likewise. * doc/posix-functions/mq_open.texi: Likewise. * doc/posix-functions/mq_receive.texi: Likewise. * doc/posix-functions/mq_send.texi: Likewise. * doc/posix-functions/mq_setattr.texi: Likewise. * doc/posix-functions/mq_timedreceive.texi: Likewise. * doc/posix-functions/mq_timedsend.texi: Likewise. * doc/posix-functions/mq_unlink.texi: Likewise. * doc/posix-functions/open_memstream.texi: Likewise. * doc/posix-functions/openat.texi: Likewise. * doc/posix-functions/posix_fadvise.texi: Likewise. * doc/posix-functions/posix_fallocate.texi: Likewise. * doc/posix-functions/posix_madvise.texi: Likewise. * doc/posix-functions/posix_memalign.texi: Likewise. * doc/posix-functions/posix_openpt.texi: Likewise. * doc/posix-functions/readlinkat.texi: Likewise. * doc/posix-functions/remque.texi: Likewise. * doc/posix-functions/renameat.texi: Likewise. * doc/posix-functions/rintl.texi: Likewise. * doc/posix-functions/sem_unlink.texi: Likewise. * doc/posix-functions/shm_open.texi: Likewise. * doc/posix-functions/shm_unlink.texi: Likewise. * doc/posix-functions/signgam.texi: Likewise. * doc/posix-functions/sigset.texi: Likewise. * doc/posix-functions/stpcpy.texi: Likewise. * doc/posix-functions/stpncpy.texi: Likewise. * doc/posix-functions/strerror.texi: Likewise. * doc/posix-functions/strtod.texi: Likewise. * doc/posix-functions/symlinkat.texi: Likewise. * doc/posix-functions/unlinkat.texi: Likewise. * doc/posix-functions/utimensat.texi: Likewise. * doc/glibc-functions/bindresvport.texi: Likewise. * doc/glibc-functions/dn_expand.texi: Likewise. * doc/glibc-functions/exp10.texi: Likewise. * doc/glibc-functions/exp10f.texi: Likewise. * doc/glibc-functions/fgetxattr.texi: Likewise. * doc/glibc-functions/flistxattr.texi: Likewise. * doc/glibc-functions/fopencookie.texi: Likewise. * doc/glibc-functions/freeifaddrs.texi: Likewise. * doc/glibc-functions/fremovexattr.texi: Likewise. * doc/glibc-functions/fsetxattr.texi: Likewise. * doc/glibc-functions/getifaddrs.texi: Likewise. * doc/glibc-functions/getxattr.texi: Likewise. * doc/glibc-functions/lgetxattr.texi: Likewise. * doc/glibc-functions/listxattr.texi: Likewise. * doc/glibc-functions/llistxattr.texi: Likewise. * doc/glibc-functions/lremovexattr.texi: Likewise. * doc/glibc-functions/lsetxattr.texi: Likewise. * doc/glibc-functions/pow10.texi: Likewise. * doc/glibc-functions/pow10f.texi: Likewise. * doc/glibc-functions/rcmd_af.texi: Likewise. * doc/glibc-functions/removexattr.texi: Likewise. * doc/glibc-functions/res_init.texi: Likewise. * doc/glibc-functions/res_mkquery.texi: Likewise. * doc/glibc-functions/res_query.texi: Likewise. * doc/glibc-functions/res_querydomain.texi: Likewise. * doc/glibc-functions/res_send.texi: Likewise. * doc/glibc-functions/rresvport_af.texi: Likewise. * doc/glibc-functions/setxattr.texi: Likewise. * doc/glibc-functions/strcasestr.texi: Likewise. 2008-12-15 Bruno Haible Fix compilation error on OSF/1 4.0. * lib/sys_select.in.h: When invoked from OSF/1 or , simply delegate to the system header. Reported by Daniel Richard G. . 2008-12-15 Bruno Haible * doc/posix-functions/openat.texi: Mention the 'openat' module. * doc/posix-functions/fchmodat.texi: Likewise. * doc/posix-functions/fchownat.texi: Likewise. * doc/posix-functions/fdopendir.texi: Likewise. * doc/posix-functions/fstatat.texi: Likewise. * doc/posix-functions/mkdirat.texi: Likewise. * doc/posix-functions/unlinkat.texi: Likewise. 2008-12-14 Bruno Haible Update doc for POSIX:2008. * doc/posix-functions/faccessat.texi: New file. * doc/posix-functions/fchmodat.texi: New file. * doc/posix-functions/fchownat.texi: New file. * doc/posix-functions/fdopendir.texi: New file. * doc/posix-functions/fstatat.texi: New file. * doc/posix-functions/futimens.texi: New file. * doc/posix-functions/linkat.texi: New file. * doc/posix-functions/mkdirat.texi: New file. * doc/posix-functions/mkfifoat.texi: New file. * doc/posix-functions/mknodat.texi: New file. * doc/posix-functions/open_wmemstream.texi: New file. * doc/posix-functions/openat.texi: New file. * doc/posix-functions/psiginfo.texi: New file. * doc/posix-functions/pthread_mutex_consistent.texi: New file. * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file. * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file. * doc/posix-functions/readlinkat.texi: New file. * doc/posix-functions/renameat.texi: New file. * doc/posix-functions/strerror_l.texi: New file. * doc/posix-functions/symlinkat.texi: New file. * doc/posix-functions/unlinkat.texi: New file. * doc/posix-functions/utimensat.texi: New file. * doc/gnulib.texi (Function Substitutes): Add these subsections. 2008-12-14 Bruno Haible Update doc for POSIX:2008. * doc/posix-functions/alphasort.texi: Renamed from doc/glibc-functions/alphasort.texi. * doc/posix-functions/dirfd.texi: Renamed from doc/glibc-functions/dirfd.texi. * doc/posix-functions/dprintf.texi: Renamed from doc/glibc-functions/dprintf.texi. * doc/posix-functions/duplocale.texi: Renamed from doc/glibc-functions/duplocale.texi. * doc/posix-functions/fexecve.texi: Renamed from doc/glibc-functions/fexecve.texi. * doc/posix-functions/fmemopen.texi: Renamed from doc/glibc-functions/fmemopen.texi. * doc/posix-functions/freelocale.texi: Renamed from doc/glibc-functions/freelocale.texi. * doc/posix-functions/getdate_err.texi: Renamed from doc/glibc-functions/getdate_err.texi. * doc/posix-functions/isalnum_l.texi: Renamed from doc/glibc-functions/isalnum_l.texi. * doc/posix-functions/isalpha_l.texi: Renamed from doc/glibc-functions/isalpha_l.texi. * doc/posix-functions/isblank_l.texi: Renamed from doc/glibc-functions/isblank_l.texi. * doc/posix-functions/iscntrl_l.texi: Renamed from doc/glibc-functions/iscntrl_l.texi. * doc/posix-functions/isdigit_l.texi: Renamed from doc/glibc-functions/isdigit_l.texi. * doc/posix-functions/isgraph_l.texi: Renamed from doc/glibc-functions/isgraph_l.texi. * doc/posix-functions/islower_l.texi: Renamed from doc/glibc-functions/islower_l.texi. * doc/posix-functions/isprint_l.texi: Renamed from doc/glibc-functions/isprint_l.texi. * doc/posix-functions/ispunct_l.texi: Renamed from doc/glibc-functions/ispunct_l.texi. * doc/posix-functions/isspace_l.texi: Renamed from doc/glibc-functions/isspace_l.texi. * doc/posix-functions/isupper_l.texi: Renamed from doc/glibc-functions/isupper_l.texi. * doc/posix-functions/iswalnum_l.texi: Renamed from doc/glibc-functions/iswalnum_l.texi. * doc/posix-functions/iswalpha_l.texi: Renamed from doc/glibc-functions/iswalpha_l.texi. * doc/posix-functions/iswblank_l.texi: Renamed from doc/glibc-functions/iswblank_l.texi. * doc/posix-functions/iswcntrl_l.texi: Renamed from doc/glibc-functions/iswcntrl_l.texi. * doc/posix-functions/iswctype_l.texi: Renamed from doc/glibc-functions/iswctype_l.texi. * doc/posix-functions/iswdigit_l.texi: Renamed from doc/glibc-functions/iswdigit_l.texi. * doc/posix-functions/iswgraph_l.texi: Renamed from doc/glibc-functions/iswgraph_l.texi. * doc/posix-functions/iswlower_l.texi: Renamed from doc/glibc-functions/iswlower_l.texi. * doc/posix-functions/iswprint_l.texi: Renamed from doc/glibc-functions/iswprint_l.texi. * doc/posix-functions/iswpunct_l.texi: Renamed from doc/glibc-functions/iswpunct_l.texi. * doc/posix-functions/iswspace_l.texi: Renamed from doc/glibc-functions/iswspace_l.texi. * doc/posix-functions/iswupper_l.texi: Renamed from doc/glibc-functions/iswupper_l.texi. * doc/posix-functions/iswxdigit_l.texi: Renamed from doc/glibc-functions/iswxdigit_l.texi. * doc/posix-functions/isxdigit_l.texi: Renamed from doc/glibc-functions/isxdigit_l.texi. * doc/posix-functions/mbsnrtowcs.texi: Renamed from doc/glibc-functions/mbsnrtowcs.texi. * doc/posix-functions/mkdtemp.texi: Renamed from doc/glibc-functions/mkdtemp.texi. * doc/posix-functions/newlocale.texi: Renamed from doc/glibc-functions/newlocale.texi. * doc/posix-functions/nl_langinfo_l.texi: Renamed from doc/glibc-functions/nl_langinfo_l.texi. * doc/posix-functions/open_memstream.texi: Renamed from doc/glibc-functions/open_memstream.texi. * doc/posix-functions/opterr.texi: Renamed from doc/glibc-functions/opterr.texi. * doc/posix-functions/optind.texi: Renamed from doc/glibc-functions/optind.texi. * doc/posix-functions/optopt.texi: Renamed from doc/glibc-functions/optopt.texi. * doc/posix-functions/psignal.texi: Renamed from doc/glibc-functions/psignal.texi. * doc/posix-functions/scandir.texi: Renamed from doc/glibc-functions/scandir.texi. * doc/posix-functions/sched_get_priority_min.texi: Renamed from doc/glibc-functions/sched_get_priority_min.texi. * doc/posix-functions/signgam.texi: Renamed from doc/glibc-functions/signgam.texi. * doc/posix-functions/stpcpy.texi: Renamed from doc/glibc-functions/stpcpy.texi. * doc/posix-functions/stpncpy.texi: Renamed from doc/glibc-functions/stpncpy.texi. * doc/posix-functions/strcasecmp_l.texi: Renamed from doc/glibc-functions/strcasecmp_l.texi. * doc/posix-functions/strcoll_l.texi: Renamed from doc/glibc-functions/strcoll_l.texi. * doc/posix-functions/strfmon_l.texi: Renamed from doc/glibc-functions/strfmon_l.texi. * doc/posix-functions/strftime_l.texi: Renamed from doc/glibc-functions/strftime_l.texi. * doc/posix-functions/strncasecmp_l.texi: Renamed from doc/glibc-functions/strncasecmp_l.texi. * doc/posix-functions/strndup.texi: Renamed from doc/glibc-functions/strndup.texi. * doc/posix-functions/strnlen.texi: Renamed from doc/glibc-functions/strnlen.texi. * doc/posix-functions/strsignal.texi: Renamed from doc/glibc-functions/strsignal.texi. * doc/posix-functions/strxfrm_l.texi: Renamed from doc/glibc-functions/strxfrm_l.texi. * doc/posix-functions/timer_gettime.texi: Renamed from doc/glibc-functions/timer_gettime.texi. * doc/posix-functions/tolower_l.texi: Renamed from doc/glibc-functions/tolower_l.texi. * doc/posix-functions/toupper_l.texi: Renamed from doc/glibc-functions/toupper_l.texi. * doc/posix-functions/towctrans_l.texi: Renamed from doc/glibc-functions/towctrans_l.texi. * doc/posix-functions/towlower_l.texi: Renamed from doc/glibc-functions/towlower_l.texi. * doc/posix-functions/towupper_l.texi: Renamed from doc/glibc-functions/towupper_l.texi. * doc/posix-functions/uselocale.texi: Renamed from doc/glibc-functions/uselocale.texi. * doc/posix-functions/vdprintf.texi: Renamed from doc/glibc-functions/vdprintf.texi. * doc/posix-functions/wcpcpy.texi: Renamed from doc/glibc-functions/wcpcpy.texi. * doc/posix-functions/wcpncpy.texi: Renamed from doc/glibc-functions/wcpncpy.texi. * doc/posix-functions/wcscasecmp.texi: Renamed from doc/glibc-functions/wcscasecmp.texi. * doc/posix-functions/wcscasecmp_l.texi: Renamed from doc/glibc-functions/wcscasecmp_l.texi. * doc/posix-functions/wcscoll_l.texi: Renamed from doc/glibc-functions/wcscoll_l.texi. * doc/posix-functions/wcsdup.texi: Renamed from doc/glibc-functions/wcsdup.texi. * doc/posix-functions/wcsncasecmp.texi: Renamed from doc/glibc-functions/wcsncasecmp.texi. * doc/posix-functions/wcsncasecmp_l.texi: Renamed from doc/glibc-functions/wcsncasecmp_l.texi. * doc/posix-functions/wcsnlen.texi: Renamed from doc/glibc-functions/wcsnlen.texi. * doc/posix-functions/wcsnrtombs.texi: Renamed from doc/glibc-functions/wcsnrtombs.texi. * doc/posix-functions/wcsxfrm_l.texi: Renamed from doc/glibc-functions/wcsxfrm_l.texi. * doc/posix-functions/wctrans_l.texi: Renamed from doc/glibc-functions/wctrans_l.texi. * doc/posix-functions/wctype_l.texi: Renamed from doc/glibc-functions/wctype_l.texi. * doc/gnulib.texi (Function Substitutes): Add these subsections. (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h, Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h, Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove these subsections. (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h): Remove sections. 2008-12-14 Bruno Haible Update doc for POSIX:2008. * doc/posix-functions/*.texi: Update URL of POSIX specification. 2008-12-14 Bruno Haible Update doc for POSIX:2008. * doc/pastposix-functions/bcmp.texi: Renamed from doc/posix-functions/bcmp.texi. * doc/pastposix-functions/bcopy.texi: Renamed from doc/posix-functions/bcopy.texi. * doc/pastposix-functions/bsd_signal.texi: Renamed from doc/posix-functions/bsd_signal.texi. * doc/pastposix-functions/bzero.texi: Renamed from doc/posix-functions/bzero.texi. * doc/pastposix-functions/ecvt.texi: Renamed from doc/posix-functions/ecvt.texi. * doc/pastposix-functions/fcvt.texi: Renamed from doc/posix-functions/fcvt.texi. * doc/pastposix-functions/ftime.texi: Renamed from doc/posix-functions/ftime.texi. * doc/pastposix-functions/gcvt.texi: Renamed from doc/posix-functions/gcvt.texi. * doc/pastposix-functions/getcontext.texi: Renamed from doc/posix-functions/getcontext.texi. * doc/pastposix-functions/gethostbyaddr.texi: Renamed from doc/posix-functions/gethostbyaddr.texi. * doc/pastposix-functions/gethostbyname.texi: Renamed from doc/posix-functions/gethostbyname.texi. * doc/pastposix-functions/getwd.texi: Renamed from doc/posix-functions/getwd.texi. * doc/pastposix-functions/h_errno.texi: Renamed from doc/posix-functions/h_errno.texi. * doc/pastposix-functions/index.texi: Renamed from doc/posix-functions/index.texi. * doc/pastposix-functions/makecontext.texi: Renamed from doc/posix-functions/makecontext.texi. * doc/pastposix-functions/mktemp.texi: Renamed from doc/posix-functions/mktemp.texi. * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from doc/posix-functions/pthread_attr_getstackaddr.texi. * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from doc/posix-functions/pthread_attr_setstackaddr.texi. * doc/pastposix-functions/rindex.texi: Renamed from doc/posix-functions/rindex.texi. * doc/pastposix-functions/scalb.texi: Renamed from doc/posix-functions/scalb.texi. * doc/pastposix-functions/setcontext.texi: Renamed from doc/posix-functions/setcontext.texi. * doc/pastposix-functions/swapcontext.texi: Renamed from doc/posix-functions/swapcontext.texi. * doc/pastposix-functions/ualarm.texi: Renamed from doc/posix-functions/ualarm.texi. * doc/pastposix-functions/usleep.texi: Renamed from doc/posix-functions/usleep.texi. * doc/pastposix-functions/vfork.texi: Renamed from doc/posix-functions/vfork.texi. * doc/pastposix-functions/wcswcs.texi: Renamed from doc/posix-functions/wcswcs.texi. * doc/gnulib.texi (Legacy Function Substitutes): New chapter. (Function Substitutes): Update. 2008-12-14 Ralf Wildenhues * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by m4/strerror.m4. 2008-12-14 Ralf Wildenhues Bruno Haible * modules/unilbrk/tables (Depends-on): Add unilbrk/base. 2008-12-13 Bruno Haible * modules/strtoull (Depends-on): Remove unistd. 2008-12-11 Ralf Wildenhues * modules/strtoull (Depends-on): Add stdlib. 2008-12-11 Simon Josefsson * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings. 2008-12-10 Jim Meyering gl_ASSERT: don't say assertions are disabled when they're not * m4/assert.m4 (gl_ASSERT): Do not make configure report "checking whether to enable assertions... no", when they are in fact enabled. This is solely a bug in the output of configure. In spite of saying "no", NDEBUG was not defined in that case. Also, as noted by Eric Blake, leave assertions enabled upon --enable-assert=INVALID. 2008-12-10 Bruno Haible Change MODULES.html to refer to POSIX:2008 where possible. * MODULES.html.sh (POSIX2008_URL): New variable. (posix_headers): Remove sys/timeb, ucontext. (posix2001_headers): New variable. (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt, ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno, index, makecontext, mktemp, pthread_attr_getstackaddr, pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext, ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions. (posix2001_functions): New variable. (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001 otherwise. 2008-12-09 Ralf Wildenhues add missing include to parse-duration.c * lib/parse-duration.c: #include "xalloc.h", for xstrdup. * modules/parse-duration (Depends-on): Add xalloc. fix sed script reading maint.mk * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME). (syntax-check-rules): Use it. 2008-12-09 Bruno Haible * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on MacOS X 10.4/PowerPC. Reported by Simon Josefsson. 2008-12-08 Jim Meyering work around mingw's lack of some S_IF definitions * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined. Reported by Simon Josefsson. 2008-12-08 Bruno Haible * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit applied to variables. Needed on MacOS X 10.4/PowerPC. Reported by Simon Josefsson. 2008-12-08 William Pursell (tiny change) and Eric Blake assert: honor --enable-assert * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in order to honor --enable-assert, rather than treating it as a synonym for --disable-assert. 2008-12-08 Jim Meyering * lib/posixtm.c: Remove now-useless declaration of mktime. * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs. 2008-12-07 Bruno Haible * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock, test_once): Mark functions as static. * tests/test-tls.c (test_tls): Likewise. 2008-12-07 Bruno Haible * lib/striconveha.h (uniconv_register_autodetect): Renamed from iconv_register_autodetect. 2008-12-07 Jim Meyering posixtm.c: avoid a warning * lib/posixtm.c (posixtime): Don't initialize tm0. It's no longer needed to placate gcc4's -Wuninitialized, and the attempt to placate would elicit a new warning. unicodeio.c: mark unused parameters * lib/unicodeio.c (exit_failure_callback): Mark unused parameter. (fallback_failure_callback): Likewise. 2008-12-07 Bruno Haible * gnulib-tool (func_create_testdir): When building the tests subdirectory, ignore the modules gnumakefile and maintainer-makefile. Reported by Simon Josefsson. 2008-12-07 Ralf Wildenhues * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos. 2008-12-06 Bruno Haible * lib/c-stack.h (c_stack_action): Clarify possible side effects. Suggested by Eric Blake. 2008-12-06 Bruno Haible Fix a c-stack test failure on MacOS X. * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal handler for SIGBUS as well. * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set, install a signal handler for SIGBUS as well. Reported by Bruce Dugan via Eric Blake. 2008-12-06 Bruno Haible Advocacy documentation. * doc/gnulib-intro.texi (Benefits): New section. * doc/gnulib.texi: Update. 2008-12-06 Bruno Haible Document the 'manywarnings' module. * doc/manywarnings.texi: New file. * doc/gnulib.texi: Include it. 2008-12-05 Eric Blake tests: silence some gcc warnings * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void. * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf type mismatches. 2008-12-03 Ralf Wildenhues Bruno Haible * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer. 2008-11-29 Jim Meyering unicodeio.c: mark unused parameters * lib/unicodeio.c (exit_failure_callback): Mark unused parameter. (fallback_failure_callback): Likewise. fts: fix a thinko * lib/fts.c (s_ifmt_shift_bits): Remove function. Not needed after all. (set_stat_type): Return S_IF*-valued "type" directly. Prompted by James Youngman's spotting a related bug. Confirmed by further testing through find. fts: provide dirent.d_type via FTSENT.fts_statp, when possible * lib/fts.c (D_TYPE): Define. (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define. (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise. (s_ifmt_shift_bits): New function. (set_stat_type): New function. (fts_build): When not calling fts_stat, call set_stat_type to propagate dirent.d_type info to fts_read caller. * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that fts_statp->st_mode type information may be valid. 2008-11-28 Simon Josefsson * lib/sys_time.in.h: Add extern "C" block for C++. Suggested by Brian Dessent . Reported by Sam Steingold . 2008-11-20 Bruno Haible Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next. * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT. * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also INCLUDE_NEXT_AS_FIRST_DIRECTIVE. * modules/math (Makefile.am): Substitute INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT. Reported by Albert Chin . 2008-11-18 Alexandre Duret-Lutz Bruno Haible * lib/stdint.in.h: Define all type macros so that their expansion is a single typedef'ed token. Fixes a compilation failure in Boost which does "using ::int8_t;". 2008-11-18 Simon Josefsson * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and gl_MANYWARN_ALL_GCC. * m4/warnings.m4: Removed gl_WARN_SUPPORTED and gl_WARN_COMPLEMENT. Suggested by Bruno Haible . * modules/manywarnings: New file. * MODULES.html.sh: Mention manywarnings module. 2008-11-18 Bruno Haible * doc/gnulib-tool.texi (Unit tests): New section. 2008-11-18 Simon Josefsson * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with paths like 'lib/po/foo.po'. 2008-11-17 Simon Josefsson * m4/warnings.m4: Improve code. Reported by Ralf Wildenhues and Paolo Bonzini . 2008-11-17 Simon Josefsson * m4/warnings.m4: Use CPPFLAGS to really check whether the parameter works. 2008-11-17 Simon Josefsson * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED. 2008-11-17 Bruce Korb * modules/parse-duration-tests: New file. * tests/test-parse-duration.sh: New file. * tests/test-parse-duration.c: New file. New module 'parse-duration'. * lib/parse-duration.h: New file. * lib/parse-duration.c: New file. * modules/parse-duration: New file. 2008-11-17 Bruno Haible * tests/test-select-out.sh: Comment out the first pipe test. Reported by Simon Josefsson. 2008-11-17 Bruno Haible * modules/getaddrinfo (Depends-on): Add servent, hostent. * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and gl_HOSTENT. 2008-11-17 Bruno Haible * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also -lnetwork and -lnet. Needed for Haiku and BeOS. 2008-11-16 Bruno Haible * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation. 2008-11-16 Bruno Haible Avoid test failure on Haiku. * tests/test-fsync.c: Include . (main): Don't require that fsync (0) fails. 2008-11-15 Bruno Haible New module 'hostent'. * modules/hostent: New file. * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4. 2008-11-15 Bruno Haible New module 'servent'. * modules/servent: New file. * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4. 2008-11-15 Bruno Haible Avoid generating same test program with two different rules. * modules/frexp-nolibm-tests (Makefile.am): Rename test program from test-frexp to test-frexp-nolibm. * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from test-frexpl to test-frexpl-nolibm. 2008-11-15 Bruno Haible * modules/frexpl-tests (Makefile.am): Link test-frexpl with $(FREXPL_LIBM). 2008-11-15 Bruno Haible * lib/netdb.in.h: Activate the definitions also when the system's has 'struct addrinfo'. * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks EAI_OVERFLOW or AI_NUMERICSERV. * doc/posix-headers/netdb.texi: Document the problem. 2008-11-15 Bruno Haible * tests/test-sched.c: Test also the existence of the SCHED_* macros. Make the 'sched' module work on platforms where exists but is incomplete (such as Haiku). * lib/sched.in.h; Include the system's if it exists. (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros. * m4/sched_h.m4 (gl_SCHED_H): Test whether exists and also defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H, HAVE_STRUCT_SCHED_PARAM. * modules/sched (Depends-on): Add include_next. (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM. * doc/posix-headers/sched.texi: Document the issue. 2008-11-13 Jim Meyering test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this test would fail due to the difference in the Report bugs to ... line. The expected address is empty, "<>", while the actual would contain e.g., "". Filter out any address. 2008-11-12 Bruno Haible lstat: don't compile lstat.c on systems lacking lstat * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems which don't have lstat; this is handled by lib/sys_stat.in.h already. Reported by Daniel P. Berrange via Jim Meyering. 2008-11-12 Jim Meyering * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb. 2008-11-12 Simon Josefsson * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here instead. 2008-11-12 Bruno Haible * lib/unicodeio.c: Include unistr.h. (utf8_wctomb): Remove function. (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb. 2008-11-12 Simon Josefsson * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf Wildenhues and Bruno Haible . * modules/warnings (configure.ac): Don't call gl_WARN_INIT. 2008-11-12 Simon Josefsson * doc/warnings.texi: New file, from Bruno Haible . * doc/gnulib.texi: Add section for warnings. 2008-11-11 Bruno Haible * lib/sockets.h: Add a comment. 2008-11-11 Karl Berry * config/srclist.txt (fdl.texi): add, syncing from gnustandards. 2008-11-11 Eric Blake fdl.texi: avoid git symlinks * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi. 2008-11-11 Paolo Bonzini * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string. 2008-11-11 Paolo Bonzini * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS. (gl_WARN_ADD): Substitute $2 if literal. 2008-11-11 Paolo Bonzini * m4/warning.m4: Remove. 2008-11-11 Paolo Bonzini * m4/warnings.m4: Almost complete rewrite. :-) 2008-11-10 Simon Josefsson * modules/warnings: New module. * m4/warnings.m4: New file. * MODULES.html.sh: Mention warnings module. With review improvements from Paolo Bonzini and Ralf Wildenhues . 2008-11-10 Eric Blake fdl.texi: make a symlink to the latest version * doc/standards.texi: Revert today's earlier change. * doc/fdl-1.2.texi: Rename from old fdl.texi... * doc/fdl.texi: ...and replace this with a symlink to the newer fdl-1.3.texi. 2008-11-10 Bruno Haible * tests/test-select-fd.c (main): Accept the result file name as fourth argument. * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument. * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument. 2008-11-10 Bruno Haible * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO, HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO as autoconf-substituted macros. * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1. * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_NETDB_H_DEFAULTS. Set these variables. * modules/netdb (Makefile.am): Substitute these variables. 2008-11-10 Eric Blake standards.texi: include correct file for FDL 1.3 * doc/standards.texi (GNU Free Documentation License): Change include file to pull in FDL 1.3, not 1.2. fdl.texi: revert accidental change to license * doc/fdl.texi: This is FDL 1.2, not 1.3. 2008-11-10 Bruno Haible * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the cross-compiling guesses also when the native compile gives no result. 2008-11-10 Bruno Haible * lib/spawni.c (__spawni): Force variable into the stack. 2008-11-10 Bruno Haible Add support for Haiku. * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on glibc and BeOS, but also on Haiku. * lib/fpurge.c (fpurge): Likewise. * lib/freadable.c (freadable): Likewise. * lib/freadahead.c (freadahead): Likewise. * lib/freading.c (freading): Likewise. * lib/freadptr.c (freadptr): Likewise. * lib/freadseek.c (freadptrinc): Likewise. * lib/fseeko.c (rpl_fseeko): Likewise. * lib/fseterr.c (fseterr): Likewise. * lib/fwritable.c (fwritable): Likewise. * lib/fwriting.c (fwriting): Likewise. Reported by Ingo Weinhold . 2008-11-10 Ingo Weinhold * lib/config.charset: Treat Haiku like BeOS. 2008-11-10 Ingo Weinhold * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS. * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise. 2008-11-08 Bruno Haible * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside AC_CACHE_CHECK. 2008-11-08 Bruno Haible * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h. 2008-11-08 Bruno Haible * tests/test-select-fd.c: New file. * tests/test-select-in.sh: New file. * tests/test-select-out.sh: New file. * tests/test-select-stdin.c: New file. * modules/select-tests (Files): Add the new files. (Depends-on): Add gettimeofday. (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS. Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD. 2008-11-06 Alexander V. Lukyanov Bruno Haible * lib/sys_stat.in.h: Enclose function definitions in extern "C". 2008-10-12 Giuseppe Scrivano * build-aux/pmccabe2html: Added support for C++ source files. 2008-11-05 Ben Pfaff Fix lib/close.c build on Windows. * modules/close (Files): Add lib/w32sock.h. 2008-11-05 Joel E. Denny Accept Bison's NEWS format. * build-aux/announce-gen (print_news_deltas): Tweak $re_prefix. 2008-11-04 Bruno Haible * modules/random_r (Maintainer): Add glibc. 2008-11-04 Simon Josefsson * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested by karl@freefriends.org (Karl Berry). * doc/alloca.texi: Likewise. * doc/c-ctype.texi: Likewise. * doc/c-strcase.texi: Likewise. * doc/c-strcaseeq.texi: Likewise. * doc/c-strcasestr.texi: Likewise. * doc/c-strstr.texi: Likewise. * doc/c-strtod.texi: Likewise. * doc/c-strtold.texi: Likewise. * doc/ctime.texi: Likewise. * doc/error.texi: Likewise. * doc/fdl.texi: Likewise. * doc/gcd.texi: Likewise. * doc/getdate.texi: Likewise. * doc/gnulib-intro.texi: Likewise. * doc/gnulib-tool.texi: Likewise. * doc/gnulib.texi: Likewise. * doc/inet_ntoa.texi: Likewise. * doc/maintain.texi: Likewise. * doc/make-stds.texi: Likewise. * doc/quote.texi: Likewise. * doc/regexprops-generic.texi: Likewise. * doc/standards.texi: Likewise. * doc/verify.texi: Likewise. * doc/visibility.texi: Likewise. * doc/gnulib.texi (GNU Free Documentation License): Include fdl-1.3.texi instead of fdl.texi. 2008-11-04 Simon Josefsson * doc/fdl-1.3.texi: New file, from . * modules/fdl-1.3: Add. * MODULES.html.sh: Add fdl-1.3. 2008-11-03 Bruno Haible Make determination of absolute name of header file work with AIX xlc. * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for preprocessing. * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise. Reported by Gary V. Vaughan . 2008-11-03 Simon Josefsson * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of -fprofile-arcs -ftest-coverage. Suggested by Ludovic Courtès . 2008-11-02 Bruno Haible Mark 'strpbrk' obsolete. * modules/strpbrk (Status, Notice): New sections. * modules/strtok_r (Depends-on): Add strpbrk. 2008-11-02 Bruno Haible Mark 'strdup' obsolete. * modules/strdup (Status, Notice): New sections. * modules/findprog (Depends-on): Add strdup. * modules/getaddrinfo (Depends-on): Likewise. * modules/localename (Depends-on): Likewise. * modules/relocatable-lib (Depends-on): Likewise. * modules/relocatable-lib-lgpl (Depends-on): Likewise. * modules/relocatable-prog (Depends-on): Likewise. * modules/trim (Depends-on): Likewise. * modules/unictype/gen-ctype (Depends-on): Likewise. * modules/unilbrk/gen-lbrk (Depends-on): Likewise. 2008-11-02 Bruno Haible Mark 'strcspn' obsolete. * modules/strcspn (Status, Notice): New sections. 2008-11-02 Bruno Haible Mark 'rmdir' obsolete. * modules/rmdir (Status, Notice): New sections. * modules/clean-temp (Depends-on): Add rmdir. * modules/openat (Depends-on): Likewise. 2008-11-02 Bruno Haible Mark 'raise' obsolete. * modules/raise (Status, Notice): New sections. (Include): Specify . * modules/stdio (Depends-on): Add raise. * modules/write (Depends-on): Likewise. 2008-11-02 Bruno Haible Mark 'memset' obsolete. * modules/memset (Status, Notice): New sections. 2008-11-02 Bruno Haible Mark 'memmove' obsolete. * modules/memmove (Status, Notice): New sections. * modules/argp (Depends-on): Add memmove. * modules/argz (Depends-on): Likewise. * modules/canonicalize (Depends-on): Likewise. * modules/canonicalize-lgpl (Depends-on): Likewise. * modules/fts (Depends-on): Likewise. * modules/getcwd (Depends-on): Likewise. * modules/human (Depends-on): Likewise. * modules/regex (Depends-on): Likewise. * modules/striconveh (Depends-on): Likewise. * modules/trim (Depends-on): Likewise. * modules/unistr/u8-move (Depends-on): Likewise. * modules/unistr/u16-move (Depends-on): Likewise. * modules/unistr/u32-move (Depends-on): Likewise. 2008-11-02 Bruno Haible Mark 'memcpy' obsolete. * modules/memcpy (Status, Notice): New sections. 2008-11-02 Bruno Haible Mark 'memcmp' obsolete. * modules/memcmp (Status, Notice): New sections. * modules/argmatch (Depends-on): Add memchr. * modules/backupfile (Depends-on): Likewise. * modules/c-strcasestr (Depends-on): Likewise. * modules/crypto/des (Depends-on): Likewise. * modules/csharpcomp (Depends-on): Likewise. * modules/fnmatch (Depends-on): Likewise. * modules/git-merge-changelog (Depends-on): Likewise. * modules/isnand (Depends-on): Likewise. * modules/isnand-nolibm (Depends-on): Likewise. * modules/isnanf (Depends-on): Likewise. * modules/isnanf-nolibm (Depends-on): Likewise. * modules/isnanl (Depends-on): Likewise. * modules/isnanl-nolibm (Depends-on): Likewise. * modules/mbchar (Depends-on): Likewise. * modules/memcoll (Depends-on): Likewise. * modules/quotearg (Depends-on): Likewise. * modules/regex (Depends-on): Likewise. * modules/relocatable-prog (Depends-on): Likewise. * modules/same (Depends-on): Likewise. * modules/signbit (Depends-on): Likewise. * modules/strcasestr-simple (Depends-on): Likewise. * modules/unictype/gen-ctype (Depends-on): Likewise. * modules/unilbrk/gen-lbrk (Depends-on): Likewise. * modules/uniname/uniname (Depends-on): Likewise. * modules/unistr/u8-cmp (Depends-on): Likewise. 2008-11-02 Bruno Haible Mark 'memchr' obsolete. * modules/memchr (Status, Notice): New sections. * modules/argp (Depends-on): Add memchr. * modules/base64 (Depends-on): Likewise. * modules/c-strcasestr (Depends-on): Likewise. * modules/chdir-long (Depends-on): Likewise. * modules/fnmatch (Depends-on): Likewise. * modules/getsubopt (Depends-on): Likewise. * modules/git-merge-changelog (Depends-on): Likewise. * modules/glob (Depends-on): Likewise. * modules/strcasestr-simple (Depends-on): Likewise. * modules/strnlen (Depends-on): Likewise. 2008-11-02 Bruno Haible Mark 'atexit' obsolete. * modules/atexit (Status, Notice): New sections. * modules/chdir-long (Depends-on): Add atexit. * modules/wait-process (Depends-on): Likewise. 2008-11-02 Bruno Haible * gnulib-tool: New option --with-obsolete. (func_usage): Document it. (func_modules_transitive_closure): Drop obsolete dependencies if incobsolete is not true. (func_import): Read and save the incobsolete variable to the cache. 2008-11-02 Bruno Haible * modules/TEMPLATE-EXTENDED: New field 'Status'. * gnulib-tool: New option --extract-status. (func_usage): Document it. (sed_extract_prog): Recognize it. (func_get_status): New function. 2008-10-30 Simon Josefsson * modules/sockets (License): Change from LGPL to LGPLv2+. 2008-10-28 Simon Josefsson * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf. 2008-10-28 Simon Josefsson * MODULES.html.sh (Support for systems lacking POSIX:2001): Mention times and sys_times. * modules/sys_times, modules/sys_times-tests: New modules. * modules/times, modules/times-tests: Likewise * m4/sys_times_h.m4: New file. * lib/sys_times.in.h: Likewise * lib/times.c: Likewise. * tests/test-sys_times.c: Likewise. * tests/test-times.c: Likewise. * doc/posix-headers/sys_times.texi: Update. * doc/posix-functions/times.texi: Update. 2008-10-28 Jim Meyering * modules/tempname (Depends-on): Add lstat. * modules/lstat (License): Relicense: LGPL -> LGPLv2+. 2008-10-28 Simon Josefsson * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit. * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead, using idiom used elsewhere in gnulib. 2008-10-27 Jim Meyering * modules/gethostname (License): Relicense: LGPL -> LGPLv2+. 2008-10-27 Simon Josefsson * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in TESTS_ENVIRONMENT, for shell scripts that needs to call built programs. * tests/test-argp-2.sh: Use $EXEEXT when needed. 2008-10-27 Simon Josefsson * lib/sys_stat.in.h (lstat): Fix declaration for mingw. 2008-10-27 Bruno Haible * tests/test-lstat.c: Include . 2008-10-27 Simon Josefsson * modules/lstat-tests: New module. * tests/test-lstat.c: New file. 2008-10-26 Jim Meyering * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter. 2008-10-26 Simon Josefsson Bruno Haible Fix a clash between the type DATADIR on Windows and the macro DATADIR. * modules/configmake (Include): Add a note that the include must come after all system headers. * lib/javaversion.c: Include configmake.h after all other includes. 2008-10-26 Bruno Haible * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of HAVE_STRUCT_RANDOM_DATA to 1. (gl_STDLIB_H): Simplify. 2008-10-26 Simon Josefsson * m4/stdlib_h.m4: Check for struct random_data. Initialize and substitute HAVE_STRUCT_RANDOM_DATA. * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct random_data. * modules/stdlib (Makefile.am): Substitute HAVE_STRUCT_RANDOM_DATA. 2008-10-26 Simon Josefsson * doc/gnulib.texi (@copying): Use GFDLv1.2+. * doc/gnulib-intro.texi (Copyright): Likewise. 2008-10-26 Simon Josefsson * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's findings. 2008-10-25 Ben Pfaff Bruno Haible * lib/unistd.in.h: Include . (socket, connect,accept, bind, getpeername, getsockname, getsockopt, listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select): Provide dummy declarations. (gethostname): Override. * lib/sys_socket.in.h (gethostname): Provide dummy declaration. * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke gl_PREREQ_SYS_H_WINSOCK2. * modules/gethostname (Files): Add m4/sys_socket_h.m4. * doc/posix-functions/gethostname.texi: More details. 2008-10-25 Bruno Haible * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist. * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4. * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from here ... * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here. * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of gl_UNISTD_H_DEFAULTS. 2008-10-25 Eric Blake signbit: avoid spurious compiler failure * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant declarations inside function. 2008-10-24 Simon Josefsson Bruno Haible * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h. * modules/random_r (Depends-on): Add stdint. 2008-10-24 Bruno Haible * modules/intprops (License): Change to LGPLv2+, with approval by Paul Eggert. * modules/strerror (License): Likewise. 2008-10-24 Jim Meyering sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@ * modules/sys_socket (Depends-on) [Depends-on]: Fix typo. 2008-10-24 Eric Blake getgroups: fix compilation when getgroups is available * lib/getgroups.c (includes): Include for getgroups, but with override of getgroups disabled. 2008-10-24 Simon Josefsson * doc/gnulib.texi (Header files): Add note about C++ problems. Explained by Bruno Haible . 2008-10-23 Bruno Haible Define a dummy SA_NODEFER macro on Interix. * lib/signal.in.h (SA_NODEFER): Define fallback. Reported by Aleksey Cheusov via Thomas Klausner and Eric Blake. 2008-10-23 Bruno Haible * modules/freadahead (License): Change to LGPLv2+. Suggested by Simon Josefsson. 2008-10-23 Jim Meyering random_r: new module * modules/random_r: New file. * m4/random_r.m4: New file. * lib/random_r.c: New file, from glibc. * modules/random_r-tests: New file. * tests/test-random_r.c: New file. * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r): Declare. (RAND_MAX): Define. * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R. * modules/stdlib: Substitute them, too. * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it. * doc/glibc-functions/initstate_r.texi: Mention the new module. * doc/glibc-functions/random_r.texi: Likewise. * doc/glibc-functions/setstate_r.texi: Likewise. * doc/glibc-functions/srandom_r.texi: Likewise. * config/srclist.txt: Mention it. 2008-10-23 David Lutterkort * modules/selinux-h: Search for LIB_SELINUX and mark it as a link requirement 2008-10-23 Jim Meyering selinux-h: mark parameters of stub functions as intentionally unused * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_. * lib/se-context.in.h: Likewise. 2008-10-22 Simon Josefsson * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw. 2008-10-22 Simon Josefsson * m4/getgroups.m4: Avoid invoking test with wrong parameters. 2008-10-22 Eric Blake glthread/thread: avoid compiler warning * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]: Add unreachable abort to silence compiler. 2008-10-22 Eric Blake netdb: also supply struct addrinfo for cygwin 1.5.x * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on older cygwin. * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for cygwin. * doc/posix-headers/netdb.texi (netdb.h): Document this. 2008-10-22 Bruno Haible * users.txt: Update entry about pspp. 2008-10-21 Bruno Haible Simplification. * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration. * lib/close.c (_gl_close_fd_maybe_socket): Make static. Simplification. * lib/ioctl.c (ioctl): Don't undefine. * lib/socket.c (socket): Don't undefine. Remove unused module indicator macros. * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define GNULIB_$1 as a C macro. * doc/posix-functions/close.texi: Undo last change. * doc/posix-functions/ioctl.texi: Merge the two paragraphs about Windows platforms. 2008-10-21 Bruno Haible Add gethostname() declaration to . * lib/unistd.in.h (gethostname): New declaration. * lib/gethostname.c: Include . * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME and HAVE_GETHOSTNAME. * modules/gethostname (Depends-on): Add unistd. (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR. (Include): Specify . * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and HAVE_GETHOSTNAME. * tests/test-gethostname.c: Include first. 2008-10-21 Bruno Haible * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl. * modules/select-tests (Depends-on): Likewise. Reported by Simon Josefsson. 2008-10-21 Simon Josefsson * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c. * lib/accept.c: New file, based on winsock.c. * lib/bind.c: New file, based on winsock.c. * lib/connect.c: New file, based on winsock.c. * lib/getpeername.c: New file, based on winsock.c. * lib/getsockname.c: New file, based on winsock.c. * lib/getsockopt.c: New file, based on winsock.c. * lib/ioctl.c: New file, based on winsock.c. * lib/listen.c: New file, based on winsock.c. * lib/recv.c: New file, based on winsock.c. * lib/recvfrom.c: New file, based on winsock.c. * lib/send.c: New file, based on winsock.c. * lib/sendto.c: New file, based on winsock.c. * lib/setsockopt.c: New file, based on winsock.c. * lib/shutdown.c: New file, based on winsock.c. * lib/socket.c: New file, based on winsock.c. * lib/w32sock.h: New file, based on winsock.c. * lib/winsock.c: Remove file. * modules/accept: Likewise. * modules/bind: Likewise. * modules/connect: Likewise. * modules/getpeername: Likewise. * modules/getsockname: Likewise. * modules/getsockopt: Likewise. * modules/ioctl: Likewise. * modules/listen: Likewise. * modules/recv: Likewise. * modules/recvfrom: Likewise. * modules/send: Likewise. * modules/sendto: Likewise. * modules/setsockopt: Likewise. * modules/shutdown: Likewise. * modules/socket: Use socket.c instead of winsock.c. * modules/sys_socket: Remove (unneeded?) dependency on winsock.c. * doc/posix-functions/accept.texi: Doc fix. * doc/posix-functions/bind.texi: Doc fix. * doc/posix-functions/close.texi: Doc fix. * doc/posix-functions/connect.texi: Doc fix. * doc/posix-functions/getpeername.texi: Doc fix. * doc/posix-functions/getsockname.texi: Doc fix. * doc/posix-functions/getsockopt.texi: Doc fix. * doc/posix-functions/ioctl.texi: Doc fix. * doc/posix-functions/listen.texi: Doc fix. * doc/posix-functions/recv.texi: Doc fix. * doc/posix-functions/recvfrom.texi: Doc fix. * doc/posix-functions/send.texi: Doc fix. * doc/posix-functions/sendto.texi: Doc fix. * doc/posix-functions/setsockopt.texi: Doc fix. * doc/posix-functions/shutdown.texi: Doc fix. * doc/posix-functions/socket.texi: Doc fix. 2008-10-20 Bruno Haible Take into account the role of SIGABRT_COMPAT on Windows 2008. * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros. (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it as an alias for SIGABRT. * lib/sigaction.c (SIGABRT_COMPAT): New macro. (sigaction): Map it to SIGABRT. Reported by Ramiro Polla via Eric Blake. 2008-10-20 Bruno Haible * lib/fts.c: Don't include lstat.h. * lib/openat.c: Include instead of lstat.h. Move the lstat() declaration to . * lib/lstat.h: Remove file. * lib/sys_stat.in.h: Add special invocation convention. (lstat): New declaration. * lib/lstat.c (orig_lstat): New function. (rpl_lstat): Use orig_lstat instead of lstat. * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and AC_C_INLINE. Set REPLACE_LSTAT. * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT and REPLACE_LSTAT. * modules/lstat (Files): Remove lib/lstat.h. (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR. (Include): Specify instead of lstat.h. * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and REPLACE_LSTAT. * NEWS: Mention the change. 2008-10-20 Bruno Haible * modules/posix_spawn-tests: New file. * tests/test-posix_spawn3.c: New file. 2008-10-20 Bruno Haible * modules/posix_spawnp-tests (Depends-on): Add sys_wait. * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions. * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise. 2008-10-20 Bruno Haible * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug of posix_spawn on AIX 5.3. 2008-10-20 Bruno Haible * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X. 2008-10-20 Bruno Haible * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead of AC_LANG_PROGRAM. 2008-10-20 Simon Josefsson * lib/netdb.in.h: Don't define GNU specific constants until they are supported or needed. Reported by Bruno Haible . 2008-10-20 Simon Josefsson * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h. 2008-10-20 Simon Josefsson * lib/getaddrinfo.h: Remove file. * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h. * m4/getaddrinfo.m4: Call gl_HEADER_NETDB. Don't check for netdb.h. * lib/netdb.in.h: Add declarations from getaddrinfo.h. * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0. * modules/netdb: Substitute GNULIB_GETADDRINFO. * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h. * tests/test-getaddrinfo.c: Likewise. * lib/gai_strerror.c: Likewise. Also drop HAVE_NETDB_H check. * NEWS: Mention change. 2008-10-19 Bruno Haible * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code. 2008-10-19 Bruno Haible * lib/wait-process.c: Include simply . (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions. * modules/wait-process (Depends-on): Add sys_wait. New module 'sys_wait'. * modules/sys_wait: New file. * lib/sys_wait.in.h: New file, partially copied from lib/wait-process.c. * m4/sys_wait_h.m4: New file. * doc/posix-headers/sys_wait.texi: Mention the new module. 2008-10-19 Bruno Haible * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h. 2008-10-19 Bruno Haible Assume that waitpid() fills an 'int' status, not a 'union wait'. * lib/wait-process.c (WAIT_T): Remove type. (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks. (wait_subprocess): Update. 2008-10-19 Bruno Haible New module 'atoll'. * modules/atoll: New file. * lib/stdlib.in.h (atoll): New declaration. * lib/atoll.c: New file, from glibc with modifications. * m4/atoll.m4: New file. * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL, HAVE_ATOLL. * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL. * doc/posix-functions/atoll.texi: Mention the new module. 2008-10-19 Bruno Haible Add strtoull() declaration to . * lib/stdlib.in.h (strtoull): New declaration. * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS. Set HAVE_STRTOULL. * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL, HAVE_STRTOULL. * modules/strtoull (Depends-on): Add stdlib. (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL, HAVE_STRTOULL. 2008-10-19 Bruno Haible Add strtoll() declaration to . * lib/stdlib.in.h (strtoll): New declaration. * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS. Set HAVE_STRTOLL. * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL, HAVE_STRTOLL. * modules/strtoll (Depends-on): Add stdlib. (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL. 2008-10-19 Bruno Haible * modules/bcopy (Depends-on): Add strings. (Include): Specify . 2008-10-19 Bruno Haible * doc/posix-functions/atexit.texi: Update doc regarding mingw. 2008-10-19 Bruno Haible * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename the parameter from 'errno' to 'errnum'. Fixes a compilation error on mingw. 2008-10-19 Bruno Haible * lib/atanl.c: Don't include isnanl.h. * lib/cosl.c: Likewise. * lib/ldexpl.c: Likewise. * lib/logl.c: Likewise. * lib/sinl.c: Likewise. * lib/sqrtl.c: Likewise. * lib/tanl.c: Likewise. Move the isnanf(), isnand(), isnanl() declarations to . * lib/isnanf.h: Remove file. * lib/isnand.h: Remove file. * lib/isnanl.h: Remove file. * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h, lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted macros. * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set HAVE_ISNANF, don't define it as a C macro. * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set HAVE_ISNAND, don't define it as a C macro. * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set HAVE_ISNANL, don't define it as a C macro. * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and HAVE_ISNAN[FDL]. * modules/isnanf (Files): Remove lib/isnanf.h. (Depends-on): Add math. (configure.ac): Invoke gl_MATH_MODULE_INDICATOR. (Include): Specify instead of isnanf.h. * modules/isnand (Files): Remove lib/isnand.h. (Depends-on): Add math. (configure.ac): Invoke gl_MATH_MODULE_INDICATOR. (Include): Specify instead of isnand.h. * modules/isnanl (Files): Remove lib/isnanl.h. (Depends-on): Add math. (configure.ac): Invoke gl_MATH_MODULE_INDICATOR. (Include): Specify instead of isnanl.h. * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and HAVE_ISNAN[FDL]. * tests/test-isnanf.c: Include instead of isnanf.h. * tests/test-isnand.c: Include instead of isnand.h. * tests/test-isnanl.c: Include instead of isnanl.h. * NEWS: Mention the change. 2008-10-18 Bruno Haible Add getusershell(), setusershell(), endusershell() declarations to . * lib/unistd.in.h (getusershell, setusershell, endusershell): New declarations. * lib/getusershell.c: Include unistd.h. * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set HAVE_GETUSERSHELL. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL and HAVE_GETUSERSHELL. * modules/getusershell (Depends-on): Add unistd, extensions. (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR. (Include): Specify . * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and HAVE_GETUSERSHELL. 2008-10-18 Bruno Haible Add a getloadavg() declaration to . * lib/stdlib.in.h; Include when needed for the getloadavg declaration. (getloadavg): New declaration. * lib/getloadavg.c: Include first. * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG. * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG, HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG. * modules/getloadavg (Depends-on): Add stdlib, extensions. (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. (Include): Specify . * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG, HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG. 2008-10-18 Bruno Haible * lib/dirchownmod.c: Don't include lchmod.h. Move the lchmod() declaration to . * lib/lchmod.h: Remove file. * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING. (lchmod): New declaration, moved here from lib/lchown.h. * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD. * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD and HAVE_LCHMOD. * modules/lchmod (Files): Remove lib/lchmod.h. (Depends-on): Add sys_stat, extensions. (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR. (Include): Specify instead of lchmod.h. * modules/sys_stat (Depends-on): Add link-warning. (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the definition of GL_LINK_WARNING. * NEWS: Mention the change. 2008-10-18 Bruno Haible * lib/fchdir.c: Don't include dirfd.h. * lib/fts.c: Likewise. * lib/getcwd.c: Likewise. * lib/glob.c: Likewise. Move the dirfd() declaration to . * lib/dirfd.h: Remove file. * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING. (dirfd): New declaration. * lib/dirfd.c: Include instead of dirfd.h. * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set HAVE_DECL_DIRFD. * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and HAVE_DECL_DIRFD. * modules/dirfd (Files): Remove lib/dirfd.h. (Depends-on): Add dirent, extensions. (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR. (Include): Specify instead of dirfd.h. * modules/dirent (Depends-on): Add link-warning. (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and definition of GL_LINK_WARNING. * NEWS: Mention the change. 2008-10-18 Bruno Haible Move the euidaccess() declaration to . * lib/euidaccess.h: Remove file. * lib/unistd.in.h (euidaccess): New declaration. * lib/euidaccess.c: Don't include euidaccess.h. * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS. Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS and HAVE_EUIDACCESS. * modules/euidaccess (Files): Remove lib/euidaccess.h. (Depends-on): Add unistd. (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR. (Include): Specify instead of euidaccess.h. * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and HAVE_EUIDACCESS. * NEWS: Mention the change. 2008-10-18 Bruno Haible * lib/xgetdomainname.c: Include instead of getdomainname.h. Move the getdomainname() declaration to . * lib/getdomainname.h: Remove file. * lib/unistd.in.h (getdomainname): New declaration. * lib/getdomainname.c: Include instead of getdomainname.h. * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set HAVE_GETDOMAINNAME. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME. * modules/getdomainname (Files): Remove lib/getdomainname.h. (Depends-on): Add unistd, extensions. (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR. (Includes): Specify instead of getdomainname.h. * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME. * NEWS: Mention the change. 2008-10-18 Bruno Haible * modules/dirent: New file. * m4/dirent_h.m4: New file. * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS. Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly. * modules/fchdir (Files): Remove lib/dirent.in.h. (Depends-on): Add dirent. (Makefile.am): Move rules to modules/dirent. * doc/posix-headers/dirent.texi: Mention the new module. 2008-10-18 Bruno Haible Avoid -Wunused-parameter warnings in public gnulib header files. * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a macro. * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it. 2008-10-18 Bruno Haible * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'. * doc/glibc-functions/error.texi: Mention the module 'error'. * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'. * doc/glibc-functions/getdomainname.texi: Mention the module 'getdomainname'. * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'. * doc/glibc-functions/getpagesize.texi: Mention the module 'getpagesize'. * doc/glibc-functions/getusershell.texi: Mention the module 'getusershell'. * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'. * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'. * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'. * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'. * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'. * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'. * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'. * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'. * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'. * doc/glibc-functions/strndup.texi: Mention the module 'strndup'. * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'. * doc/glibc-functions/strsep.texi: Mention the module 'strsep'. * doc/glibc-functions/timegm.texi: Mention the module 'timegm'. * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'. 2008-10-17 Bruno Haible * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than HP-UX and IRIX, use -0.0L. * tests/test-ceill.c (minus_zero): Likewise. * tests/test-floorl.c (minus_zero): Likewise. * tests/test-frexpl.c (minus_zero): Likewise. * tests/test-isnan.c (minus_zerol): Likewise. * tests/test-isnanl.h (minus_zero): Likewise. * tests/test-ldexpl.c (minus_zero): Likewise. * tests/test-roundl.c (minus_zero): Likewise. * tests/test-signbit.c (minus_zerol): Likewise. * tests/test-snprintf-posix.h (minus_zerol): Likewise. * tests/test-sprintf-posix.h (minus_zerol): Likewise. * tests/test-truncl.c (minus_zero): Likewise. * tests/test-vasnprintf-posix.c (minus_zerol): Likewise. * tests/test-vasprintf-posix.c (minus_zerol): Likewise. Reported by Markus Armbruster via Jim Meyering and by Nelson H. F. Beebe via Eric Blake. 2008-10-17 Bruno Haible Avoid gcc warnings because of #pragma GCC system_header on older gcc. * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so that it gets activated only for gcc >= 3.0. * lib/dirent.in.h: Likewise. * lib/errno.in.h: Likewise. * lib/fcntl.in.h: Likewise. * lib/float.in.h: Likewise. * lib/iconv.in.h: Likewise. * lib/inttypes.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/search.in.h: Likewise. * lib/signal.in.h: Likewise. * lib/spawn.in.h: Likewise. * lib/stdarg.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/sysexits.in.h: Likewise. * lib/time.in.h: Likewise. * lib/unistd.in.h: Likewise. * lib/wchar.in.h: Likewise. * lib/wctype.in.h: Likewise. Reported by Yoann Vandoorselaere . 2008-10-17 Jim Meyering ignore-value: don't depend on inline module * modules/ignore-value (Depends-on): Remove 'inline'. (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here. Suggestion from Bruno Haible. 2008-10-17 Bruno Haible New implementation of condition variables for Win32. * lib/glthread/cond.h (struct gl_waitqueue_link): New type. (gl_linked_waitqueue_t): New type. (gl_cond_t): Use it. * lib/glthread/cond.c (struct gl_waitqueue_element): New type. (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove, gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions. (glthread_cond_init_func, glthread_cond_wait_func, glthread_cond_timedwait_func, glthread_cond_signal_func, glthread_cond_broadcast_func, glthread_cond_destroy_func): Reimplemented on the basis of gl_linked_waitqueue_t. * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from gl_waitqueue_t. (gl_rwlock_t): Update. * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t. 2008-10-17 Simon Josefsson * modules/recvfrom (Depends-on): Add dependency on getpeername. Reported by Yoann Vandoorselaere . 2008-10-17 Jim Meyering ignore-value: new module * modules/ignore-value: New file. * lib/ignore-value.h: New file. * MODULES.html.sh (Compiler warning management): New section, just for this module. More to come. 2008-10-16 Paul Eggert open-safer.c: avoid 'signed and unsigned in conditional...' warning * lib/open-safer.c (open_safer): Use an "if/else" statement in place of the ternary operator. Reported by Reuben Thomas . 2008-10-16 Jim Meyering openat-die.c: avoid 'no previous prototype' warning * lib/openat-die.c: Include "openat.h". Reported by Reuben Thomas . 2008-10-16 Simon Josefsson * m4/netdb_h.m4: Assume that if netdb.h exists, it works. * lib/netdb.in.h: Fix typo. Reported by Bruno Haible * lib/netdb.in.h: Include sys/socket.h for platforms without netdb.h, to get structures like hostent on MinGW. * modules/netdb (Depends-on): Add sys_socket. 2008-10-15 Simon Josefsson * modules/netdb, modules/netdb-tests: New file. * m4/netdb_h.m4: New file. * lib/netdb.in.h: Add, currently just an empty file pending definitions. * tests/test-netdb.c: New file. * doc/posix-headers/netdb.texi: Mention that we replace it if needed. * MODULES.html.sh (Support for systems lacking POSIX:2001): Add netdb. 2008-10-15 Simon Josefsson * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation with code. 2008-10-13 Bruno Haible * lib/glthread/cond.c (glthread_cond_wait_func, glthread_cond_timedwait_func): Add a comment. 2008-10-13 Yoann Vandoorselaere * tests/test-poll.c: Include , for ioctl(). * tests/test-select.c: Likewise, 2008-10-13 Bruno Haible * lib/glthread/cond.c (glthread_cond_wait_func, glthread_cond_timedwait_func): Fix variable name. Reported by Yoann Vandoorselaere . 2008-10-13 Paolo Bonzini fix getaddrinfo emulation for systems with struct sockaddr.sa_len * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect struct sockaddr.sa_len. * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate. 2008-10-13 Simon Josefsson * build-aux/pmccabe2html: Add css and css_url parameters. 2008-10-12 Bruno Haible * tests/test-sameacls.c (main) [AIX]: Clear type argument before calling aclx_get. Reported by Rainer Tammer . 2008-10-12 Bruno Haible Use msvcrt aware primitives for creation/termination of Win32 threads. * lib/glthread/thread.c: Include . (glthread_create_func): Use _beginthreadex instead of CreateThread. (wrapper_func): Update signature. (gl_thread_exit_func): Use _endthreadex instead of EndThread. 2008-10-11 Yoann Vandoorselaere Bruno Haible Provide a Win32 implementation of the 'cond' module. * lib/glthread/cond.h [USE_WIN32]: New implementation. * lib/glthread/cond.c (glthread_cond_init_func, glthread_cond_wait_func, glthread_cond_timedwait_func, glthread_cond_signal_func, glthread_cond_broadcast_func, glthread_cond_destroy_func) [USE_WIN32]: New functions. * modules/cond (Dependencies): Add gettimeofday. 2008-10-11 Bruno Haible Make sleep work on older versions of mingw. * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not only whether it exists. * doc/posix-functions/sleep.texi: Mention the problem with older versions of mingw. 2008-10-11 Bruno Haible New module 'shutdown'. * modules/shutdown: New file. * lib/sys_socket.in.h (shutdown): New declaration. * lib/winsock.c (shutdown): New function. * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize GNULIB_SHUTDOWN. * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN. * doc/posix-functions/shutdown.texi: Document the new module. 2008-10-11 Jim Meyering * lib/fclose.c: Fix typo in comment: s/close/fclose/. 2008-10-11 Bruno Haible New module 'fclose'. * modules/fclose: New file. * lib/stdio.in.h (fclose): New declaration. * lib/fclose.c: New file. * m4/fclose.m4: New file. * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE, REPLACE_FCLOSE. * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE. * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE, REPLACE_FCLOSE. * modules/close (Depends-on): fclose. * doc/posix-functions/fclose.texi: Mention the problem on Windows. 2008-10-11 Bruno Haible * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails, set errno and don't call _close. 2008-10-10 Bruno Haible * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the ACL, not afterwards. Fixes test failure on Cygwin. 2008-10-09 Ben Pfaff * build-aux/announce-gen: Fix gnulib version related part of usage message. Die with a useful error message if no tarballs are found. 2008-10-10 Jim Meyering bootstrap: use git's --depth=N option only if it's supported * build-aux/bootstrap: Work with git-1.4.4.4, which does not recognize the --depth option. Reported by Pádraig Brady. 2008-10-09 Bruno Haible New module 'ioctl'. * modules/ioctl: New file. * lib/sys_socket.in.h (ioctl): Remove declaration. * lib/winsock.c: Include . (rpl_ioctl): Define only of the gnulib module 'ioctl' is present. * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H. * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4. * doc/posix-functions/ioctl.texi: Mention the new module. 2008-10-09 Bruno Haible New module 'sys_ioctl'. * lib/sys_ioctl.in.h: New file. * m4/sys_ioctl_h.m4: New file. * modules/sys_ioctl: New file. * doc/glibc-headers/sys_ioctl.texi: Mention the new module. 2008-10-09 Bruno Haible * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant. * lib/winsock.c: Include . (rpl_ioctl): Change to second argument 'int' and then varargs. 2008-10-09 Bruno Haible * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function when the sys_socket module is present and the system has . 2008-10-09 Bruno Haible * doc/posix-functions/close.texi: Mention module 'close' instead of module 'sys_socket'. 2008-10-09 Bruno Haible * doc/glibc-headers/sys_ioctl.texi: New file. * doc/gnulib.texi: Include it. 2008-10-09 Paolo Bonzini Bruno Haible Combine the two replacements of 'close'. * lib/sys_socket.in.h (close): Define to a reminder to include . (_gl_close_fd_maybe_socket): New declaration. (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro. * lib/winsock.c (close): Remove undefinition. (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when needed for the gnulib module 'close'. * lib/unistd.in.h (close): If the gnulib module 'close' is not used, define to an error symbol or to a warning, if suitable. * lib/close.c: Include . (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it. * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also UNISTD_H_HAVE_WINSOCK2_H. (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize UNISTD_H_HAVE_WINSOCK2_H. * modules/sys_socket (Files): Add m4/unistd_h.m4. (configure.ac): Set a module indicator. (Makefile.am): Substitute GNULIB_CLOSE. * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H. * modules/poll-tests (Depends-on): Add close. * modules/select-tests (Depends-on): Likewise. 2008-10-09 Paolo Bonzini Bruno Haible New module 'close'. * modules/close: New file. * lib/unistd.in.h (close): Move declaration out of the FCHDIR_REPLACEMENT scope. (_gl_unregister_fd): New declaration. * lib/close.c: New file. * lib/fchdir.c (rpl_close): Remove function. * m4/close.m4: New file. * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace close. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and REPLACE_CLOSE. * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and REPLACE_CLOSE. * modules/fchdir (Depends-on): Add close. 2008-10-09 Paolo Bonzini Bruno Haible * lib/fcntl.in.h (open): Simplify conditionals. (_gl_register_fd): New declaration. * lib/fchdir.c (rpl_open): Remove function. * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file also. (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd. * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace open. 2008-10-09 Jim Meyering GNUmakefile: use the more name-space-friendly "_version" * top/GNUmakefile (_dummy): Update. (_version): Rename from "version". 2008-10-09 Paolo Bonzini Bruno Haible * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from rpl_close. (_gl_register_fd): New function, extracted from rpl_open. (rpl_close, rpl_closedir): Use _gl_unregister_fd. (rpl_open, rpl_opendir): Use _gl_register_fd. 2008-10-09 Paolo Bonzini Fix organization of 'open' replacement. * m4/open.m4 (gl_REPLACE_OPEN): New macro. (gl_FUNC_OPEN): Use it. (gl_PREREQ_OPEN): Add a : to make the body non-empty. 2008-10-08 Bruno Haible * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL. 2008-10-08 Simon Josefsson * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock). The file is AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket, listen). 2008-10-08 Eric Blake GNUmakefile: add 'make version' target * top/GNUmakefile (_curr-ver): Split version update rules... (version): ...into a target. 2008-10-07 Bruno Haible Use a more portable replacement expression for -0.0L. * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN instead of -0.0L. Fix m4 quotation. * tests/test-signbit.c: Include . (minus_zero): New variable. (test_signbitl): Use minus_zero instead of -zero. * modules/signbit-tests (Depends-on): Add float. * tests/test-ceill.c: Include . (zero): Remove variable. (minus_zero): New variable. (main): Use minus_zero instead of -zero. * modules/ceill-tests (Depends-on): Add float. * tests/test-floorl.c: Include . (zero): Remove variable. (minus_zero): New variable. (main): Use minus_zero instead of -zero. * modules/floorl-tests (Depends-on): Add float. * tests/test-roundl.c: Include . (zero): Remove variable. (minus_zero): New variable. (main): Use minus_zero instead of -zero. * modules/roundl-tests (Depends-on): Add float. * tests/test-truncl.c: Include . (zero): Remove variable. (minus_zero): New variable. (main): Use minus_zero instead of -zero. * modules/truncl-tests (Depends-on): Add float. * tests/test-frexpl.c (zero): Remove variable. (minus_zero): New variable. (main): Use minus_zero instead of -zero. * modules/frexpl-tests (Depends-on): Add float. * tests/test-isnan.c (zerol): Remove variable. (minus_zerol): New variable. (test_long_double): Use minus_zerol instead of -zerol. * modules/isnan-tests (Depends-on): Add float. * tests/test-isnanl.h (zero): Remove variable. (minus_zero): New variable. (main): Use minus_zero instead of -zero. * modules/isnanl-nolibm-tests (Depends-on): Add float. * modules/isnanl-tests (Depends-on): Add float. * tests/test-ldexpl.c (zero): Remove variable. (minus_zero): New variable. (main): Use minus_zero instead of -zero. * modules/ldexpl-tests (Depends-on): Add float. * tests/test-snprintf-posix.h (zerol): Remove variable. (minus_zerol): New variable. (test_function): Use minus_zerol instead of -zerol. * modules/snprintf-posix-tests (Depends-on): Add float. * modules/vsnprintf-posix-tests (Depends-on): Add float. * tests/test-sprintf-posix.h (zerol): Remove variable. (minus_zerol): New variable. (test_function): Use minus_zerol instead of -zerol. * modules/sprintf-posix-tests (Depends-on): Add float. * modules/vsprintf-posix-tests (Depends-on): Add float. * tests/test-vasnprintf-posix.c (zerol): Remove variable. (minus_zerol): New variable. (test_function): Use minus_zerol instead of -zerol. * modules/vasnprintf-posix-tests (Depends-on): Add float. * tests/test-vasprintf-posix.c (zerol): Remove variable. (minus_zerol): New variable. (test_function): Use minus_zerol instead of -zerol. * modules/vasprintf-posix-tests (Depends-on): Add float. 2008-10-07 Simon Josefsson * MODULES.html.sh (Support for building documentation): Mention pmccabe2html. Sort entries. Add pmccabe2html module, from gnupdf. * build-aux/pmccabe.css: New file. * build-aux/pmccabe2html: New file. * m4/pmccabe2html.m4: New file. * modules/pmccabe2html: New file. 2008-10-07 Richard W.M. Jones flock: new module * MODULES.html.sh: Add to list of modules. * lib/flock.c: flock implementation for Windows and Unix systems which have fcntl. * doc/glibc-functions/flock.texi: Update documentation. * lib/sys_file.in.h: header file. * m4/flock.m4: M4 macros. * m4/sys_file_h.m4: M4 macros for replacement sys/file.h. * modules/flock: flock module. * modules/flock-tests: flock tests module. * modules/sys_file: sys/file.h module. * tests/test-flock.c: test suite for flock. 2008-10-06 Jim Meyering bootstrap: check for LT_INIT more portably still ;-) * build-aux/bootstrap: Don't rely on \>, since it's not portable. Spotted by Bruno Haible. 2008-10-06 Eric Blake test-signbit: avoid tripping Irix cc bug on -0.0L * tests/test-signbit.c (minus_zerol): Delete, and replace with '-zerol'. This may break on HP-UX/hppa, but at least makes the entire testsuite consistent and avoids an Irix 6.2 bug. 2008-10-05 Bruno Haible Jim Meyering Add an option for ignoring EPIPE during close_stdout. * lib/closeout.h: Include . (close_stdout_set_ignore_EPIPE): New declaration. * lib/closeout.c: Include . (ignore_EPIPE): New variable. (close_stdout_set_ignore_EPIPE): New function. (close_stdout): Ignore EPIPE error if ignore_EPIPE is set. * lib/close-stream.c (close_stream): Mention the possible EPIPE failure. * modules/closeout (Depends-on): Add stdbool. 2008-10-05 Bruno Haible * modules/accept: New file. * modules/bind: New file. * modules/connect: New file. * modules/getpeername: New file. * modules/getsockname: New file. * modules/getsockopt: New file. * modules/listen: New file. * modules/recv: New file. * modules/recvfrom: New file. * modules/send: New file. * modules/sendto: New file. * modules/setsockopt: New file. * modules/socket: New file. * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition. (socket, connect, accept, bind, getpeername, getsockname, getsockopt, listen, recv, send, recvfrom, sendto, setsockopt): Declare only when the particular module is requested. Add a link warning when the particular module is not requested. * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind, rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when the particular module is requested. * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR, gl_SYS_SOCKET_H_DEFAULTS): New macros. (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS. * modules/sys_socket (Depends-on): Add link-warning. (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT, GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT, GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM, GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of GL_LINK_WARNING. * doc/posix-functions/accept.texi: Mention the new module 'accept'. * doc/posix-functions/bind.texi: Mention the new module 'bind'. * doc/posix-functions/connect.texi: Mention the new module 'connect'. * doc/posix-functions/getpeername.texi: Mention the new module 'getpeername'. * doc/posix-functions/getsockname.texi: Mention the new module 'getsockname'. * doc/posix-functions/getsockopt.texi: Mention the new module 'getsockopt'. * doc/posix-functions/listen.texi: Mention the new module 'listen'. * doc/posix-functions/recv.texi: Mention the new module 'recv'. * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'. * doc/posix-functions/send.texi: Mention the new module 'send'. * doc/posix-functions/sendto.texi: Mention the new module 'sendto'. * doc/posix-functions/setsockopt.texi: Mention the new module 'setsockopt'. * doc/posix-functions/socket.texi: Mention the new module 'socket'. * modules/poll-tests (Depends-on): Add socket, bind, getsockopt, listen, connect, accept. * modules/select-tests (Depends-on): Likewise. 2008-10-05 Bruno Haible * lib/winsock.c (strerror): Remove unused #undef. (rpl_close): Remove unused local variable. * modules/sys_socket (Depends-on); Add errno. 2008-10-05 Bruno Haible * lib/sys_select.in.h: Include the GL_LINK_WARNING definition. (select): Add a link warning when the 'select' module is not used. * modules/sys_select (Depends-on): Add link-warning. (Makefile.am): Substitute the definition of GL_LINK_WARNING. Suggested by Paolo Bonzini. 2008-10-05 Jim Meyering bootstrap: check for LT_INIT more portably * build-aux/bootstrap: Avoid using grep -E, since it's not portable enough. Suggestion from Bruno Haible. 2008-10-05 Bruno Haible * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem as being fixed by gnulib. 2008-10-05 Bruno Haible * modules/select-tests: New file, mostly copied from modules/sys_select-tests. * tests/test-select.c: New file, mostly copied from tests/test-sys_select.c. * tests/test-sys_select.c: Move most of the code to tests/test-select.c. * modules/sys_select-tests (Depends-on): Remove all dependencies. (Makefile.am): Remove test_sys_select_LDADD. * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it to an undefined symbol, for an error message. * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro. (gl_SYS_SELECT_H_DEFAULTS): New macro. (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of winsock-select.c here. * modules/sys_select (Files): Remove lib/winsock-select.c. (Depends-on): Remove alloca. (Makefile.am): Substitute GNULIB_SELECT. * modules/select: New file. * doc/posix-functions/select.texi: Update. 2008-10-05 Bruno Haible * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always. * lib/spawn_faction_adddup2.c (__sysconf): Likewise. * lib/spawn_faction_addopen.c (__sysconf): Likewise. * modules/posix_spawn_file_actions_addclose (Depends-on): Add getdtablesize. * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise. * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise. 2008-10-05 Bruno Haible * modules/getdtablesize-tests: New file. * tests/test-getdtablesize.c: New file. New module 'getdtablesize'. * lib/unistd.in.h (getdtablesize): New declaration. * lib/getdtablesize.c: New file. * m4/getdtablesize.m4: New file. * modules/getdtablesize: New file. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE. * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE. * doc/glibc-functions/getdtablesize.texi: Mention the new module. 2008-10-05 Bruno Haible * modules/sched (Makefile.am): Fix typo. Reported by Simon Josefsson. 2008-10-05 Jim Meyering bootstrap: check for LT_INIT, too * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL are deprecated. Suggestion from Ralf Wildenhues. 2008-10-05 Bruno Haible * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than overriding them by ours. (POSIX_SPAWN_USEVFORK): Use the next free bit position. 2008-10-05 Jim Meyering bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the obsolete AM_PROG_LIBTOOL. Spotted by Debarshi Ray . 2008-10-04 Bruno Haible * modules/dup2 (License): Change to LGPLv2+. * modules/sleep (License): Likewise. * modules/perror (License): Likewise. * modules/fopen (License): Change to LGPLv2+, with approval by Eric Blake. * modules/signal (License): Likewise. * modules/sigprocmask (License): Likewise. * modules/raise (License): Change to LGPLv2+, with approval by Jim Meyering. 2008-10-04 Bruno Haible * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining. Reported by Rainer Tammer . 2008-10-03 Paolo Bonzini Bruno Haible * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN. * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK. * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK. 2008-10-03 Kamil Dudka filevercmp: new module * lib/filevercmp.h: New function filevercmp comparing version strings. * lib/filevercmp.c: Implementation of filevercmp function. * modules/filevercmp: Module metadata. * tests/test-filevercmp.c: Unit test for new module. * modules/filevercmp-tests: Unit test metadata. * MODULES.html.sh: Add filevercmp module. 2008-10-03 Bruno Haible * lib/c-ctype.h: Add comment. Reported by Jim Meyering. 2008-10-02 Bruno Haible * modules/posix_spawn-internal (Depends-on): Add 'open'. 2008-10-02 Paolo Bonzini * build-aux/bootstrap: Allow renaming bootstrap, and change the name of bootstrap.conf accordingly. 2008-10-02 Paolo Bonzini * build-aux/bootstrap: Install git-merge-changelog configuration items into .gitconfig if needed. 2008-10-02 Paolo Bonzini * build-aux/bootstrap: Recognize `gnulib' being a submodule in a git repository, and initialize/update it accordingly. 2008-10-02 Richard W.M. Jones * modules/fsync-tests: New file. * tests/test-fsync.c: New file. New module 'fsync'. * lib/fsync.c: New file. * m4/fsync.m4: New file. * modules/fsync: New file. * lib/unistd.in.h (fsync): New declaration. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both GNULIB_FSYNC and HAVE_FSYNC. * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC. * MODULES.html.sh (posix_functions): Add fsync. * doc/posix-functions/fsync.texi: Mention the new module. 2008-10-02 Jim Meyering fts.c: sync with similar code from coreutils' remove.c * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils. Guard also with "#if defined __linux__", since for now at least, this code is Linux-kernel-specific. 2008-10-02 Jim Meyering fts: bug fixes * lib/fts.c: Remove unnecessary "defined" in cpp directive. Include , not . * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/. Include , not . 2008-10-01 Bruno Haible Avoid the broken posix_spawn function on AIX 5.3 and 6.1. * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro. (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed. * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs. * doc/posix-functions/posix_spawnp.texi: Likewise. * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check whether posix_spawn actually works. * m4/pipe.m4 (gl_PIPE): Likewise. * modules/execute (Files): Add m4/posix_spawn.m4. * modules/pipe (Files): Add m4/posix_spawn.m4. Reported and analyzed by Rainer Tammer . 2008-10-01 Jim Meyering remove trailing spaces * NEWS: Likewise. * lib/poll.c (poll): Likewise. * lib/sys_socket.in.h (SHUT_RDWR): Likewise. * lib/winsock.c (rpl_close): Likewise. * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise. * modules/yield: Likewise. * tests/test-poll.c (connect_to_socket, poll1): Likewise. * tests/test-sys_select.c (connect_to_socket): Likewise. fts.c: adjust a new interface to be more generally useful * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter. (fts_build): Adjust caller. 2008-09-30 Yoann Vandoorselaere * modules/cond-tests: New file. * tests/test-cond.c: New file. 2008-09-30 Yoann Vandoorselaere Bruno Haible * modules/cond (Dependencies): Add errno, time. * lib/glthread/cond.h: Include . (gl_cond_define, gl_cond_define_initialized): Use the same definition across platforms. 2008-09-30 Yoann Vandoorselaere Bruno Haible * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function. 2008-09-30 Yoann Vandoorselaere Bruno Haible * modules/tls-tests (Depends-on): Add thread, yield. (configure.ac): Remove all checks. (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED. * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield, gl_thread_self): Remove definitions. Include glthread/thread.h and glthread/yield.h instead. (test_tls): Pass an additional NULL argument to gl_thread_join. 2008-09-30 Yoann Vandoorselaere Bruno Haible * modules/lock-tests (Depends-on): Add thread, yield. (configure.ac): Remove all checks. (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED. * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield, gl_thread_self): Remove definitions. Include glthread/thread.h and glthread/yield.h instead. (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an additional NULL argument to gl_thread_join. 2008-09-30 Bruno Haible Fix the Win32 implementation of the 'thread' module. * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a pointer type. (gl_thread_self): Invoke gl_thread_self_func. (gl_thread_self_func): New declaration. * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable. (do_init_self_key, init_self_key): New functions. (struct gl_thread_struct): Renamed from 'struct thread_extra'. Remove some fields. (running_threads, running_lock): Remove variables. (get_current_thread_handle): New function. (gl_thread_self_func, wrapper_func, glthread_create_func, glthread_join_func, gl_thread_exit_func): Largely rewritten and simplified. 2008-09-30 Bruno Haible * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular files. 2008-09-30 Jim Meyering fts.m4: correct the test for statfs.f_type * m4/fts.m4 (gl_FUNC_FTS_CORE): Include when checking for statfs.f_type. 2008-09-15 Simon Josefsson tests: avoid some compiler warnings * tests/test-memchr.c (main): Pass NULL indirectly. * tests/test-getdate.c (main): Remove unused variable 'ret'. 2008-09-29 Ondřej Vašík getdate.y: disallow countable dayshifts like "4 yesterday ago" * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for exactly specified dayshifts. (dayshift): New rule. (rel): Add dayshift. (relative_time_table) [tomorrow, yesterday, today, now]: Use tDAY_SHIFT in place of tDAY_UNIT. * tests/test-getdate.c: Add tests for now-disallowed countable dayshifts, e.g., "4 yesterday ago". 2008-09-29 Bruno Haible * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c. * tests/test-posix_spawn1.in.sh: Renamed from tests/test-posix_spawn.in.sh. * tests/test-posix_spawn2.c: New file. * tests/test-posix_spawn2.in.sh: New file. * modules/posix_spawnp-tests (Files): Update. (Makefile.am): Update. Add test-posix_spawn2 to the tests. 2008-09-29 Bruno Haible Propagate effects of putenv/setenv/unsetenv to child processes. * lib/execute.c (execute): Use spawnvpe instead of spawnvp. * lib/pipe.c (create_pipe): Likewise. 2008-09-29 Bruno Haible Enable use of shell scripts as executables in mingw. * lib/execute.c (execute): When spawnv fails with error ENOEXEC, run the program as a shell script. * lib/pipe.c (create_pipe): Likewise. * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the resulting array. 2008-09-29 Eric Blake * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo. 2008-08-24 Paolo Bonzini * doc/posix-functions/accept.texi: Update mingw problems. * doc/posix-functions/bind.texi: Update mingw problems. * doc/posix-functions/close.texi: Update mingw problems. * doc/posix-functions/connect.texi: Update mingw problems. * doc/posix-functions/getpeername.texi: Update mingw problems. * doc/posix-functions/getsockname.texi: Update mingw problems. * doc/posix-functions/getsockopt.texi: Update mingw problems. * doc/posix-functions/ioctl.texi: Update mingw problems. * doc/posix-functions/listen.texi: Update mingw problems. * doc/posix-functions/recv.texi: Update mingw problems. * doc/posix-functions/recvfrom.texi: Update mingw problems. * doc/posix-functions/select.texi: Update mingw problems. * doc/posix-functions/send.texi: Update mingw problems. * doc/posix-functions/sendto.texi: Update mingw problems. * doc/posix-functions/setsockopt.texi: Update mingw problems. * doc/posix-functions/socket.texi: Update mingw problems. 2008-09-29 Paolo Bonzini Bruno Haible * lib/sys_select.in.h: Include sys/time.h. * m4/sys_select.h.m4: Test that struct timeval is fully defined. * modules/sys_select: Depend on sys_time. * tests/test-sys_select.c: Test that sys/select.h defines struct timeval fully. 2008-09-29 Bruno Haible * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'. * lib/sys_select.in.h: Likewise. 2008-09-29 Bruno Haible * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables. 2008-09-29 Bruno Haible * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket. Set LIBSOCKET instead of augmenting LIBS. * modules/sockets (Link): New section. * modules/sockets-tests (test_sockets_LDADD): New variable. * modules/sys_select-tests (test_sys_select_LDADD): New variable. * modules/poll-tests (test_poll_LDADD): New variable. * NEWS: Document the change. 2008-09-29 Bruno Haible * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro. * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning ARPA_INET_H directly. * m4/inet_pton.m4 (gl_INET_PTON): Likewise. 2008-09-28 Bruno Haible * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted from gl_HEADER_SYS_SOCKET. (gl_HEADER_SYS_SOCKET): Invoke it. * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise. 2008-09-28 Bruno Haible * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem. * tests/test-sys_select.c: Include , for struct timeval. Needed on OSF/1 4.0. 2008-09-28 Bruno Haible Override open more carefully. * lib/open.c (orig_open): New function. (rpl_open): Use orig_open instead of open. * lib/fcntl.in.h: Add special invocation convention. * m4/open.m4 (gl_PREREQ_OPEN): New macro. (gl_FUNC_OPEN): Invoke it. Override freopen more carefully. * lib/freopen.c (orig_freopen): New function. (rpl_freopen): Use orig_freopen instead of freopen. * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro. (gl_FUNC_FREOPEN): Invoke it. Override fopen more carefully. * lib/fopen.c (orig_fopen): New function. (rpl_fopen): Use orig_fopen instead of fopen. * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro. (gl_FUNC_FOPEN): Invoke it. Needed on AIX. Reported by Rainer Tammer . 2008-09-28 Bruno Haible * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about SIGPIPE. 2008-09-28 Bruno Haible * tests/test-sigaction.c (handler, main): Disable the check whether SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on glibc systems with LinuxThreads. 2008-09-28 Bruno Haible * doc/posix-functions/freopen.texi: Mention the trailing slash problem. * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed with AIX xlc. * lib/fcntl.in.h (open): Likewise. Reported by Rainer Tammer . 2008-09-28 Bruno Haible * modules/posix_spawnp-tests: New file. * tests/test-posix_spawn.c: New file. * tests/test-posix_spawn.in.sh: New file. New module 'posix_spawnp'. * modules/posix_spawnp: New file. * lib/spawnp.c: New file, from GNU libc with modifications. * doc/posix-functions/posix_spawnp.texi: Mention the new module. New module 'posix_spawn'. * modules/posix_spawn: New file. * lib/spawn.c: New file, from GNU libc with modifications. * doc/posix-functions/posix_spawn.texi: Mention the new module. New module 'posix_spawnattr_destroy'. * modules/posix_spawnattr_destroy: New file. * lib/spawnattr_destroy.c: New file, from GNU libc with modifications. * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new module. New module 'posix_spawnattr_setsigmask'. * modules/posix_spawnattr_setsigmask: New file. * lib/spawnattr_setsigmask.c: New file, from GNU libc with modifications. * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the new module. New module 'posix_spawnattr_getsigmask'. * modules/posix_spawnattr_getsigmask: New file. * lib/spawnattr_getsigmask.c: New file, from GNU libc with modifications. * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the new module. New module 'posix_spawnattr_setsigdefault'. * modules/posix_spawnattr_setsigdefault: New file. * lib/spawnattr_setdefault.c: New file, from GNU libc with modifications. * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the new module. New module 'posix_spawnattr_getsigdefault'. * modules/posix_spawnattr_getsigdefault: New file. * lib/spawnattr_getdefault.c: New file, from GNU libc with modifications. * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the new module. New module 'posix_spawnattr_setschedpolicy'. * modules/posix_spawnattr_setschedpolicy: New file. * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with modifications. * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the new module. New module 'posix_spawnattr_getschedpolicy'. * modules/posix_spawnattr_getschedpolicy: New file. * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with modifications. * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the new module. New module 'posix_spawnattr_setschedparam'. * modules/posix_spawnattr_setschedparam: New file. * lib/spawnattr_setschedparam.c: New file, from GNU libc with modifications. * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the new module. New module 'posix_spawnattr_getschedparam'. * modules/posix_spawnattr_getschedparam: New file. * lib/spawnattr_getschedparam.c: New file, from GNU libc with modifications. * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the new module. New module 'posix_spawnattr_setpgroup'. * modules/posix_spawnattr_setpgroup: New file. * lib/spawnattr_setpgroup.c: New file, from GNU libc with modifications. * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new module. New module 'posix_spawnattr_getpgroup'. * modules/posix_spawnattr_getpgroup: New file. * lib/spawnattr_getpgroup.c: New file, from GNU libc with modifications. * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new module. New module 'posix_spawnattr_setflags'. * modules/posix_spawnattr_setflags: New file. * lib/spawnattr_setflags.c: New file, from GNU libc with modifications. * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new module. New module 'posix_spawnattr_getflags'. * modules/posix_spawnattr_getflags: New file. * lib/spawnattr_getflags.c: New file, from GNU libc with modifications. * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new module. New module 'posix_spawnattr_init'. * modules/posix_spawnattr_init: New file. * lib/spawnattr_init.c: New file, from GNU libc with modifications. * doc/posix-functions/posix_spawnattr_init.texi: Mention the new module. New module 'posix_spawn_file_actions_destroy'. * modules/posix_spawn_file_actions_destroy: New file. * lib/spawn_faction_destroy.c: New file, from GNU libc with modifications. * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention the new module. New module 'posix_spawn_file_actions_addopen'. * modules/posix_spawn_file_actions_addopen: New file. * lib/spawn_faction_addopen.c: New file, from GNU libc with modifications. * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention the new module. New module 'posix_spawn_file_actions_adddup2'. * modules/posix_spawn_file_actions_adddup2: New file. * lib/spawn_faction_adddup2.c: New file, from GNU libc with modifications. * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention the new module. New module 'posix_spawn_file_actions_addclose'. * modules/posix_spawn_file_actions_addclose: New file. * lib/spawn_faction_addclose.c: New file, from GNU libc with modifications. * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention the new module. New module 'posix_spawn_file_actions_init'. * modules/posix_spawn_file_actions_init: New file. * lib/spawn_faction_init.c: New file, from GNU libc with modifications. * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the new module. New module 'posix_spawn-internal'. * modules/posix_spawn-internal: New file. * lib/spawn_int.h: New file, from GNU libc with modifications. * lib/spawni.c: New file, from GNU libc with modifications. * m4/posix_spawn.m4: New file. New module 'spawn'. * modules/spawn: New file. * lib/spawn.in.h: New file, from GNU libc with modifications. * m4/spawn_h.m4: New file. * doc/posix-headers/spawn.texi: Mention the new module. 2008-09-28 Bruno Haible * modules/sched-tests: New file. * tests/test-sched.c: New file. New module 'sched'. * modules/sched: New file. * lib/sched.in.h: New file. * m4/sched_h.m4: New file. * doc/posix-headers/sched.texi: Mention the new module. 2008-09-27 Eric Blake Fix previous patch, and tweak references to $0. * posix-modules: Call func_gnulib_dir before using $gnulib_dir. (func_version, func_gnulib_dir): Don't call this program gnulib-tool. (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs with using $0 in function. * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise. (func_fatal_error): Reuse the name the user invoked us with. 2008-09-27 Bruno Haible * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro. (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here... (gl_ICONV_H): Not here. * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H instead of assigning ICONV_H directly. * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro. * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning WCHAR_H directly. 2008-09-27 Bruno Haible * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor. * modules/arpa_inet (Depends-on): Add link-warning. (Makefile.am): Insert the definition of GL_LINK-WARNING. * modules/unistd (Makefile.am): Likewise. 2008-09-26 Bruno Haible * posix-modules (cvsdatestamp, last_checkin_date, version): Remove variables. (func_version): Essentially copied from gnulib-tool. (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error, func_readlink): Copied from gnulib-tool. 2008-09-26 Bruno Haible * gnulib-tool (func_version): Change directory to $gnulib_dir before invoking git-version-gen. 2008-09-26 Bruno Haible * posix-modules: Update to directory names changed on 2008-01-19. Remove commas in output before splitting into words. No more need to avoid 'ftruncate' since 2007-02-19. 2008-09-26 Bruno Haible * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'. 2008-09-26 Bruno Haible * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE. * modules/fwriteerror (Depends-on): Add errno. 2008-09-26 Bruno Haible * tests/test-vc-list-files-git.sh: Explain reason for skipping test. * tests/test-vc-list-files-cvs.sh: Likewise. 2008-09-26 Bruno Haible * doc/posix-headers/sys_resource.texi: Reorder items. 2008-09-26 Jim Meyering fts: tweak inode comparison function * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing inode numbers, as documented. fts: sort dirent entries on inode number before traversing This avoids a quadratic, seek-related performance penalty when operating on a directory containing many entries (measurable at 10k; 3.5 hours at 2 million entries with a cold cache) on certain types of file systems, including ext3 and ext4, but not tmpfs. * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define. (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined. (S_MAGIC_TMPFS, S_MAGIC_NFS): Define. (fs_handles_readdir_ordered_dirents_efficiently): New function. (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise. (fts_build): Set the stat.st_ino member from D_INO. If it is likely to be useful, sort dirent entries on inode number. * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h, and the struct statfs.f_type member. * modules/fts (Depends-on): Add d-ino. 2008-09-26 Bruno Haible * modules/sigpipe-die (Depends-on): Add sigpipe. * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc, putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS and GNULIB_STDIO_H_SIGPIPE are set. * lib/stdio-write.c: New file. * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF, GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC, GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE, REPLACE_STDIO_WRITE_FUNCS. (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF, GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC, GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE, GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS. * modules/stdio (Files): Add lib/stdio-write.c. (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF, GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC, GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE, GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS. * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define REPLACE_FPRINTF_POSIX. * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define REPLACE_PRINTF_POSIX. * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define REPLACE_VFPRINTF_POSIX. * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define REPLACE_VPRINTF_POSIX. * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the SIGPIPE issue. * doc/posix-functions/fputc.texi: Likewise. * doc/posix-functions/fputs.texi: Likewise. * doc/posix-functions/fwrite.texi: Likewise. * doc/posix-functions/printf.texi: Likewise. * doc/posix-functions/putc.texi: Likewise. * doc/posix-functions/putchar.texi: Likewise. * doc/posix-functions/puts.texi: Likewise. * doc/posix-functions/vfprintf.texi: Likewise. * doc/posix-functions/vprintf.texi: Likewise. * modules/safe-write (Depends-on): Add write. * modules/sigpipe-tests: New file. * tests/test-sigpipe.c: New file. * tests/test-sigpipe.sh: New file. * modules/write: New file. * lib/unistd.in.h: Include . (write): New declaration. * lib/write.c: New file. * m4/write.m4: New file. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE. * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE. * doc/posix-functions/write.texi: Mention the write, sigpipe modules and the SIGPIPE issue. * lib/signal.in.h (SIGPIPE): Define to a replacement value. (raise): New declaration. * lib/sigprocmask.c (SIGPIPE_handler): New variable. (ext_signal): New function. (rpl_raise): New function. * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_SIGNAL_H_SIGPIPE. * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE. * doc/posix-headers/signal.texi: Mention the SIGPIPE issue. * modules/sigpipe: New file. * m4/sigpipe.m4: New file. 2008-09-25 Derek Price Bruno Haible * gnulib-tool (func_import): Report all license incompatibilities, not just the first one. 2008-09-25 Bruno Haible * gnulib-tool (func_import): When computing the edits, consider not only the Makefile.ams that exist but also those that will be generated. 2008-09-25 Simon Josefsson * modules/sys_select-tests (Depends-on): Remove sys_select itself, fixes gnulib-tool --test warning about duplicate dependency. 2008-09-25 Bruno Haible * gnulib-tool: Don't ask the user to perform edits in the generated Makefile.ams. (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that apply to the Makefile.am being generated. (func_emit_tests_Makefile_am): Execute edits that apply to the Makefile.am being generated. (func_import): Setup list of Makefile.am edits before emitting the Makefile.ams, not at the end. (func_create_testdir): Update. Reported by Yoann Vandoorselaere . 2008-09-25 Yoann Vandoorselaere * gnulib-tool (func_import): Store the --tests-base option in the comment in gnulib-cache.m4. 2008-09-24 Paolo Bonzini * NEWS: Document increased portability that sys_select now provides. * lib/sys_select.in.h: Install select wrapper. * lib/sys_socket.in.h: Use more descriptive name when there is no select wrapper. * lib/winsock-select.c: New. * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used. Require gl_HEADER_SYS_SOCKET. * modules/sys_select: Depend on alloca, add lib/winsock-select.c. * modules/sys_select-tests: Copy dependencies from modules/poll-tests. * tests/test-sys_select.c: Add functional tests. 2008-09-24 Eric Blake open, fopen: close fd leak in last patch * lib/open.c (rpl_open): Close fd before returning error. * lib/fopen.c (rpl_fopen): Close fd before returning error. * doc/posix-functions/open.texi (open): Document that Irix also has the bug. * doc/posix-functions/fopen.texi (fopen): Likewise. Reported by Paolo Bonzini. 2008-09-24 Bruno Haible Ensure that a filename ending in a slash cannot be used to access a non-directory. * lib/open.c (rpl_open): When the filename ends in a slash, use fstat() to check whether it's really a directory. * lib/fopen.c: Include fcntl.h, unistd.h. (rpl_fopen): When the filename ends in a slash, use open(), fstat(), and fdopen(). * modules/fopen (Depends-on): Add unistd. * tests/test-open.c (main): Try to open "/dev/null/" as a directory. * tests/test-fopen.c (main): Likewise. * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug. * doc/posix-functions/fopen.texi: Likewise. Reported by Eric Blake. 2008-09-23 Eric Blake c-stack: avoid compiler optimizations when provoking overflow * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make recursion harder to optimize, to ensure a stack overflow occurs. * tests/test-c-stack.c (recurse): Likewise. Borrowed from libsigsegv. c-stack: work around Irix sigaltstack bug * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check whether sigaltstack uses wrong end of stack_t (copied in part from libsigsegv). * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around Irix bug, without requiring an over-allocation. * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the bug. fopen: document mingw bug on directories * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for not allowing a stream visiting a directory, even though reading from such a stream is not portable. 2008-09-23 Paolo Bonzini * lib/poll.c: Rewrite. * modules/poll: Depend on alloca. 2008-09-23 Paolo Bonzini * lib/sys_socket.in.h: Do not implement rpl_setsockopt here, instead define prototypes for a full set of wrappers. Ensure that Cygwin does not use the compatibility code, which is only for MinGW. * lib/winsock.c: New. * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used. * modules/sys_socket: Add lib/winsock.c. * modules/poll-tests: Add errno and perror. * tests/test-poll.c: Use ioctl, not ioctlsocket. 2008-09-23 Paolo Bonzini * tests/test-poll.c: Downgrade minimum needed Winsock version. 2008-09-23 Bruno Haible * doc/posix-functions/*: Add info about functions missing on IRIX 5.3. * doc/glibc-functions/*: Likewise. 2008-09-23 Simon Josefsson * tests/test-perror.sh (tmpfiles): Cleanup temporary files on success. 2008-09-22 Eric Blake Bruno Haible vasnprintf: fix x86/glibc regression on printf("%La", 0.0L) * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that supply %A but mishandle pseudo-NaN. Reported by Simon Josefsson. 2008-09-21 Bruno Haible * tests/test-lock.c (main): Tweak skip message. * tests/test-tls.c (main): Likewise. 2008-09-21 Bruno Haible * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check whether 'struct sigaction' has sa_sigaction here... (gl_PREREQ_SIG_HANDLER_H): ... not here. (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST. 2008-09-21 Bruno Haible * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New section. (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol, strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to the new section. (Support for obsolete systems lacking POSIX:2001): New section. (String handling ): Move strdup to the new section. Suggested by Simon Josefsson and Paolo Bonzini. 2008-09-21 Bruno Haible * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit exponents in %e and %g results on 'long double'. Needed for mingw's improved *printf functions. * tests/test-vasprintf-posix.c (test_function): Likewise. * tests/test-snprintf-posix.h (test_function): Likewise. * tests/test-sprintf-posix.h (test_function): Likewise. Reported by Eric Blake. 2008-09-21 Bruno Haible * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs. * tests/test-sprintf-posix.h (test_function): Likewise. 2008-09-21 Bruno Haible * modules/getpass (Depends-on): Add strdup-posix. New module 'strdup-posix'. * modules/strdup-posix: New file. * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro. * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1. * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize REPLACE_STRDUP. * modules/string (Makefile.am): Substitute REPLACE_STRDUP. * doc/posix-functions/strdup.texi: Mention module strdup-posix. * MODULES.html.sh (Support for systems lacking POSIX:2001): Add strdup-posix. * modules/strdup (Depends-on): Remove malloc-posix. 2008-09-20 Bruno Haible * lib/fstrcmp.c: Add data about branch probabilities, from Ralf Wildenhues. 2008-09-20 Bruno Haible Ensure that wint_t gets defined on IRIX 5.3. * lib/wchar.in.h (wint_t): Define if not defined by the system. * lib/wctype.in.h (wint_t): Likewise. (__wctype_wint_t): Remove type. (isw*): Use wint_t instead of __wctype_wint_t. * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T. * modules/wchar (Files): Add m4/wint_t.m4. (Makefile.am): Substitute HAVE_WINT_T. * tests/test-wchar.c: Check that wchar_t and wint_t are defined. * tests/test-wctype.c: Check that wint_t is defined. * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem. * doc/posix-headers/wctype.texi: Likewise. Reported by Tom G. Christensen . 2008-09-18 Bruno Haible * gnulib-tool (func_exit): Update comment. 2008-09-18 Simon Josefsson * modules/getaddrinfo (Depends-on): Remove strdup, this module assumes strdup exists and does not depend on strdup to return ENOMEM on out of memory conditions. 2008-09-18 Bruno Haible * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two digits for the exponent. 2008-09-18 Jim Meyering Bruno Haible * lib/vasnprintf.c (decimal_point_char): Define also if NEED_PRINTF_INFINITE_LONG_DOUBLE. 2008-09-16 Bruno Haible and Eric Blake vasnprintf: support Irix 5.3 * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms that mishandle long double infinity. Reported by Tom G. Christensen. 2008-09-16 Bruno Haible * doc/glibc-functions/scandir.texi: Mention the function is missing on Solaris 9. * doc/glibc-functions/alphasort.texi: Likewise. Reported by Michael Haubenwallner . 2008-09-16 Jim Meyering posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+" * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets a umask modification leak out of a subshell. Otherwise, the opensolaris /bin/sh would be accepted and thus cause unwarranted failures in the coreutils test suite. 2008-09-16 Paolo Bonzini * tests/test-poll.c (connect_to_socket): Allow non-blocking connect to succeed. 2008-09-16 Jim Meyering avoid spurious test failure when library is built without ACL support * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for... * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL. * tests/test-file-has-acl.sh: Skip if USE_ACL == 0. * tests/test-copy-acl.sh: Likewise. 2008-09-15 Ralf Wildenhues * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound based on character occurrence counts. 2008-09-15 Eric Blake tests: avoid some compiler warnings * tests/test-memchr.c (main): Pass NULL indirectly. * tests/test-closein.c (main): Avoid unused variable. 2008-09-15 Bruno Haible * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that are missing on OpenBSD 4.0 individually. Reported by Yoann Vandoorselaere . 2008-09-15 Bruno Haible * doc/posix-headers/errno.texi: Mention the Cygwin problem. * doc/posix-functions/strerror.texi: Mention also Cygwin. * doc/posix-functions/perror.texi: Likewise. * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED is missing. Reported by Eric Blake. * lib/errno.in.h: Use replacement values >= 2000. Reported by Eric Blake. 2008-09-14 Ralf Wildenhues * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'. (EARLY_ABORT): Return true when the edit_count has grown too beyond the limit. (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when compareseq was aborted. 2008-09-14 Bruno Haible * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and yvec_edit_count. (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count. (fstrcmp_bounded): Simplify result computation accordingly. 2008-09-14 Ralf Wildenhues * lib/fstrcmp.h (fstrcmp_bounded): New declaration. (fstrcmp): Define in terms of fstrcmp_bounded. * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add lower_bound argument. Return quickly if the result is certainly < lower_bound. * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded. 2008-09-14 Ralf Wildenhues * lib/diffseq.h (EARLY_ABORT): New macro. (compareseq): Change return type to bool. Return true when EARLY_ABORT evaluates to true. 2008-09-14 Bruno Haible * modules/perror-tests: New file. * tests/test-perror.sh: New file. * tests/test-perror.c: New file. New module 'perror'. * lib/stdio.in.h (perror): New declaration. * lib/perror.c: New file. * m4/perror.m4: New file. * modules/perror: New file. * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror. * doc/posix-functions/perror.texi: Mention the perror module. * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR, REPLACE_PERROR. * modules/stdio (Makefile.am): Substitute GNULIB_PERROR, REPLACE_PERROR. 2008-09-14 Bruno Haible * modules/stdio (Makefile.am): Reorder to match the order in lib/stdio.in.h. * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise. 2008-09-13 Bruno Haible * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions. 2008-09-13 Bruno Haible Extend strerror to cover the added errno values. * lib/strerror.c: Include errno.h and winsock2.h if it exists. (rpl_strerror): Provide error messages for the added errno values and for the WSA* values. * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR. (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace strerror. (gl_PREREQ_STRERROR): Test whether winsock2.h exists. * modules/strerror (Depends-on): Add errno. * doc/posix-functions/strerror.texi: Document the change. * tests/test-strerror.c (main): Check also the string for ETIMEDOUT and EOVERFLOW. 2008-09-13 Bruno Haible * modules/EOVERFLOW: Remove file. * m4/eoverflow.m4: Remove file. * modules/EOVERFLOW-tests: Remove file. * tests/test-EOVERFLOW.c: Remove file. * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno. * modules/ftell (Depends-on): Likewise. * modules/getdelim (Depends-on): Likewise. * modules/getugroups (Depends-on): Likewise. * modules/poll (Depends-on): Likewise. * modules/snprintf (Depends-on): Likewise. * modules/sprintf-posix (Depends-on): Likewise. * modules/vasnprintf (Depends-on): Likewise. * modules/vasprintf (Depends-on): Likewise. * modules/vfprintf-posix (Depends-on): Likewise. * modules/vsnprintf (Depends-on): Likewise. * modules/vsprintf-posix (Depends-on): Likewise. * modules/xvasprintf (Depends-on): Likewise. * modules/unistdio/u8-vasnprintf (Depends-on): Likewise. * modules/unistdio/u8-vasprintf (Depends-on): Likewise. * modules/unistdio/u8-vsnprintf (Depends-on): Likewise. * modules/unistdio/u8-vsprintf (Depends-on): Likewise. * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise. * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise. * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise. * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise. * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise. * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise. * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise. * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise. * modules/unistdio/u16-vasnprintf (Depends-on): Likewise. * modules/unistdio/u16-vasprintf (Depends-on): Likewise. * modules/unistdio/u16-vsnprintf (Depends-on): Likewise. * modules/unistdio/u16-vsprintf (Depends-on): Likewise. * modules/unistdio/u32-vasnprintf (Depends-on): Likewise. * modules/unistdio/u32-vasprintf (Depends-on): Likewise. * modules/unistdio/u32-vsnprintf (Depends-on): Likewise. * modules/unistdio/u32-vsprintf (Depends-on): Likewise. * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise. * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise. * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise. * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise. * modules/unistdio/ulc-fprintf (Depends-on): Likewise. * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise. * modules/unistdio/ulc-vasprintf (Depends-on): Likewise. * modules/unistdio/ulc-vfprintf (Depends-on): Likewise. * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise. * modules/unistdio/ulc-vsprintf (Depends-on): Likewise. * MODULES.html.sh: Remove EOVERFLOW. * NEWS: Mention the change. 2008-09-13 Bruno Haible * modules/errno-tests: New file. * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c. * lib/errno.in.h: New file. * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4. * modules/errno: New file. * doc/posix-headers/errno.texi: Update documentation. * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno. 2008-09-13 Bruno Haible * tests/test-poll.c: Use #if for native Windows, rather than testing __MSVCRT__. 2008-09-13 Yoann Vandoorselaere Bruno Haible * lib/glob.c: Don't include on native Windows. (WINDOWS32): New macro. (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME"). 2008-09-13 Bruno Haible * lib/glthread/cond.h [USE_SOLARIS_THREADS] (ETIMEDOUT): Remove macro. (glthread_cond_timedwait_multithreaded): New declaration. (glthread_cond_timedwait): Use it. * lib/glthread/cond.c [USE_SOLARIS_THREADS] (glthread_cond_timedwait_multithreaded): New function. 2008-09-12 Paolo Bonzini * modules/poll-tests: Do not check for io.h. * tests/test-poll.c: Check for __MSVCRT__ instead. 2008-09-12 Paolo Bonzini * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case. * modules/poll-tests: Add inet_pton, stdbool, sockets. * tests/test-poll.c: Use them. Use _pipe on Windows. 2008-09-12 Paolo Bonzini * modules/poll-tests: New. * tests/test-poll.c: New. 2008-09-12 Eric Blake frexp: test for NetBSD failure on -0.0 * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but not all, bugs from NetBSD 3.0 have been fixed. * doc/posix-functions/frexp.texi (frexp): Document bug. Reported by Thomas Klausner. signbit: work around bug of HP-UX 10.20 cc with -0.0 literal * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid literal -0.0. Reported by Jonathan C. Patschke . 2008-09-11 Yoann Vandoorselaere * lib/glthread/cond.h: Use dummy implementation also if USE_WIN32_THREADS. 2008-09-11 Yoann Vandoorselaere * modules/fnmatch-posix (License): Change to LGPLv2+. * modules/fnmatch-gnu (License): Likewise. 2008-09-11 Yoann Vandoorselaere * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32. 2008-09-11 Jim Meyering * users.txt: Add gtk-vnc. 2008-09-08 Simon Josefsson * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum rotate amounts. * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally required for 16-bit and 8-bit rotates. * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16, rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and UINT8_MAX instead of hard-coded constants. Suggested by Paul Eggert. 2008-09-07 Bruno Haible * tests/test-striconveh.c (main): Check behaviour when converting from UTF-7. Make striconveh work better with stateful encodings. * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume that iconv does not increment the inptr when returning -1/EINVAL. 2008-09-07 Bruno Haible * build-aux/config.rpath: Update according to libtool-2.2.6. * build-aux/config.libpath: Likewise. 2008-09-06 Bruno Haible * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS. * lib/freadptr.c (freadptr): Likewise. * lib/freadseek.c (freadptrinc): Likewise. Reported by Simon Josefsson. 2008-09-06 Bruno Haible * modules/freadptr (License): Change to LGPLv2+. * modules/freadseek (License): Likewise. Suggested by Eric Blake. * modules/memchr2 (License): Change to LGPLv2+. Approved by Eric Blake. 2008-09-04 Ralf Wildenhues Bruno Haible Make gnulib-tool work with native 'sed' on AIX. * gnulib-tool (sed_noop): New variable. (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import, func_add_or_update, func_create_testdir): Use it to initialize sed script variables. Reported by Albert Chin . 2008-09-04 Albert Chin Bruno Haible * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next also works after #include directives. 2008-09-04 Ondřej Vašík getdate.y: reject an out-of-range timezone value * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside the range [-24...+24]. When specified with only one or two digits, * tests/test-getdate.c: Tests for the fix. * doc/getdate.texi: Document this change. 2008-09-03 Bruno Haible * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module. 2008-09-02 Simon Josefsson * lib/bitrotate.h (rotl64, rotr64): Add. Suggested by Bruce Korb with ideas from Ben Pfaff , Bruno Haible and Eric Blake . * tests/test-bitrotate.c: Add more test vectors. 2008-09-02 Eric Blake vasnprintf-posix: handle large precision via %.*d * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf when handling it ourselves. * tests/test-vasnprintf-posix.c (test_function): Add test. * tests/test-snprintf-posix.h (test_function): Likewise. * tests/test-sprintf-posix.h (test_function): Likewise. * tests/test-vasprintf-posix.c (test_function): Likewise. Reported by Alain Guibert. 2008-09-01 Eric Blake c-stack: make configure-time check more robust * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for successful sigaction call. Reported by Tom G. Christensen. 2008-09-01 Bruno Haible New module 'findprog-lgpl'. * modules/findprog-lgpl: New file. * lib/findprog-lgpl.c: New file. * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL to decide whether to use strdup or xstrdup, concatenated_filename or xconcatenated_filename. 2008-09-01 Bruno Haible Split module 'concat-filename' into 'concat-filename' (LGPL) and 'xconcat-filename' (GPL). * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc. (License): Change to LGPLv2+. * modules/xconcat-filename: New file. * lib/concat-filename.h (concatenated_filename): Change specification. (xconcatenated_filename): New declaration. * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h. (concatenated_filename): Use malloc instead of xalloc. Handle out-of- memory situations. * lib/xconcat-filename.c: New file. * NEWS: Mention the change. * lib/findprog.c: Include concat-filename.h, not filename.h. (find_in_path): Use xconcatenated_filename instead of concatenated_filename. * lib/javacomp.c: Include concat-filename.h, not filename.h. (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable, is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable, is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable, is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename instead of concatenated_filename. * lib/javaexec.c: Include concat-filename.h, not filename.h. (execute_java_class): Use xconcatenated_filename instead of concatenated_filename. * modules/findprog (Depends-on): Add xconcat-filename, remove filename. * modules/javacomp (Depends-on): Likewise. * modules/javaexec (Depends-on): Likewise. 2008-09-01 Bruno Haible Split module 'filename' into 'filename' and 'concat-filename'. * modules/filename: Keep only lib/filename.h. (License): Change to LGPLv2+. * modules/concat-filename: New file, extracted from modules/filename. * lib/filename.h (concatenated_filename): Remove declaration. * lib/concat-filename.h: New file, extracted from lib/filename.h. * lib/concat-filename.c: Include concat-filename.h. * NEWS: Mention the change. 2008-09-01 Simon Josefsson * lib/bitrotate.h (rotl8, rotr8): Add. * modules/bitrotate (configure.ac): Need AC_REQUIRE([AC_C_INLINE]). (Description): Mention stdint.h. Reported by Bruno Haible . * lib/bitrotate.h (rotr16, rotl16): Fix mask value. Reported by Paolo Bonzini . 2008-08-31 Bruno Haible Assume Solaris specific bi-arch conventions on Solaris systems. * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2. * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2 like acl_libdirstem. (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like acl_libdirstem. * NEWS: Mention the change. Reported by Ben Taylor . 2008-08-31 Jim Meyering * lib/strftime.h: Add comments describing the two added arguments. remove duplicate #include directives * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include . * lib/putenv.c: Remove duplicate #include . 2008-08-31 Bruno Haible New module 'sigpipe-die'. * modules/sigpipe-die: New file. * lib/sigpipe-die.h: New file. * lib/sigpipe-die.c: New file. * MODULES.html.sh (Signal handling): Add sigpipe-die. 2008-08-31 Bruno Haible Don't override previously installed signal handlers. * lib/fatal-signal.c (saved_sigactions): New variable. (uninstall_handlers): Reset the signal to the saved handler, not to SIG_DFL (except when ignored). (install_handlers): Save the previous handlers. 2008-08-30 Bruno Haible * gnulib-tool (func_reset_sigpipe): New function. (func_get_automake_snippet, func_modules_transitive_closure, func_import): Invoke it before a join command that reads from stdin, to avoid "echo: write error: Broken pipe" error messages on stderr. Reported by Sam Steingold . 2008-08-30 Bruno Haible * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash. Code copied from m4/open.m4. * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write access and the filename ends in a slash. Code copied from lib/open.c. * doc/posix-functions/fopen.texi: Document bug with trailing slash. * tests/test-fopen.c (main): Check against bug with trailing slash. 2008-08-29 Bruno Haible Avoid some "gcc -pedantic" warnings. * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER. * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER. * lib/dirent.in.h: Likewise. * lib/fcntl.in.h: Likewise. * lib/float.in.h: Likewise. * lib/iconv.in.h: Likewise. * lib/inttypes.in.h: Likewise. * lib/locale.in.h: Likewise. * lib/math.in.h: Likewise. * lib/netinet_in.in.h: Likewise. * lib/search.in.h: Likewise. * lib/signal.in.h: Likewise. * lib/stdarg.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_select.in.h: Likewise. * lib/sys_socket.in.h: Likewise. * lib/sys_stat.in.h: Likewise. * lib/sys_time.in.h: Likewise. * lib/sysexits.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): Also substitute PRAGMA_SYSTEM_HEADER. * modules/fchdir (Makefile.am): Likewise. * modules/fcntl (Makefile.am): Likewise. * modules/float (Makefile.am): Likewise. * modules/iconv_open (Makefile.am): Likewise. * modules/inttypes (Makefile.am): Likewise. * modules/locale (Makefile.am): Likewise. * modules/math (Makefile.am): Likewise. * modules/netinet_in (Makefile.am): Likewise. * modules/search (Makefile.am): Likewise. * modules/signal (Makefile.am): Likewise. * modules/stdarg (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_select (Makefile.am): Likewise. * modules/sys_socket (Makefile.am): Likewise. * modules/sys_stat (Makefile.am): Likewise. * modules/sys_time (Makefile.am): Likewise. * modules/sysexits (Makefile.am): Likewise. * modules/time (Makefile.am): Likewise. * modules/unistd (Makefile.am): Likewise. * modules/wchar (Makefile.am): Likewise. * modules/wctype (Makefile.am): Likewise. Reported by Reuben Thomas . 2008-08-29 Bruno Haible * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT any more. 2008-08-29 Simon Josefsson * MODULES.html.sh (Misc): Add bitrotate. * modules/bitrotate: New file. * lib/bitrotate.h: New file. * modules/bitrotate-tests: New file. * tests/test-bitrotate.c: New file. * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency on the bitrotate module. * lib/arctwo.c: Use new bitrotate module. 2008-08-29 Jim Meyering bootstrap: merge changes from coreutils * build-aux/bootstrap (cp_mark_as_generated): Preserve perms of copied files. Remove a kludge, now that this is fixed. * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues) * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext. * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code. 2008-08-29 Bruno Haible * MODULES.html.sh: Remove --cvs-urls option. 2008-08-28 Jose E. Marchesi (tiny change) maint.mk: adjust to file name change * top/maint.mk: s/Makefile.cfg/cfg.mk/. 2008-08-28 Jim Meyering * modules/getndelim2 (License): Relicense to LGPLv2+. Approved by Richard Stallman for the version of 1995, and by Paul Eggert, Bruno Haible, Eric Blake for their contributions. 2008-08-27 Paolo Bonzini * lib/getdelim.c (flockfile, funlockfile): Make all of them dummy if one is not available. Do not touch them if USE_UNLOCKED_IO, instead letting unlocked-io.h do that. (getc_maybe_unlocked): New. * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked. 2008-08-26 Eric Blake doc/INSTALL: resync from autoconf * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify. (INSTALL_PRELUDE): Delete; this is done more efficiently by moving... * install.texi [!autoconf]: ...here. Resync from autoconf. * INSTALL: Regenerate. * INSTALL.ISO: New file. * INSTALL.UTF-8: Likewise. 2008-08-26 Jim Meyering GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy * top/GNUmakefile (_is-dist-target, _is-install-target): Make these definitions conditional, so that they may be overridden, too. 2008-08-26 Bruno Haible Generate INSTALL file variants with prettier quotes. * doc/Makefile (INSTALL_PRELUDE): New macro. (INSTALL): Use it. (INSTALL.ISO, INSTALL.UTF-8): New rules. 2008-08-26 Bruno Haible Run makeinfo in an English locale. * doc/Makefile (MAKEINFO): New variable. 2008-08-26 Bruno Haible * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn. Suggested by Eric Blake. 2008-08-25 Bruno Haible * doc/Makefile (INSTALL): Generate with @firstparagraphindent set. 2008-08-25 Eric Blake c-stack: test that stack overflow can be caught * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check that platform allows handling stack overflow; at least OS/2 EMX has sigaltstack, but crashes before transferring control to handler on stack overflow. * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also check for HAVE_STACK_OVERFLOW_HANDLING. Reported by Elbert Pol. 2008-08-25 Bruno Haible * doc/posix-functions/strftime.texi: Fix description of strftime module. 2008-08-24 Bruno Haible * tests/uniwidth/test-uc_width2.c: New file. * tests/uniwidth/test-uc_width2.sh: New file. * modules/uniwidth/width-tests (Files): Add the new files. (TESTS): Add uniwidth/test-uc_width2.sh. (TESTS_ENVIRONMENT): New variable. (check_PROGRAMS): Add test-uc_width2. (test_uc_width2_SOURCES): New variable. Fix uc_width(0x00AB) bug, introduced on 2007-07-08. * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD, not 0x00AB. Reported by Alexander V. Lukyanov . 2008-08-22 Eric Blake test-lock, test-tls: mention why a test is skipped * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is skipped. * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise. count-one-bits: relax license * modules/count-one-bits (License): Relicense to LGPLv2+. Suggested by Ludovic Courtès, approved by Ben Pfaff. 2008-08-22 Andreas Schwab * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Remove spurious space in assignment. 2008-08-21 Simon Josefsson * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC. Reported by Paul Eggert . 2008-08-20 Paolo Bonzini * modules/gettext: Add m4/threadlib.m4. 2008-08-19 Eric Blake test-c-stack: fix compilation failure on FreeBSD 5.0 * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite headers before . * doc/posix-headers/sys_resource.texi (sys/resource.h): Document the bug. Reported by Nelson H. F. Beebe. strverscmp: migrate from "strverscmp.h" to * modules/string (Makefile.am): Add new hooks. * modules/strverscmp (Files): Remove strverscmp.h. (Depends-on): Add string. (configure.ac): Add indicator. (Include): Mention new header. * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new defaults. * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of results. * lib/strverscmp.h: Delete. * lib/string.in.h (strverscmp): Provide declaration, when needed. * tests/test-strverscmp.c (includes): Adjust client. * lib/check-version.c (includes): Likewise. * NEWS: Document the change. strverscmp: add unit test * modules/strverscmp-tests: New file. * tests/test-strverscmp.c: Likewise. 2008-08-19 Simon Josefsson * lib/gc-gnulib.c: Indentation cleanup. Add some comments regarding Windows crypto stuff, from Mono. 2008-08-19 Adam Strzelecki (tiny change) * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT. Try to use Intel CSP if present, for intel RND. Return error on failures. 2008-08-18 Ben Pfaff gitlog-to-changelog: give better diagnostic for failed pipe-open * build-aux/gitlog-to-changelog: Improve error message: suggest that the version of Git may be too old. 2008-08-18 Simon Josefsson * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity. Use ISO 8601 format. Suggested by Greg Troxel . 2008-08-18 Bruno Haible * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not pthread_in_use(). 2008-08-18 Bruno Haible * lib/glthread/threadlib.c: Include . 2008-08-18 Bruno Haible * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix glthread_recursive_lock_* macros. * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded): Fix syntax error. 2008-08-18 Bruno Haible * lib/glthread/thread.c: Avoid forcing a context switch right after thread creation. 2008-08-17 Bruno Haible * lib/glthread/thread.c: New file, based on code from tests/test-lock.c. * lib/glthread/thread.h: Provide Win32 specific implementation. * modules/thread (Files): Add lib/glthread/thread.c. (Depends-on): Add lock. (Makefile.am): Add glthread/thread.c to lib_SOURCES. 2008-08-17 Yoann Vandoorselaere New module 'yield'. * modules/yield: New file. * lib/glthread/yield.h: New file. * m4/yield.m4: New file. * MODULES.html.sh (Multithreading): Add yield. 2008-08-17 Yoann Vandoorselaere New module 'thread'. * modules/thread: New file. * lib/glthread/thread.h: New file. * m4/thread.m4: New file. * MODULES.html.sh (Multithreading): Add thread. 2008-08-17 Bruno Haible * lib/glthread/lock.h: Include always. * lib/glthread/tls.h: Likewise. * lib/glthread/cond.h: Likewise. 2008-08-17 Yoann Vandoorselaere New module 'cond'. * modules/cond: New file. * lib/glthread/cond.h: New file. * lib/glthread/cond.c: New file. * m4/cond.m4: New file. * MODULES.html.sh (Multithreading): Add cond. 2008-08-16 Eric Blake c-stack: fix regression on Irix 5.3 from 2008-06-21 * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for sa_sigaction... * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here. (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's. * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default. * modules/signal (Makefile.am): Use the value. * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define. * doc/posix-headers/signal.texi (signal.h): Document this portability issue. * doc/posix-functions/sigaction.texi (sigaction): Likewise. Reported by Tom G. Christensen. 2008-08-17 Bruno Haible New module 'threadlib'. * modules/threadlib: New file. * lib/glthread/threadlib.c: New file, extracted from lib/glthread/lock.c. * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove functions. * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY. * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove macros. (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h. (gl_DISABLE_THREADS): Remove macro. * modules/lock (Files): Remove build-aux/config.rpath. (Depends-on): Remove havelib. Add threadlib. (configure.ac-early): Remove section. * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK. * modules/tls (Depends-on): Remove lock. Add threadlib. (Link): New section, copied from threadlib. * MODULES.html.sh (Multithreading): Add threadlib. 2008-08-14 Bruno Haible * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock, glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock, glthread_rwlock_unlock, glthread_rwlock_destroy, glthread_recursive_lock_lock, glthread_recursive_lock_unlock, glthread_recursive_lock_destroy): Define as macros always. * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from glthread_lock_lock. (glthread_lock_unlock_func): Renamed from glthread_lock_unlock. (glthread_lock_destroy_func): Renamed from glthread_lock_destroy. (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock. (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock. (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock. (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy. (glthread_recursive_lock_lock_func): Renamed from glthread_recursive_lock_lock. (glthread_recursive_lock_unlock_func): Renamed from glthread_recursive_lock_unlock. (glthread_recursive_lock_destroy_func): Renamed from glthread_recursive_lock_destroy. 2008-08-14 Bruno Haible * lib/glthread/lock.h: Renamed from lib/lock.h. * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes. * lib/glthread/tls.h: Renamed from lib/tls.h. * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes. * lib/fstrcmp.c: Update includes. * lib/strsignal.c: Update includes. * modules/lock (Files, Makefile.am): Update. (Include): Change to "glthread/lock.h". * modules/tls (Files, Makefile.am): Update. (Include): Change to "glthread/tls.h". * tests/test-lock.c: Update includes. * tests/test-tls.c: Update includes. * NEWS: Mention the renamed header files. 2008-08-11 Jim Meyering * lib/fts_.h: Fix grammar (insert a missing "is") in a comment. 2008-08-11 Eric Blake test-c-stack: avoid C99-ism * tests/test-c-stack.c (main): Fix whitespace, move declaration before statement. Reported by Alain Guibert. 2008-08-10 Jim Meyering ensure that return value of uinttostr et al are not ignored * lib/inttostr.h (__GNUC_PREREQ): Define. (__attribute_warn_unused_result__): Define. (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute. 2008-08-07 Paolo Bonzini * lib/lock.c (glthread_recursive_lock_init_multithreaded) [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo. 2008-08-07 Jim Meyering * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/. * modules/mkstemp (License): Relicense under LGPLv2+. * modules/tempname (License): Likewise. 2008-08-06 Bruno Haible * lib/poll.c (poll): Further micro-optimization. 2008-08-06 Jim Meyering inet_pton.c: use locale-independent tolower * lib/inet_pton.c: Include rather than . (inet_pton6): Use c_tolower rather than tolower. * modules/inet_pton (Depends-on): Add c-ctype. 2008-08-06 Paolo Bonzini * lib/poll.c (poll): Avoid division when timeout is 0, cache _SC_OPEN_MAX, avoid repeated access to errno. Check for nfd < 0. 2008-08-06 Jim Meyering * modules/inet_pton (License): Relicense under LGPLv2+. 2008-08-03 Bruno Haible Additional non-aborting API for lock and tls. * lib/lock.h: Include . (glthread_lock_init): New macro/function. (gl_lock_init): Define as wrapper around glthread_lock_init. (glthread_lock_lock): New macro/function. (gl_lock_lock): Define as wrapper around glthread_lock_lock. (glthread_lock_unlock): New macro/function. (gl_lock_unlock): Define as wrapper around glthread_lock_unlock. (glthread_lock_destroy): New macro/function. (gl_lock_destroy): Define as wrapper around glthread_lock_destroy. (glthread_rwlock_init): New macro/function. (gl_rwlock_init): Define as wrapper around glthread_rwlock_init. (glthread_rwlock_rdlock): New macro/function. (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock. (glthread_rwlock_wrlock): New macro/function. (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock. (glthread_rwlock_unlock): New macro/function. (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock. (glthread_rwlock_destroy): New macro/function. (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy. (glthread_recursive_lock_init): New macro/function. (gl_recursive_lock_init): Define as wrapper around glthread_recursive_lock_init. (glthread_recursive_lock_lock): New macro/function. (gl_recursive_lock_lock): Define as wrapper around glthread_recursive_lock_lock. (glthread_recursive_lock_unlock): New macro/function. (gl_recursive_lock_unlock): Define as wrapper around glthread_recursive_lock_unlock. (glthread_recursive_lock_destroy): New macro/function. (gl_recursive_lock_destroy): Define as wrapper around glthread_recursive_lock_destroy. (glthread_once): New macro/function. (gl_once): Define as wrapper around glthread_once. Update function declarations. * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from glthread_rwlock_init. Return error code. (glthread_rwlock_rdlock_multithreaded): Renamed from glthread_rwlock_rdlock. Return error code. (glthread_rwlock_wrlock_multithreaded): Renamed from glthread_rwlock_wrlock. Return error code. (glthread_rwlock_unlock_multithreaded): Renamed from glthread_rwlock_unlock. Return error code. (glthread_rwlock_destroy_multithreaded): Renamed from glthread_rwlock_destroy. Return error code. (glthread_recursive_lock_init_multithreaded): Renamed from glthread_recursive_lock_init. Return error code. (glthread_recursive_lock_lock_multithreaded): Renamed from glthread_recursive_lock_lock. Return error code. (glthread_recursive_lock_unlock_multithreaded): Renamed from glthread_recursive_lock_unlock. Return error code. (glthread_recursive_lock_destroy_multithreaded): Renamed from glthread_recursive_lock_destroy. Return error code. (glthread_once_call): Make static. (glthread_once_multithreaded): Renamed from glthread_once. * lib/tls.h: Include . (glthread_tls_key_init): New macro/function. (gl_tls_key_init): Define as wrapper around glthread_tls_key_init. (glthread_tls_set): New macro/function. (gl_tls_set): Define as wrapper around glthread_tls_set. (glthread_tls_key_destroy): New macro/function. (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy. Update function declarations. * lib/tls.c (glthread_tls_get_multithreaded): Renamed from glthread_tls_get. Suggested by Yoann Vandoorselaere . 2008-08-04 Eric Blake gnumakefile: use space, not TAB, outside of targets * top/GNUmakefile (_dummy): Fix whitespace error in prior edit. 2008-08-02 Jim Meyering getdate.y: avoid locale-dependent date parsing failure In Turkish locales, getdate would fail to recognize keywords containing a lowercase "i". The solution is not to rely on locale-sensitive case-conversion. * lib/getdate.y: Include rather than . (lookup_word): Use c_toupper in place of toupper. (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too. Reported by Vefa Bicakci in . * modules/getdate (Depends-on): Add c-ctype. 2008-08-02 Bruno Haible * gnulib-tool (func_import): When updating or creating a .gitignore file, prepend each added line with a slash, and ignore leading slashes from the existing lines. Reported by Joel E. Denny . 2008-08-02 Ralf Wildenhues Portability fix for GNU make 3.79.1. * top/GNUmakefile: Avoid 'else COND', which older GNU make versions do not understand. 2008-08-01 Bruno Haible Work around bug of HP-UX 10.20 cc with -0.0 literal. * tests/test-isnanf.h (zero): New variable. (main): Avoid literal -0.0f. * tests/test-isnand.h (zero): New variable. (main): Avoid literal -0.0. * tests/test-isnanl.h (zero): New variable. (main): Avoid literal -0.0L. * tests/test-isnan.c (zerof, zerod, zerol): New variables. (test_float, test_double, test_long_double): Avoid literals -0.0f, -0.0, -0.0L. * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f. (test_signbitd): Avoid literal -0.0. (test_signbitl): Avoid literal -0.0L. * tests/test-ceilf1.c (zero): New variable. (main): Avoid literal -0.0f. * tests/test-ceill.c (zero): New variable. (main): Avoid literal -0.0L. * tests/test-floorf1.c (zero): New variable. (main): Avoid literal -0.0f. * tests/test-floorl.c (zero): New variable. (main): Avoid literal -0.0L. * tests/test-roundf1.c (zero): New variable. (main): Avoid literal -0.0f. * tests/test-round1.c (zero): New variable. (main): Avoid literal -0.0. * tests/test-roundl.c (zero): New variable. (main): Avoid literal -0.0L. * tests/test-truncf1.c (zero): New variable. (main): Avoid literal -0.0f. * tests/test-trunc1.c (zero): New variable. (main): Avoid literal -0.0. * tests/test-truncl.c (zero): New variable. (main): Avoid literal -0.0L. * tests/test-frexp.c (zero): New variable. (main): Avoid literal -0.0. * tests/test-frexpl.c (zero): New variable. (main): Avoid literal -0.0L. * tests/test-ldexpl.c (zero): New variable. (main): Avoid literal -0.0L. * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0. (zerod, zerol): New variables. (test_function): Avoid literals -0.0, -0.0L. * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0. (zerod, zerol): New variables. (test_function): Avoid literals -0.0, -0.0L. * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0. (zerod, zerol): New variables. (test_function): Avoid literals -0.0, -0.0L. * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0. (zerod, zerol): New variables. (test_function): Avoid literals -0.0, -0.0L. * tests/test-strtod.c (zero): New variable. (main): Avoid literal -0.0. Reported by Jonathan C. Patschke . 2008-07-31 Jim Meyering sha256.h: correct definition of SHA224_DIGEST_SIZE * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24. Reported by Paulie Pena IV . Define as 224 / 8, rather than as a literal. (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal. * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8. (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8. 2008-07-31 Bruno Haible * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work on HP-UX 10.20 with "cc -Ae". Fix second conditional. Reported by Jonathan Patschke . 2008-07-31 Bruno Haible * gnulib-tool (func_import): Make change from 2008-06-23 more robust. Reported by Paolo Bonzini . 2008-07-30 Eric Blake test-strtod: allow compilation without -lm * tests/test-strtod.c (main): Avoid link dependence on fabs. Reported by Dennis Clarke . 2008-07-28 Jim Meyering bootstrap: work also when there are no .po files in po/ * build-aux/bootstrap (update_po_files): Complete the change that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9. 2008-07-27 Jim Meyering * users.txt: Add zile. 2008-07-26 Ben Pfaff Add missing dependencies on new m4/exponent[fdl].m4 files. * modules/isnanf-nolibm: Add m4/exponentf.m4. * modules/isnand-nolibm: Add m4/exponentd.m4. * modules/isnanl-nolibm: Add m4/exponentl.m4. * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of m4/isnan[fdl].m4, because the macros actually used moved. Reported by Jim Meyering. 2008-07-14 Ben Pfaff Add isinf module. * lib/isinf.c: New file. * lib/math.in.h: Define isinf macro if we have decided to replace it. * m4/isinf.m4: New file. * m4/math_h.m4: Initialize and substitute variables for isinf module. * modules/isinf: New file. * modules/isinf-tests: New file. * modules/math: Add substitutions for new module. * tests/test-isinf.c: New file. * doc/posix-functions/isinf.texi: Mention new module. * MODULES.html.sh: Mention new module. 2008-07-14 Ben Pfaff Factor out some macros for use by additional modules. * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file exponentf.m4. * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file exponentd.m4. * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new file exponentl.m4. * m4/exponentf.m4: New file. * m4/exponentd.m4: New file. * m4/exponentl.m4: New file. * modules/isnanf: Use new file m4/exponentf.m4. * modules/isnand: Use new file m4/exponentd.m4. * modules/isnanl: Use new file m4/exponentl.m4. 2008-07-23 Ulrich Drepper mktime.c: normalize tp->tm_isdst value to -1/0/1. * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value. Reported by Michael Ringe in . * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after readlink on platforms without PATH_MAX. 2008-07-21 Eric Blake Warn, not fail, on stale version. * top/GNUmakefile (_curr-ver): Tone down previous patch. Don't allow installation with stale devel version number. * top/GNUmakefile (_is-install-target): New macro. (_curr-ver): Forbid installation with stale version number. 2008-07-20 Bruno Haible * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to TESTS_ENVIRONMENT. * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use. 2008-07-20 Bruno Haible * lib/c-stack.h (c_stack_action): Add documentation. * lib/c-stack.c (c_stack_action): Remove incomplete documentation. 2008-07-20 Bruno Haible * modules/canonicalize-lgpl (License): Relicense under LGPLv2+. * modules/readlink (License): Likewise. 2008-07-17 Eric Blake * modules/c-stack (Link): Fix typo. Make c-stack use libsigsegv, when available. * modules/c-stack (Depends-on): Add libsigsegv. * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if needed. * lib/c-stack.c (SIGSTKSZ): Define fallback. (segv_handler, overflow_handler, c_stack_action) [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new implementation when libsigsegv is available, but only when using the library is necessary. * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add comment, explaining why XSI check fails on Linux. (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK. * tests/test-c-stack2.sh: Tweak skip message. * NEWS: Document new link-time requirements. 2008-07-16 Eric Blake c-stack: Expose false positives when not using libsigsegv. * modules/c-stack-tests (Files): Expand test. * tests/test-c-stack.c (main): Add means to conditionally trigger non-overflow SIGSEGV. * tests/test-c-stack2.sh: New file. 2008-07-14 Bruno Haible * m4/libsigsegv.m4: Remove unneeded AC_PREREQ. Reported by Eric Blake. 2008-07-14 Sam Steingold Bruno Haible New module libsigsegv. * modules/libsigsegv: New file. * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with modifications. * MODULES.html.sh (Signal handling): New section. 2008-07-14 Bruno Haible * modules/unictype/ctype-* (Description): Add the word "function". Improves the resulting doc in MODULES.html. 2008-07-12 Ben Pfaff Add longlong module. * modules/longlong: New file. 2008-07-12 Bruno Haible * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM to empty. 2008-07-10 Ben Pfaff Add isnan module. * doc/posix-functions/isnan.texi: Mention new module. * lib/math.in.h: Define isnan macro if we have decided to replace it. * m4/isnan.m4: New file. * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality also. (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce redundancy. * m4/math_h.m4: Initialize and substitute variables for isnan module. * modules/isnan: New file. * modules/isnan-tests: New file. * modules/math: Add substitutions for new module. * tests/test-isnan.c: New file. * MODULES.html.sh: Mention new module. 2008-07-10 Ben Pfaff Add isnanf module. * lib/isnanf.m4: New file. * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro. (gl_HAVE_ISNANF_IN_LIBM): New macro. (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN. * modules/isnanf: New file. * modules/isnanf-tests: New file. * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of files. * tests/test-isnanf-nolibm.c: factored most of its contents into new file tests/test-isnanf.h. * tests/test-isnanf.h: New file. * tests/test-isnanf.c: New file. * MODULES.html.sh: Mention new module. * doc/glibc-functions/isnanf.texi: Mention new module. 2008-07-10 Ben Pfaff Add isnand module. * lib/isnand.h: New file. * m4/isnand.m4 (gl_FUNC_ISNAND): New macro. (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that functionality also. (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN. (gl_HAVE_ISNAND_IN_LIBM): New macro. * modules/isnand: New file. * modules/isnand-tests: New file. * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of files. * tests/test-isnand-nolibm.c: factored most of its contents into new file tests/test-isnand.h. * tests/test-isnand.h: New file. * tests/test-isnand.c: New file. * MODULES.html.sh: Mention new module. 2008-07-10 Ben Pfaff * lib/isnanf.h: Rename lib/isnanf-nolibm.h. * lib/isnand.h: Rename lib/isnand-nolibm.h. * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c. * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c. * modules/isnanf-nolibm: Update references to renamed files. * modules/isnand-nolibm: Likewise. * modules/isnanf-nolibm-tests: Likewise. * modules/isnand-nolibm-tests: Likewise. * lib/frexp.c: Likewise. * lib/isfinite.c: Likewise. * lib/signbitd.c: Likewise. * lib/signbitf.c: Likewise. * lib/vasnprintf.c: Likewise. * tests/test-ceilf1.c: Likewise. * tests/test-ceilf2.c: Likewise. * tests/test-floorf1.c: Likewise. * tests/test-floorf2.c: Likewise. * tests/test-frexp.c: Likewise. * tests/test-round1.c: Likewise. * tests/test-round2.c: Likewise. * tests/test-roundf1.c: Likewise. * tests/test-strtod.c: Likewise. * tests/test-trunc1.c: Likewise. * tests/test-trunc2.c: Likewise. * tests/test-truncf1.c: Likewise. * tests/test-truncf2.c: Likewise. * NEWS: Mention the renamed header files. 2008-07-11 Jim Meyering vc-list-files: make the last-resort awk code more portable * build-aux/vc-list-files: Don't rely on awk's "sub" command. /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56 does not support it. 2008-07-10 Eric Blake Work with tar's bootstrap. * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case where LIBSOURCES_DIR contains .#bootmp but must not be treated as an m4 comment. 2008-07-09 Jim Meyering posix-shell.m4: fix typo that made this test malfunction * m4/posix-shell.m4: Remove capitalization in variable name. 2008-07-08 Bruno Haible * m4/onceonly.m4: Update comments. Reported by Ben Pfaff . 2008-07-04 Jim Meyering * users.txt: Add vc-dwim. (bison, coreutils): Use the gitweb URL. 2008-07-03 Jim Meyering * users.txt: Add libffcall. From Sam Steingold. 2008-07-03 Ondřej Vašík getdate.y: do not ignore TZ with relative day, month or year offset * lib/getdate.y (get_date): Move the tz-handling block to follow the relative-date-handling, since otherwise, the latter would clobber the sole output (an updated Start value) of the tz-handling block. * tests/test-getdate.c: Tests for the fix 2008-07-03 Ralf Wildenhues Recognize 'foo_LIBRARIES += libgnu.a'. * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a makefile snippet has already specified an installation location, also using '+='. 2008-07-02 Ondřej Vašík getdate.y: factor out common actions * lib/getdate.y (apply_relative_time, set_hhmmss): New functions. Use them in place of open-coded actions. 2008-07-01 Simon Josefsson Add self-test for getdate module. * modules/getdate-tests: New file. * tests/test-getdate.c: New file. 2008-06-29 Bruno Haible * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or .gitignore. Reported by Sylvain Beucler . 2008-06-29 Bruno Haible * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option. * m4/gnulib-tool.m4: Update to match current gnulib-tool. 2008-06-29 Bruno Haible * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into EXTRA_DIST. Reported by Sylvain Beucler . 2008-06-26 Jim Meyering make several modules depend on the "open" module This provides slightly increased consistency when opening-for-write the name of a non-directory spelled with a trailing slash. * modules/chdir-safer: Likewise. * modules/chown: Likewise. * modules/clean-temp: Likewise. * modules/copy-file: Likewise. * modules/fchdir: Likewise. * modules/fcntl-safer: Likewise. * modules/pipe: Likewise. * modules/utime: Likewise. Prompted by Eric Blake and Bruno Haible. 2008-06-24 Andreas Schwab * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound literals can be used as initializers for global variables. 2008-06-23 Eric Blake Make gnulib-cache.m4 easier to diff. * gnulib-tool (func_import): Allow newlines when reading cached gl_MODULES, and generate newlines when creating gnulib-cache.m4. 2008-06-23 Bruno Haible * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro. (gl_PREREQ_SIGPROCMASK): Don't invoke it. * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from m4/signalblocking.m4. (gl_PREREQ_SIGACTION): Don't invoke it. * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke gl_PREREQ_SIG_HANDLER_H. * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise. Don't check for sigaction here. 2008-06-23 Bruno Haible * lib/fatal-signal.c (fatal_signal_handler): Update comment. (install_handlers): Don't set the SA_RESETHAND flag. 2008-06-23 Bruno Haible * m4/sigaction.m4: Comment fixes. * lib/signal.in.h: Likewise. 2008-06-23 Eric Blake Fix typo. * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator. Avoid SA_ namespace. * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK. Reported by Ralf Wildenhues. Avoid test failure due to SA_RESTORER. * tests/test-sigaction.c (SA_MASK): New macro. (main): Avoid failing due to extension flags being set. Reported by Jim Meyering. Revert use of sig-handler.h in sigprocmask.c. * modules/sigprocmask (Files): Don't rely on sig-handler.h, since it requires the existence of struct sigaction. * lib/sigprocmask.c (handler_t): Restore typedef. (rpl_signal, old_handlers): Use local type. 2008-06-22 Bruno Haible * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test conditionally. Reported by Albert Chin . 2008-06-22 Bruno Haible * doc/posix-functions/siginterrupt.texi: Move note. * lib/signal.in.h (SA_RESTART): New macro. * lib/sigaction.c: Update comment. * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS. * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro. (gl_PREREQ_SIGPROCMASK): Invoke it. * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise. * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed. * lib/sigprocmask.c: Update a comment. 2008-06-21 Eric Blake Use sigaction module rather than signal(). * modules/c-stack (Depends-on): Add sigaction. * modules/fatal-signal (Depends-on): Likewise. * modules/nanosleep (Depends-on): Likewise. * modules/sigprocmask (Files): Add sig-handler.h. * modules/sigaction (Files): Likewise. * lib/sig-handler.h (get_handler): New file, suggested by Paul Eggert. * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions. (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal. * lib/fatal-signal.c (uninstall_handlers, install_handlers) (init_fatal_signals): Likewise. * lib/nanosleep.c (rpl_nanosleep): Likewise. (siginterrupt): Delete fallback. * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t instead. * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for siginterrupt. New module sigaction, for mingw. * modules/sigaction: New module... * modules/sigaction-tests: ...and its test. * m4/sigaction.m4: New file. * lib/sigaction.c: Likewise. * tests/test-sigaction.c: Likewise. * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables. * modules/signal (Makefile.am): Likewise. * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when needed. * doc/posix-headers/signal.texi (signal.h): Mention provided types. * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention that sigaction is preferable. * doc/posix-functions/sigaction.texi (sigaction): Mention new module. * MODULES.html.sh (Support for systems lacking POSIX:2001): Add sigaction. Improve robustness of sigprocmask by overriding signal. * lib/signal.in.h (rpl_signal): Override signal when sigprocmask is in use. * lib/sigprocmask.c (blocked_handler): Reinstall block handler. (SIGKILL, SIGSTOP): Provide fallbacks. (rpl_signal): Implement. (old_handlers, blocked_set): Mark volatile, since sigprocmask and signal can be called inside handlers. Fix nanosleep module on mingw. * modules/nanosleep (Depends-on): Add sys_select. * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module. Fix licensing of sigprocmask. * modules/raise (License): Relicense as LGPL. 2008-06-21 Bruno Haible * lib/propername.c (proper_name_utf8): Don't use the transliterated result if it contains question marks. Reported by Michael Geng . 2008-06-19 Bruno Haible Fix CVS-ism. * doc/gnulib.texi: Include updated-stamp.texi. * doc/Makefile (GNULIB_TEXI_FILES): New variable. (updated-stamp.texi): New rule. (gnulib.info): Depend on it. * doc/.gitignore: Add updated-stamp.texi. Based on a patch by Thien-Thi Nguyen . 2008-06-19 Bruno Haible * doc/Makefile (gnulib.info): Update and simplify dependencies. Reported by Thien-Thi Nguyen . 2008-06-19 Eric Blake Fix VPATH 'make dist' with GNU make and non-VCS tarball. * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily. Reported by Stepan Kasal. 2008-06-18 Bruno Haible * lib/fatal-signal.c (init_fatal_signals): Add comment. Reported by Eric Blake. 2008-06-18 Eric Blake Work around cygwin 1.5.25 strsignal bug. * tests/test-strsignal.c: Allow for const char *. * doc/glibc-functions/strsignal.texi (strsignal): Document the bug. 2008-06-18 Simon Josefsson * users.txt: Update URL to article and add author/date information. 2008-06-17 Bruno Haible New macro gl_DISABLE_THREADS. * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default if the user did not pass --enable-threads or --disable-threads option. (gl_DISABLE_THREADS): New macro. Reported by Eric Blake . 2008-06-17 Bruno Haible * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also when the macro ignores it. Based on a patch by Eric Blake . 2008-06-17 Bruno Haible * modules/tls (License): Change to LGPLv2+. Reported by Eric Blake. 2008-06-17 Eric Blake Simplify c-stack prerequisites. * lib/c-stack.c (includes): Remove unused . * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x no longer requires to exist. Optimize setrlimit check. (gl_PREREQ_C_STACK): Remove check for unused getcontext and . Move c-stack test into testsuite. * modules/c-stack-tests: New file. * lib/c-stack.c [DEBUG]: Move test program... * tests/test-c-stack.c: ...into this new file. Skip rather than fail test if sigaltstack is lacking. * tests/test-c-stack.sh: New driver file. 2008-06-16 Eric Blake Use raise module consistently. * modules/fatal-signal (Depends-on): Add raise. * modules/sigprocmask (Depends-on): Likewise. * lib/fatal-signal.c (fatal_signal_handler): Rely on raise. * lib/sigprocmask.c (sigprocmask): Likewise. * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise. * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise. Fix compliance bug in sigpending. * lib/sigprocmask.c (sigpending): Return pending array via parameter, not return value. 2008-06-14 Eric Blake Improve obstack-printf test code. * tests/test-obstack-printf.c (test_function): Fix comment, and simplify usage of obstack_* in macros. Add a test for coverage. Reported by Bruno Haible. 2008-06-14 Bruno Haible * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated array size as a constant, not as a const variable. * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require AC_USE_SYSTEM_EXTENSIONS. * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise. Test whether the obstack_printf function actually exists. * modules/obstack-printf (Depends-on): Add extensions. (Include): Remove obstack.h. * modules/obstack-printf-posix (Depends-on): Add extensions. (Include): Remove obstack.h. 2008-06-13 Eric Blake Add obstack-printf and obstack-printf-posix modules. * modules/obstack-printf: New file. * modules/obstack-printf-posix: Likewise. * MODULES.html.sh (Misc): Mention them. * doc/glibc-functions/obstack_printf.texi (obstack_printf): Likewise. * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf): Likewise. * modules/stdio (Makefile.am): Accomodate new modules. * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise. * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf): Declare. * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New functions. * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF) (gl_REPLACE_OBSTACK_PRINTF): New macros * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise. * tests/test-obstack-printf.c: New file. * modules/obstack-printf-tests: Likewise. * modules/obstack-printf-posix-tests: Likewise. 2008-06-11 Bruno Haible * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug. * lib/open.c: Include errno.h. (open): Fail when attempting to write to a file that has a trailing slash. * tests/test-open.c (main): Test against trailing slash bug. * doc/posix-functions/open.texi: Mention the trailing slash bug. 2008-06-10 Bruno Haible * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed for $? to work inside the trap command, with various /bin/sh-s. * tests/test-vc-list-files-cvs.sh: Likewise. 2008-06-10 Bruno Haible * lib/acl-internal.h: Don't include gettext.h here. * lib/set-mode-acl.c: Include gettext.h here. * lib/copy-acl.c: Likewise. 2008-06-10 Bruno Haible * lib/wait-process.h (wait_subprocess): Add termsigp argument. * lib/wait-process.c (wait_subprocess): Likewise. * lib/execute.h (execute): Add termsigp argument. * lib/execute.c (execute): Likewise. * lib/csharpcomp.c (compile_csharp_using_pnet, compile_csharp_using_mono, compile_csharp_using_sscli): Update. * lib/csharpexec.c (execute_csharp_using_pnet, execute_csharp_using_mono, execute_csharp_using_sscli): Update. * lib/javacomp.c (compile_using_envjavac, compile_using_gcj, compile_using_javac, compile_using_jikes, is_envjavac_gcj, is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present, is_jikes_present): Update. * lib/javaexec.c (execute_java_class): Update. * lib/javaversion.c (execute_and_read_line): Update. * NEWS: Document the changes. Reported by Eric Blake. 2008-06-10 Eric Blake Add missing include. * tests/test-strstr.c (includes): Add . * tests/test-strcasestr.c (includes): Likewise. * tests/test-memmem.c (includes): Likewise. 2008-06-10 Bruno Haible * lib/wait-process.c (wait_subprocess): Add an assertion. 2008-06-10 Bruno Haible * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code. 2008-06-10 Bruno Haible * tests/test-memmem.c (main): Reset SIGALRM to default handling before using alarm(). * tests/test-strcasestr.c (main): Likewise. * tests/test-strstr.c (main): Likewise. 2008-06-09 Bruno Haible Work around the Solaris 10 ACE ACLs ABI change. * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't declare if ACL_NO_TRIVIAL is present. (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE, NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE, NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros. * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't define if ACL_NO_TRIVIAL is present. (acl_ace_nontrivial): Detect whether the old or new ABI is in use, and use the current ABI. (file_has_acl): Use same #if condition as elsewhere. * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is in use, and use the current ABI. * doc/acl-resources.txt: More doc about newer Solaris 10 versions. Reported by Jim Meyering. 2008-06-09 Eric Blake Work around environments that (stupidly) ignore SIGALRM. * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling before using alarm(). * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise. * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise. Reported by Ian Beckwith . Produce autobuild blurb earlier in log. * modules/autobuild (configure.ac-early): Move AB_INIT here. 2008-06-09 Jim Meyering and Ondřej Vašík utimens.c: correct kernel bug work-around Ondřej Vašík found that the invalid return value of 280 indicates failure, not success, and the kernel bug we're trying to work around affects not just the utimensat call, but also the fallback futimens call. * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure, not success. [HAVE_FUTIMENS]: Use the same work-around, here. 2008-06-09 Jim Meyering add more guards around definition of ACE_-related code * lib/file-has-acl.c (acl_ace_nontrivial): Define only if ALLOW and ACE_OWNER are also defined. 2008-06-08 Bruno Haible * lib/acl-internal.h: Add me as co-author. * lib/file-has-acl.c: Likewise. * lib/set-mode-acl.c: Likewise. * lib/copy-acl.c: Likewise. 2008-06-08 Bruno Haible Add support for AIX ACLs. * lib/acl-internal.h (acl_nontrivial): New declaration. * lib/file-has-acl.c (acl_nontrivial): New function. (file_has_acl): Add implementation using AIX 4 ACL API. * lib/set-mode-acl.c (qset_acl): Likewise. * lib/copy-acl.c (qcopy_acl): Likewise. 2008-06-08 Bruno Haible Add support for HP-UX ACLs. * lib/acl-internal.h (acl_nontrivial): New declaration. * lib/file-has-acl.c (acl_nontrivial): New function. (file_has_acl): Add implementation using HP-UX 11 ACL API. * lib/set-mode-acl.c (qset_acl): Likewise. * lib/copy-acl.c (qcopy_acl): Likewise. 2008-06-08 Bruno Haible Add support for Cygwin ACLs. * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API. * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away the chmod_or_fchmod call. * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise. 2008-06-08 Bruno Haible Fix bug with setuid modes in Solaris 10+ code. * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set succeeded, when the mode contains some special bits. 2008-06-08 Bruno Haible Add support for Solaris 7..10 ACLs. * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New declarations. * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New functions. (file_has_acl): Add implementation using Solaris 7..10 ACL API. * lib/set-mode-acl.c (qset_acl): Likewise. * lib/copy-acl.c (qcopy_acl): Likewise. 2008-06-08 Bruno Haible * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New declaration. * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function. (acl_access_nontrivial): Remove MacOS X case. (file_has_acl): Use acl_extended_nontrivial. * lib/copy-acl.c (qcopy_acl): Likewise. 2008-06-08 Bruno Haible * lib/set-mode-acl.c (qset_acl): Trivial code simplifications. 2008-06-08 Jim Meyering * modules/acl (Maintainer): Add Bruno Haible. 2008-06-07 Bruno Haible Improve support for Tru64 ACLs. * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT ACL on OSF/1. 2008-06-07 Bruno Haible Add support for MacOS X ACLs. * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT. * lib/set-mode-acl.c (qset_acl): Likewise. * lib/copy-acl.c (qcopy_acl): Likewise. 2008-06-07 Bruno Haible Fix memory leak introduced on 2008-05-22. * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after use. 2008-06-07 Bruno Haible * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(), to construct an empty ACL. 2008-06-07 Bruno Haible * lib/set-mode-acl.c (chmod_or_fchmod): Document return value precisely. * lib/copy-acl.c (qcopy_acl): Trivial code simplifications. 2008-06-07 Bruno Haible * lib/copy-acl.c (qcopy_acl): Make the #if branches independent. * lib/set-mode-acl.c (qset_acl): Choose better local variable names. 2008-06-07 Bruno Haible * doc/posix-functions/_setjmp.texi: Explain the use of this function regardless of POSIX. * doc/posix-functions/_longjmp.texi: Likewise. * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a SystemV platform in this case. 2008-06-06 Eric Blake Document abort() bugs. * doc/posix-functions/abort.texi (abort): Mention anomalies. * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp. * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has sigsetjmp. * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has siglongjmp, but only as a macro. * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this is obsolete. * doc/posix-functions/_setjmp.texi (_setjmp): Likewise. Tweak documentation to cover cygwin argz bugs. * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin argz bug fix; no code change needed since no cygwin releases occurred between the last fix and the bug being tested. * doc/glibc-functions/argz_add.texi (argz_add): Document the argz module and recently fixed cygwin bugs. * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise. * doc/glibc-functions/argz_append.texi (argz_append): Likewise. * doc/glibc-functions/argz_count.texi (argz_count): Likewise. * doc/glibc-functions/argz_create.texi (argz_create): Likewise. * doc/glibc-functions/argz_create_sep.texi (argz_create_sep): Likewise. * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise. * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise. * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise. * doc/glibc-functions/argz_next.texi (argz_next): Likewise. * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise. * doc/glibc-functions/argz_stringify.texi (argz_stringify): Likewise. Avoid gcc warning on cygwin. * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE && !ACL_NO_TRIVIAL]: Avoid unused variable. 2008-06-05 Eric Blake Be tolerant of UNKNOWN version in gnulib-tool test dir. * top/GNUmakefile (_dummy): Warn rather than reconfigure if git-version-gen fails to come up with a version. Reported by Simon Josefsson. 2008-06-05 Jim Meyering Paul Eggert utimens.c: work around a probable Linux kernel bug * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what appears to be a kernel bug that causes utimensat to return 280 instead of 0, indicating success. 2008-06-04 Bruno Haible * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes 2008-06-01 commit. 2008-06-04 Bruno Haible * lib/acl-internal.h (acl_access_nontrivial): New declaration. * lib/file-has-acl.c (acl_access_nontrivial): New function. (file_has_acl): Use it. Save errno afterwards. * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial. 2008-06-03 Bruno Haible * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX- draft code. Simplify #ifs. * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL. Put Solaris code after POSIX-draft code. Fix comments regarding Solaris 10, HP-UX. Mention Cygwin. * lib/copy-acl.c (qcopy_acl): Simplify #ifs. 2008-06-03 Eric Blake Provide fallback for older kernels. * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]: Provide runtime fallback if kernel lacks support. Reported by Mike Frysinger. 2008-06-02 Bruno Haible * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if it exists. 2008-06-02 Bruno Haible * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry. * lib/copy-acl.c (qcopy_acl): Update comment. 2008-06-02 Bruno Haible * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft like ACL APIs. 2008-06-02 Bruno Haible * tests/test-file-has-acl.sh: Use different code for Cygwin. * tests/test-set-mode-acl.sh: Likewise. * tests/test-copy-acl.sh: Likewise. * tests/test-copy-file.sh: Likewise. 2008-06-02 Bruno Haible * tests/test-file-has-acl.sh: Remove unused code. 2008-06-01 Bruno Haible * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl. (copy_acl): Just a wrapper around qcopy_acl that emits the error messages. * lib/set-mode-acl.c (qset_acl): Document return value precisely. 2008-06-01 Bruno Haible * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris tests. Test for libpacl, needed for OSF/1. Test for extended ACLs, needed for MacOS X. Test for HP-UX API. Test for newer and older AIX APIs. * modules/acl-tests (configure.ac): Remove tests now contained in m4/acl.m4. 2008-06-02 Jim Meyering announce-gen: use a better key-server host name * build-aux/announce-gen (main): Recommend keys.gnupg.net, since it may be more consistently reliable. Suggested by Werner Koch in . 2008-06-01 Bruno Haible * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD. Reported by Voroskoi Andras . 2008-06-01 Voroskoi Andras (tiny change) * lib/stdio-impl.h [__DragonFly__]: Fix typo. 2008-06-01 Bruno Haible New ACL tests. * tests/test-file-has-acl.sh: New file. * tests/test-file-has-acl.c: New file. * tests/test-set-mode-acl.sh: New file. * tests/test-set-mode-acl.c: New file. * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh. * tests/test-copy-acl.c: New file. * modules/acl-tests: New file, based on modules/copy-file-tests. * modules/copy-file-tests (Files): Remove tests/test-sameacls.c. (Depends-on): Add acl-tests. (configure.ac): Remove checks. (Makefile.am): Don't create test-sameacls program here any more. 2008-06-01 Bruno Haible * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX. * tests/test-sameacls.c: Include progname.h. (main): Invoke set_program_name. Portability fixes for MacOS X, Solaris, HP-UX. 2008-06-01 Bruno Haible * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead function. Reported by VOROSKOI Andras . 2008-06-01 Bruno Haible * modules/rpmatch (Depends-on): Add strdup. 2008-06-01 Bruno Haible * lib/pipe.c: Include unistd-safer.h. (create_pipe): Ensure the returned file descriptors are not in {0,1,2}. * modules/pipe (Depends-on): Add unistd-safer. 2008-05-30 Simon Josefsson * modules/autobuild (configure.ac): Call AB_INIT. 2008-05-30 Simon Josefsson * tests/test-getaddrinfo.c: Don't print debug messages by default. Suggested by Bruno Haible . 2008-05-30 Simon Josefsson * tests/test-base64.c: Cast size_t to unsigned long when invoking printf. Use %lu instead of %d. Reported by Bruno Haible . 2008-05-29 Eric Blake Prefer new POSIX 200x interfaces over futimesat. * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat. * lib/utimens.c (gl_futimens): Use them for nanosecond resolution when available. [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation. 2008-05-28 Bruno Haible * modules/stpcpy (License): Change to LGPLv2+. Requested by David Lutterkort . 2008-05-27 Bruno Haible * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for current mingw. Reported by Jose E. Marchesi . 2008-05-27 Bruno Haible * modules/iconv_open (Link): New section, from module 'iconv'. * modules/striconv (Link): Likewise. * modules/striconveh (Link): Likewise. * modules/xstriconv (Link): Likewise. * modules/unicodeio (Link): Likewise. * modules/propername (Link): Likewise. Reported by Jim Meyering. 2008-05-26 Jim Meyering sha256: do not artificially restrict buffer length to be < 2^32 * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from uint32_t to size_t. * lib/sha256.c (sha256_conclude_ctx): Change type of a local to match. avoid unaligned access errors, e.g., on sparc * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than direct access through a possibly-unaligned uint64* pointer. * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than direct access through a possibly-unaligned uint32* pointer. Prompted by this patch from Tom "spot" Callaway: http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638 sha512.c: fix typo in comment * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit. 2008-05-25 Bruno Haible * lib/set-mode-acl.c: Renamed from lib/acl.c. * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c. (Makefile.am): Update lib_SOURCES. 2008-05-25 Bruno Haible * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL. 2008-05-25 Jim Meyering useless-if-before-free: freed expr may have white-space differences * build-aux/useless-if-before-free: Recognize cases in which the freed expression differs from the tested one in embedded white space, e.g., if (p[i + 1]) free(p[i+1]). Correct thinko in prev: $1 was used, so we can't make any regexp shy. Improved tests now detect this. useless-if-before-free: accept white space in the expression. * build-aux/useless-if-before-free: For now, any white space in the expression must be identical in the free argument. useless-if-before-free: efficiency tweak * build-aux/useless-if-before-free: Make the expression-matching regexp "shy". Make the *outer* regexp shy, not the expr-matching one. update code-in-comment to accept cast of free arg * build-aux/useless-if-before-free: Update regexp. 2008-05-25 Bruno Haible * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c. * modules/copy-file-tests (Files, Makefile.am): Update. * tests/test-copy-file.c (func_test_copy): Update. 2008-05-24 Andreas Färber (tiny change) * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds. 2008-05-23 Bruno Haible Improve support for ACLs on OSF/1. * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma. Remove fallback for unknown flavors of ACLs. 2008-05-22 Bruno Haible Add support for ACLs on OSF/1. * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function replacements. (acl_free_text): New macro fallback. * lib/acl_entries.c (acl_entries): Use acl_free_text instead of acl_free. * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for acl_free_text function. Require AC_C_INLINE. 2008-05-22 Bruno Haible Make copy_acl work on MacOS X 10.5. * lib/acl-internal.h (MODE_INSIDE_ACL): New macro. (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT. * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL. If MODE_INSIDE_ACL, don't assume that every system has the same text representation for ACLs as FreeBSD. * lib/copy-acl.c (copy_acl): Add support for platforms with !MODE_INSIDE_ACL. * lib/file-has-acl.c (file_has_acl): Likewise. * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of FreeBSD, MacOS X, or IRIX, respectively. 2008-05-22 Bruno Haible * lib/acl.h: Don't include . (GETACLCNT): Move fallback to lib/acl-internal.h. * lib/acl-internal.h: Include here. (GETACLCNT): New macro fallback, moved here from lib/acl.h. 2008-05-22 Bruno Haible Split off copy_acl function to separate file. * lib/copy-acl.c: New file, extracted from lib/acl.c. * lib/acl.c (copy_acl): Moved function to separate file. * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs. * modules/acl (Files): Add lib/copy-acl.c. (Makefiles.am): Augment lib_SOURCES. 2008-05-22 Bruno Haible * modules/copy-file-tests: New file. * tests/test-copy-file.sh: New file. * tests/test-copy-file.c: New file. * tests/test-copy-file-sameacls.c: New file. 2008-05-22 Eric Blake Avoid gcc warning. * tests/test-memcmp.c (main): Pass NULL indirectly. 2008-05-21 Bruno Haible Add reference doc about ACLs. * doc/acl-resources.txt: New file. * doc/acl-cygwin.txt: New file. 2008-05-21 Bruno Haible Avoid one more warning from gcc. * lib/vasnprintf.c (IF_LINT): Update comments. (VASNPRINTF): Use it also for the 'prefix' array initializer. 2008-05-21 Jim Meyering avoid a warning from gcc * lib/vasnprintf.c (IF_LINT): Define. (scale10_round_decimal_long_double): Use it to avoid a "may be used uninitialized" warning. (scale10_round_decimal_double): Likewise. 2008-05-21 Simon Josefsson * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is declared. 2008-05-20 Bruno Haible * tests/test-memcmp.c (main): Test also the sign of the result. Test against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP. 2008-05-20 Simon Josefsson * modules/memcmp-tests: New file. * tests/test-memcmp.c: New file. 2008-05-19 Bruno Haible * modules/propername (Notice, configure.ac): Put quoted "..." into --keyword option. * lib/propername.h: Update comments accordingly. Reported by Eric Blake. 2008-05-19 Martin Lambers (tiny change) * modules/getpass-gnu (Depends-on): Add fseeko. 2008-05-19 Simon Josefsson * modules/base64-tests: New file. 2008-05-19 Bo Borgerson * lib/base64.c (base64_decode_ctx): If a decode context structure was passed in use it to ignore newlines. If a context structure was _not_ passed in, continue to treat newlines as garbage (this is the historical behavior). Formerly base64_decode. (base64_decode_alloc_ctx): Formerly base64_decode_alloc. Now takes a decode context structure. * lib/base64.h (base64_decode): Macro for four-argument calls. (base64_decode_alloc): Likewise. * lib/base64.c (base64_decode_ctx): If a decode context structure was passed in use it to ignore newlines. If a context structure was _not_ passed in, continue to treat newlines as garbage (this is the historical behavior). Formerly base64_decode. (base64_decode_alloc_ctx): Formerly base64_decode_alloc. Now takes a decode context structure. * lib/base64.h (base64_decode): Macro for four-argument calls. (base64_decode_alloc): Likewise. 2008-05-19 Jim Meyering avoid a warning from gcc * lib/trim.c (IF_LINT): Define. (trim2): Use it to avoid a "may be used uninitialized" warning. Fix doc typo. * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/. 2008-05-19 Bruno Haible * doc/glibc-functions/getpass.texi: Document limits of other implementations. 2008-05-19 Simon Josefsson Bruno Haible * doc/glibc-functions/getpass.texi: Document gnulib implementation. 2008-05-18 Bruno Haible * modules/propername: New file, from GNU gettext. * lib/propername.h: New file, from GNU gettext. * lib/propername.c: New file, from GNU gettext. * MODULES.html.sh (Internationalization functions): Add propername. 2008-05-16 Jim Meyering Bruno Haible Avoid some warnings from "gcc -Wshadow". * lib/vasnprintf.c (exp, remainder): Define to different identifiers. 2008-05-15 Eric Blake Extend previous patch to cygwin 1.7.0. * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast implementation in cygwin >= 1.7.0. * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise. * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise. 2008-05-15 Bruno Haible * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast implementation in glibc >= 2.9. * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise. * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise. 2008-05-15 Bruno Haible * MODULES.html.sh (Internationalization functions): Remove linebreak. (Unicode string functions): Add unilbrk/*. Reported by Karl Berry. 2008-05-15 Eric Blake Fix violation of replacement in regex. * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool. * lib/regexec.c (re_search_internal): Likewise. Reported by Heinrich Mislik . 2008-05-15 Jim Meyering avoid distracting test output when git or cvs is not found * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output. * tests/test-vc-list-files-git.sh: Likewise. 2008-05-15 Eric Blake Glibc finally accepted the memmem speedup code, bugzilla #5514. * doc/glibc-functions/memmem.texi (memmem): Mention last broken glibc version. * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise. * doc/posix-functions/strstr.texi (strstr): Likewise. * lib/str-two-way.h (MAX): Sychronize with glibc. 2008-05-15 Paolo Bonzini * lib/regcomp.c (optimize_utf8): Add a note on why we test opr.ctx_type. (calc_first): Initialize constraint field. (duplicate_node_closure): Use it instead of special casing ANCHORS. Fix grammar. (duplicate_node): Merge constraint field for all node types. (calc_eclosure_iter): Look at constraint field for all node types. * lib/regex_internal.c (create_cd_newstate): Don't look at opr.ctx_type. 2008-05-14 Bruno Haible Help GCC to do better code generation. * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'. * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise. * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro. (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc): Declare with attribute 'malloc' if supported. 2008-05-14 Lasse Collin use "echo STR|wc -c" rather than unportable "expr length STR" * build-aux/mktempd (mktempd): Vendor-supplied expr from at least OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function. 2008-05-14 Jim Meyering use dd ibs=$n count=1 ... rather than less-portable head -c$n * build-aux/mktempd (rand_bytes): head's -cN option is not accepted by Solaris 10's /bin/head or by the one from HP-UX 11.x. Reported in http://sourceforge.net/forum/message.php?msg_id=4960334 via Collin Lasse. 2008-05-14 Eric Blake Avoid quadratic growth in gl_LIBSOURCES. * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/. Suggested by Bruno Haible. Test xmemdup0. * modules/xmemdup0-tests: New file. * tests/test-xmemdup0.c: Likewise. 2008-05-13 Eric Blake Split xmemdup0 into its own module. * modules/xmemdup0: New file. * lib/xmemdup0.h: Likewise. * lib/xmemdup0.c: Likewise. * MODULES.html.sh (Memory management functions): Add xmemdup0. * lib/xalloc.h (xmemdup0): Remove. * lib/xmalloc.c (xmemdup0): Likewise. 2008-05-13 Eric Blake Bruno Haible Reduce number of forks required during autoconf. * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST and gl_LIBSOURCES_DIR. (func_emit_initmacro_end): Use them here in a single m4_syscmd... (func_emit_initmacro_done) : ...rather than in one m4_syscmd per file. : Move... * m4/gnulib-common.m4 (m4_foreach_w): ...here. 2008-05-13 Eric Blake * gnulib-tool: Fix various comment typos. 2008-05-12 Bruno Haible Tailor the linebreaking algorithm. * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry. 2008-05-12 Bruno Haible Update to Unicode 5.0.0. * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL, LBP_JV, LBP_JT. Redistribute values. (unilbrk_table): Change size. * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match Unicode TR#14 rev. 22. * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL, LBP_JV, LBP_JT. Redistribute values. (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0. (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp): Update. * lib/unilbrk/lbrkprop1.h: Regenerated. * lib/unilbrk/lbrkprop2.h: Regenerated. * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks): Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK. * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks): Likewise. * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks): Likewise. * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected result. * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise. * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise. * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise. * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise. * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise. * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise. 2008-05-11 Bruno Haible * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace. 2008-05-11 Bruno Haible * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c). * modules/unilbrk/gen-lbrk: New file. 2008-05-11 Bruno Haible * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE. * m4/sha512.m4 (gl_SHA512): Likewise. 2008-05-11 Jim Meyering New modules: crypto/sha256, crypto/sha512 (from coreutils) * modules/crypto/sha256: New file. * modules/crypto/sha512: Likewise. * lib/sha256.c: Likewise. * lib/sha256.h: Likewise. * lib/sha512.c: Likewise. * lib/sha512.h: Likewise. * lib/u64.h: Likewise. * m4/sha256.m4: Likewise. * m4/sha512.m4: Likewise. * MODULES.html.sh (Cryptographic computations (low-level)): List them. 2008-05-10 Bruno Haible * MODULES.html.sh (Environment variables ): Add unsetenv. (Input/Output ): Add xprintf. (Signal handling ): Add strsignal. (Cryptographic computations (high-level)): Add crypto/gc-camellia. (Core language properties): Add func. (Mathematics ): Add ceil, floor, frexp-nolibm. (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW, strings. (Enhancements for POSIX:2001 functions): Add iconv_open-utf. (Input/output): New section. (File system functions): Add openat-die, stat-macros. (Networking functions): Add sockets. (Unicode string functions): Add unictype/*. (Support for building libraries and executables): Add gperf. (Support for building documentation): Add agpl-3.0. (Misc): Add nocrash. 2008-05-10 Bruno Haible * modules/unictype/gen-ctype: New file. 2008-05-10 Jim Meyering Make chdir-safer.c more efficient on a system with no symlinks. * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls also if ELOOP is zero. Suggested by Bruno Haible. Make chdir-safer.c slightly safer. * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW, not O_NOFOLLOW, in case the latter is nonzero and open ignores it. Avoid compile failure on systems without ELOOP (like mingw). * lib/chdir-safer.c (ELOOP): Define if not already defined. Reported by Bruno Haible. 2008-05-10 Bruno Haible * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h. (is_utf8_encoding): Use a case-insensitive comparison. * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove streq. 2008-05-10 Bruno Haible * lib/unilbrk/ulc-common.c: Don't include . (iconv_string_length, iconv_string_keeping_offsets): Remove functions. * lib/unilbrk/ulc-common.h (iconv_string_length, iconv_string_keeping_offsets): Remove declarations. * lib/unilbrk/ulc-possible-linebreaks.c: Include , uniconv.h. Don't include , streq.h, xsize.h. (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the conversion. * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include , streq.h, xsize.h. (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the conversion. * modules/unilbrk/ulc-common (Depends-on): Remove iconv. * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize. * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise. 2008-05-10 Bruno Haible * modules/unilbrk/ulc-width-linebreaks-tests: New file. * tests/unilbrk/test-ulc-width-linebreaks.c: New file. * modules/unilbrk/u32-width-linebreaks-tests: New file. * tests/unilbrk/test-u32-width-linebreaks.c: New file. * modules/unilbrk/u16-width-linebreaks-tests: New file. * tests/unilbrk/test-u16-width-linebreaks.c: New file. * modules/unilbrk/u8-width-linebreaks-tests: New file. * tests/unilbrk/test-u8-width-linebreaks.c: New file. * modules/unilbrk/ulc-possible-linebreaks-tests: New file. * tests/unilbrk/test-ulc-possible-linebreaks.c: New file. * modules/unilbrk/u32-possible-linebreaks-tests: New file. * tests/unilbrk/test-u32-possible-linebreaks.c: New file. * modules/unilbrk/u16-possible-linebreaks-tests: New file. * tests/unilbrk/test-u16-possible-linebreaks.c: New file. * modules/unilbrk/u8-possible-linebreaks-tests: New file. * tests/unilbrk/test-u8-possible-linebreaks.c: New file. 2008-05-10 Bruno Haible Split up 'linebreak' module. * lib/unilbrk.h: New file, based on lib/linebreak.h. * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h. * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with modifications. * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c. * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c. * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from lib/linebreak.c. * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from lib/linebreak.c. * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from lib/linebreak.c. * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c. * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c. * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from lib/linebreak.c. * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from lib/linebreak.c. * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from lib/linebreak.c. * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from lib/linebreak.c. * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from lib/linebreak.c. * modules/unilbrk/base: New file. * modules/unilbrk/tables: New file. * modules/unilbrk/u8-possible-linebreaks: New file. * modules/unilbrk/u16-possible-linebreaks: New file. * modules/unilbrk/u32-possible-linebreaks: New file. * modules/unilbrk/ulc-common: New file. * modules/unilbrk/ulc-possible-linebreaks: New file. * modules/unilbrk/u8-width-linebreaks: New file. * modules/unilbrk/u16-width-linebreaks: New file. * modules/unilbrk/u32-width-linebreaks: New file. * modules/unilbrk/ulc-width-linebreaks: New file. * lib/linebreak.h: Remove file. * lib/linebreak.c: Remove file. * m4/linebreak.m4: Remove file. * modules/linebreak: Remove file. * NEWS: Mention the changes. 2008-05-09 Eric Blake Add xmemdup0. * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe implementation. * lib/xmalloc.c (xmemdup0): New C implementation. 2008-05-08 Bruno Haible * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation. 2008-05-07 Eric Blake Support cross-compilation of . * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in AC_CACHE_CHECK. 2008-05-06 Soren Hansen (tiny change) * build-aux/vc-list-files: Add support for bzr. 2008-05-03 Jim Meyering avoid failed assertion with tight malloc * tests/test-getndelim2.c: Correct an off-by-one assertion. 2008-05-03 Simon Josefsson * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations are needed from arpa/inet.h. * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP. Reported by Bruno Haible. 2008-05-02 Jim Meyering avoid compilation error on FreeBSD 6 * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define. 2008-05-01 Jim Meyering useless-if-before-free: correct --help's exit status description * build-aux/useless-if-before-free (usage): Like grep, exit 0 for one or more matches, etc. Reported by Bruno Haible. vc-list-files: make the stand-alone gnulib test work * modules/vc-list-files-tests (configure.ac): Define and AC_SUBST abs_aux_dir. (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing $(abs_top_srcdir) to each script and having each of them duplicate the work of setting PATH, set PATH here, using the new variable, abs_aux_dir instead. * tests/test-vc-list-files-cvs.sh: Don't set PATH here. * tests/test-vc-list-files-git.sh: Likewise. Reported by Bruno Haible. 2008-05-01 Bruno Haible * lib/getndelim2.c (getndelim2): Fix newsize computation during reallocation. Rename 'done' to 'found_delimiter'. 2008-05-01 Jim Meyering vc-list-files: accommodate /bin/sh like the one from Solaris 10 * build-aux/vc-list-files: Use `...`, not $(...). 2008-04-30 Jim Meyering add tests for vc-list-files * modules/vc-list-files-tests: New module. * tests/test-vc-list-files-cvs.sh: New file. * tests/test-vc-list-files-git.sh: New file. avoid a warning from gcc * lib/getndelim2.c (IF_LINT): Define. (getndelim2): Use it to avoid a "may be used uninitialized" warning. vc-list-files: work properly with build-aux/cvsu, too * build-aux/vc-list-files: Hoist the "./"-removing code to apply to all cvs-based clauses. vc-list-files: work properly in the CVS+awk case, too * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix. vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer take more than one file argument, so . Add quotes, just in case $dir ever contains a shell meta-character. Prompted by Soren Hansen in . 2008-04-29 Eric Blake Optimize getndelim2 to use block operations when possible. * modules/getndelim2 (Depends-on): Add stdbool, freadptr, freadseek, and memchr2. * lib/getndelim2.c (getndelim2): Use them for block reads. 2008-04-29 Bruno Haible * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS. * m4/inet_pton.m4 (gl_INET_PTON): Likewise. * modules/inet_ntop (Depends-on): Add extensions. * modules/inet_pton (Depends-on): Likewise. Reported by Simon Josefsson. 2008-04-29 Jim Meyering When the is more than one match in a block, match all of them. * build-aux/useless-if-before-free: Iterate through each block until there are no more matches. Fix broken useless-if-before-free script. * build-aux/useless-if-before-free: Fix typo: missing "?" after the expression to match cast of argument to free-like function. 2008-04-29 Eric Blake Use new header. * lib/getaddrinfo.c (includes): s/"inet_ntop.h"//. 2008-04-29 Jim Meyering Avoid test segfault on x86_64 due to lack of inet_ntop declaration. * tests/test-getaddrinfo.c: Include , now guaranteed by gnulib to exist and to declare e.g., inet_ntop. Don't include "inet_ntop.h", now removed. * m4/arpa_inet_h.m4: Remove trailing blanks. 2008-04-29 Eric Blake Silence valgrind on safe reads beyond potential array bounds. * lib/rawmemchr.valgrind: New file. * lib/strchrnul.valgrind: Likewise. * modules/rawmemchr (Files): Distribute new file. * modules/strchrnul (Files): Likewise. Suggested by Bruno Haible. 2008-04-29 Bruno Haible * lib/arpa_inet.in.h: Include system's if it exists. (inet_ntop, inet_pton): Change portability warning's wording. * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H. Invoke gl_CHECK_NEXT_HEADERS. (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H. * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and set ARPA_INET_H. * m4/inet_pton.m4 (gl_INET_PTON): Likewise. * modules/arpa_inet (Description): No longer only for systems that lack it. (Depends-on): Add include_next. (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H, HAVE_ARPA_INET_H. 2008-04-29 Jim Meyering * modules/mkdir (License): Re-license as LGPLv2+. 2008-04-29 Bruno Haible * modules/rawmemchr (Maintainer): Set to Eric. * modules/strchrnul (Maintainer): Likewise. 2008-04-29 Simon Josefsson * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON. * modules/arpa_inet (arpa/inet.h): Use them. 2008-04-28 Eric Blake Test getndelim2. * modules/getndelim2-tests: New file. * tests/test-getndelim2.c: Likewise. * lib/getndelim2.c (getndelim2): Never return 0. Lock the stream. * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions. * MODULES.html.sh: Document new module. 2008-04-20 Bruno Haible * lib/c-stack.c (die): Use raise. * modules/c-stack (Depends-on): Add raise. 2008-04-28 Bruno Haible Expect rpmatch to be declared. * lib/yesno.c (rpmatch): Remove declaration. Declare rpmatch. * lib/stdlib.in.h (rpmatch): New declaration. * lib/rpmatch.c: Include first. * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH. * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH, HAVE_RPMATCH. * modules/rpmatch (Depends-on): Add stdlib, extensions. (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. (Include): Set to . * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and HAVE_RPMATCH. * NEWS: Document the change. 2008-04-28 Bruno Haible Change rpmatch to use nl_langinfo when appropriate. * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h. (N_): New macro. (localized_pattern): New function/macro. (try): Remove match, nomatch arguments. Copy the pattern into safe memory before caching it. (rpmatch): Use localized_pattern. Add translator comments. * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR. Suggested by Eric Blake. * modules/rpmatch (Depends-on): Add stdbool. 2008-04-28 Eric Blake Add rawmemchr module, matching glibc. * modules/string (Makefile.am): New indicator. * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it. * lib/string.in.h (rawmemchr): Declare when appropriate. * modules/rawmemchr: New file. * m4/rawmemchr.m4: Likewise. * lib/rawmemchr.c: Likewise. * modules/rawmemchr-tests: Likewise. * tests/test-rawmemchr.c: Likewise. * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document module. * modules/strchrnul (Depends-on): Add rawmemchr. * lib/strchrnul.c (strchrnul): Optimize a corner case. Whitespace cleanup. * tests/test-strchrnul.c: Reindent. * lib/strchrnul.c: Likewise. Optimize and test strchrnul. * lib/strchrnul.c (strchrnul): Rewrite to do parallel search. * modules/strchrnul-tests: New file. * tests/test-strchrnul.c: Likewise. Remove intprops dependency. * modules/memchr (Depends-on): Remove intprops. * modules/memrchr (Depends-on): Likewise. * modules/memchr2 (Depends-on): Likewise. * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check. * lib/memrchr.c (__memrchr): Likewise. * lib/memrchr2.c (memchr2): Likewise. Reported by Simon Josefsson. 2008-04-28 Simon Josefsson * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top. Suggested by Ralf Wildenhues . 2008-04-28 Simon Josefsson * lib/inet_ntop.h, lib/inet_pton.h: Remove files. * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h. * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h. * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h declarations. [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations. * m4/inet_pton.m4: Don't check for header files. * m4/inet_ntop.m4: Don't check for header files. 2008-04-28 Simon Josefsson * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary. * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't trigger for cygwin). Reported by Bruno Haible . 2008-04-28 Bruno Haible * doc/posix-functions/strdup.texi: Mention mingw problem. 2008-04-27 Bruno Haible * modules/stat-time-tests (Depends-on): Add sleep. * tests/test-stat-time.c (force_unlink): New function. (cleanup): Use it. (test_mtime): Remove the ctime related tests. (test_ctime): New function, containing the ctime related tests. (main): Call test_ctime, except on native Windows platforms. 2008-04-27 Bruno Haible * lib/rpmatch.c (rpmatch): Add some comments. Reported by James Youngman . 2008-04-27 Bruno Haible * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on quiet NaNs. 2008-04-27 Bruno Haible Make test-yesno.sh work on mingw. * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF. * tests/test-yesno.c: Include yesno.h first. Include binary-io.h. (main): Set stdin to binary mode. * modules/yesno-tests (Depends-on): Add binary-io. 2008-04-27 Bruno Haible Fix 'isfinite' on x86, x86_64, ia64 platforms. * tests/test-isfinite.c (test_isfinitel): Also test the behavior on argument that lie outside the IEEE 854 domain. * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro. (gl_ISFINITE): Use it. * doc/posix-functions/isfinite.texi: Document the fixed bugs. 2008-04-27 Bruno Haible Allow local renaming in config.h. * lib/memrchr.c (memrchr): Don't undefine outside libc. 2008-04-27 Bruno Haible * lib/memchr.c (__memchr): Change type of 'i'. * lib/memchr2.c (memchr2): Likewise. 2008-04-26 Eric Blake and Bruno Haible Optimize and test memrchr. * modules/memrchr (Depends-on): Add intprops. * lib/memrchr.c (__memrchr): Avoid false positives in loop. * modules/memrchr-tests: New file. * tests/test-memrchr.c: New file. 2008-04-26 Bruno Haible Add tentative support for DragonFly BSD. * lib/stdio-impl.h: Add macros for DragonFly BSD. * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of fp. * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization, restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise. * lib/fpurge.c (fpurge): Likewise. * lib/freadable.c (freaadable): Likewise. * lib/freadahead.c (freadahead): Likewise. * lib/freading.c (freading): Likewise. * lib/freadptr.c (freadptr): Likewise. * lib/freadseek.c (freadptrinc): Likewise. * lib/fseeko.c (fseeko): Likewise. * lib/fseterr.c (fseterr): Likewise. * lib/fwritable.c (fwritable): Likewise. * lib/fwriting.c (fwriting): Likewise. 2008-04-26 Bruno Haible * lib/stdio-impl.h: New file. * lib/fbufmode.c: Include stdio-impl.h. (fbufmode): Use fp_, remove redundant #defines. * lib/fflush.c: Include stdio-impl.h. (clear_ungetc_buffer): Remove redundant #defines. * lib/fpurge.c: Include stdio-impl.h. (fpurge): Remove redundant #defines. * lib/freadable.c: Include stdio-impl.h. (freadable): Remove redundant #defines. * lib/freadahead.c: Include stdio-impl.h. (freadahead): Remove redundant #defines. * lib/freading.c: Include stdio-impl.h. (freading): Remove redundant #defines. * lib/freadptr.c: Include stdio-impl.h. (freadptr): Remove redundant #defines. * lib/freadseek.c: Include stdio-impl.h. (freadptrinc): Remove redundant #defines. * lib/fseeko.c: Include stdio-impl.h. (rpl_fseeko): Remove redundant #defines. * lib/fseterr.c: Include stdio-impl.h. (fseterr): Remove redundant #defines. * lib/fwritable.c: Include stdio-impl.h. (fwritable: Remove redundant #defines. * lib/fwriting.c: Include stdio-impl.h. (fwriting): Remove redundant #defines. * modules/fbufmode (Files): Add lib/stdio-impl.h. * modules/fflush (Files): Likewise. * modules/fpurge (Files): Likewise. * modules/freadable (Files): Likewise. * modules/freadahead (Files): Likewise. * modules/freading (Files): Likewise. * modules/freadptr (Files): Likewise. * modules/freadseek (Files): Likewise. * modules/fseeko (Files): Likewise. * modules/fseterr (Files): Likewise. * modules/fwritable (Files): Likewise. * modules/fwriting (Files): Likewise. 2008-04-26 Bruno Haible * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization, restore_seek_optimization, update_fpos_cache): New functions, extracted from rpl_fflush. (rpl_fflush): Use them. * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro. (gl_REPLACE_FFLUSH): Use it. 2008-04-26 Bruno Haible * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program on Solaris. * tests/test-xstrtoimax.sh: Likewise. * tests/test-xstrtoumax.sh: Likewise. Reported by Ralf Wildenhues . 2008-04-26 Bruno Haible * modules/memchr-tests: New file. * tests/test-memchr.c; New file, based on tests/test-memchr2.c. 2008-04-26 Eric Blake Bruno Haible * lib/memchr.c: Include intprops.h. (__memchr): Optimize parallel detection of matching bytes. Rename local variables. Add explanatory comments. 2008-04-26 Bruno Haible Fix module 'memchr', broken since 2000-10-28. * lib/memchr.c: Outside glibc, define memchr, not __memchr. 2008-04-26 Bruno Haible * lib/memchr2.c (memchr2): Rename local variables. Add explanatory comments. 2008-04-25 Eric Blake Use native fstatat on cygwin 1.7.0. * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made first. 2008-04-23 Eric Blake Improve memchr2 performance. * lib/memchr2.c (memchr2): Further optimize parallel detection of NUL bytes. * modules/memchr2 (Depends-on): Use intprops.h. 2008-04-23 Simon Josefsson * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring an inline function instead of a CPP macro. Patch by Ben Pfaff . 2008-04-23 Simon Josefsson * lib/arpa_inet.in.h: New file. * modules/arpa_inet (Files): Add lib/arpa_inet.in.h. (Makefile.am): Sed in substitute header file. * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and gl_ARPA_INET_MODULE_INDICATOR. Use them. * modules/inet_ntop (configure.ac): Use gl_ARPA_INET_MODULE_INDICATOR. * modules/inet_pton (configure.ac): Use gl_ARPA_INET_MODULE_INDICATOR. 2008-04-22 Jim Meyering * modules/verify (License): Re-license as LGPLv2+. 2008-04-22 Simon Josefsson * lib/sys_socket.in.h: Define setsockopt macro to cast fourth parameter to void* as per POSIX standard (MinGW uses char*). 2008-04-21 Bruno Haible * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit): Define to replacements if REPLACE_ISWCNTRL is 1. * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work. If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1. * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL. * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and what it fixes. * doc/posix-functions/iswalpha.texi: Likewise. * doc/posix-functions/iswblank.texi: Likewise. * doc/posix-functions/iswcntrl.texi: Likewise. * doc/posix-functions/iswdigit.texi: Likewise. * doc/posix-functions/iswgraph.texi: Likewise. * doc/posix-functions/iswlower.texi: Likewise. * doc/posix-functions/iswprint.texi: Likewise. * doc/posix-functions/iswpunct.texi: Likewise. * doc/posix-functions/iswspace.texi: Likewise. * doc/posix-functions/iswupper.texi: Likewise. * doc/posix-functions/iswxdigit.texi: Likewise. Reported by Alain Guibert. 2008-04-21 Bruno Haible * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit. Patch by Alain Guibert. 2008-04-21 Bruno Haible Fix test failures on mingw. * tests/test-xstrtol.c (print_no_progname): New function. (main): Install it in error_print_progname hook. * tests/test-xstrtol.sh: Convert CR/LF to NL in output. * tests/test-xstrtoimax.sh: Likewise. * tests/test-xstrtoumax.sh: Likewise. 2008-04-21 Bruno Haible Fix test failure on mingw. * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output. 2008-04-21 Bruno Haible * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN): Actually assign a value. 2008-04-20 Bruno Haible Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl', take 2. * lib/canonicalize.c (canonicalize_file_name): Elide if the 'canonicalize-lgpl' module is also used. * lib/canonicalize-lgpl.c: Undo last change. * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR. 2008-04-20 Bruno Haible * lib/mkdir.c (mkdir): Undefine after the includes, not right after config.h. Provide _mkdir based fallback for mingw. * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration if REPLACE_MKDIR is 1. Otherwise, test for mingw directly. * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR rather than defining mkdir in config.h. * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro. (gl_SYS_STAT_H_DEFAULTS): New macro. (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and HAVE_IO_H any more. * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of HAVE_DECL_MKDIR and HAVE_IO_H. 2008-04-20 Bruno Haible * lib/isapipe.c: Port to native Windows platforms. 2008-04-20 Bruno Haible * lib/gc-gnulib.c: Include before . 2008-04-21 Eric Blake Work around preprocessors that don't handle UINTMAX_MAX. * lib/memchr2.c (memchr2): Avoid embedded #if. Reported by Alain Guibert, fix suggested by Bruno Haible. 2008-04-21 Simon Josefsson * doc/posix-functions/strftime.texi (strftime): Explain better Windows incompatibility. Suggested by Micah Cowan . 2008-04-20 Bruno Haible * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen, unistr/u8-mblen. 2008-04-20 Bruno Haible Fix test failure on platforms with non-GNU iconv. * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function. (U_TO_U8): Use it, rather than u16_to_u8. * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of units at the end of the input string. * modules/uniconv/u16-conv-to-enc (Depends-on): Update. 2008-04-20 Bruno Haible * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL when the resulting length is 0. * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise. 2008-04-20 Bruno Haible * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually works. * doc/posix-functions/roundf.texi: Mention roundf bug on mingw. 2008-04-20 Bruno Haible * tests/test-tsearch.c (main): Don't use initstate if it is missing. * modules/tsearch-tests (configure.ac): Test for initstate function. 2008-04-20 Bruno Haible * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute for nlink_t if missing. * tests/test-sys_stat.c: Check the existence of the nlink_t type. 2008-04-19 Bruno Haible Work around snprintf bug on Linux libc5. * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro. * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke gl_SNPRINTF_SIZE1. * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise. * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if that test failed. * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise. * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems. * modules/snprintf (Files): Add m4/printf.m4. * modules/vsnprintf (Files): Likewise. * doc/posix-functions/snprintf.texi: Document Linux libc5 problem. * doc/posix-functions/vsnprintf.texi: Likewise. 2008-04-19 Bruno Haible * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error from 0.0058 to less than 10^-7. 2008-04-19 Bruno Haible Fix rounding when a precision is given. * lib/vasnprintf.c (is_borderline): New function. (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with 9...9x. * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f, %e, %g. * tests/test-vasprintf-posix.c (test_function): Likewise. * tests/test-snprintf-posix.h (test_function): Likewise. * tests/test-sprintf-posix.h (test_function): Likewise. * tests/test-fprintf-posix.h (test_function): Test rounding with %f. * tests/test-printf-posix.h (test_function): Likewise. * tests/test-printf-posix.output: Update. Reported by John Darrington via Ben Pfaff . 2008-04-18 Simon Josefsson * doc/posix-functions/strftime.texi (strftime): Clarify platform. Suggested by Bruno Haible . 2008-04-17 Bruno Haible * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy, gl_recursive_lock_destroy): Provide no-op definitions for the dummy implementation. Patch by Bruce Merry . 2008-04-17 Simon Josefsson * doc/posix-functions/strftime.texi (strftime): Mention that %e doesn't work under Windows. 2008-04-16 Bruno Haible * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR): New macros. (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN, SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC, SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN, SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC, SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU, SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US, SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New macros. (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian, Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua, Northern Sotho, Uighur. 2008-04-16 Bruno Haible * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro. (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2. (gl_locale_name_from_win32_LANGID): Fix code for Sindhi. Reported by Daniel Bergström . 2007-12-25 KJK::Hyperion Bruno Haible * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New function. (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID): New functions, mostly extracted from gl_locale_name_default. (gl_locale_name_default): Use gl_locale_name_from_win32_LCID. 2008-04-16 Eric Blake Adjust strtod detection to catch glibc 2.7 bug. * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior. Reported by John Gatewood Ham. 2008-04-16 Bruno Haible Add tentative support for Linux libc5. * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code. * lib/fpurge.c (fpurge): Likewise. * lib/freadable.c (freadable): Likewise. * lib/freadahead.c (freadahead): Likewise. * lib/freading.c (freading): Likewise. * lib/freadptr.c (freadptr): Likewise. * lib/freadseek.c (freadptrinc): Likewise. * lib/fseeko.c (rpl_fseeko): Likewise. * lib/fseterr.c (fseterr): Likewise. * lib/fwritable.c (fwritable): Likewise. * lib/fwriting.c (fwriting): Likewise. Reported by Alain Guibert . 2008-04-15 Bruno Haible * modules/mathl (configure.ac): Define module indicator. 2008-04-15 Bruno Haible * lib/logl.c (logl): Remove unused variables. 2008-04-15 Bruno Haible * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8 fails. 2008-04-15 Bruno Haible * lib/trim.c (trim2): Fix argument of isspace() macro. 2008-04-15 Paolo Bonzini * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it to 0. * lib/trigl.c (ieee754_rem_pio2l): Fix range checks. 2008-04-14 Bruno Haible * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of AC_LANG_PROGRAM argument. * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise. * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise. * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise. * m4/inttypes.m4 (gl_INTTYPES_H): Likewise. * m4/math_h.m4 (gl_MATH_H): Likewise. * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise. * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise. * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise. * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise. * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise. * m4/regex.m4 (gl_REGEX): Likewise. * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise. * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise. * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise. * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise. * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise. * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise. * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise. * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. 2008-04-14 Jim Meyering test-strtod: fix typos: s/abs/fabs/ * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs". 2008-04-13 Bruno Haible Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'. * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize' module is also used and while not building the reloc-wrapper. 2008-04-13 Bruno Haible * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error. 2008-04-13 Bruno Haible Fix AIX compilation failure introduced on 2008-04-02. * tests/test-frexp.c (exp): Undefine before redefining. * tests/test-frexpl.c (exp): Likewise. 2008-04-13 Bruno Haible Work around a HP-UX stdio bug. * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX. * tests/test-ftello.c (main): Likewise. * doc/posix-functions/ftell.texi: Mention HP-UX bug. * doc/posix-functions/ftello.texi: Likewise. 2008-04-13 Bruno Haible Make test-signbit pass on HP-UX/hppa. * tests/test-signbit.c (minus_zerol): New variable. (test_signbitl): Use it. 2008-04-13 Bruno Haible Make truncl work on OSF/1 4.0. * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works. Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL. * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL. * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not HAVE_DECL_TRUNCL. * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not HAVE_DECL_TRUNCL. * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem. 2008-04-13 Bruno Haible * lib/unictype.h: Remove trailing comma from enumeration definitions. 2008-04-13 Bruno Haible * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification expression, so as to avoid HP-UX 11 cc compiler bug. 2008-04-13 Bruno Haible * m4/regex.m4 (gl_PREREQ_REGEX): Also check for . 2008-04-13 Bruno Haible * lib/git-merge-changelog.c: Remove empty declaration outside of functions. 2008-04-13 Bruno Haible * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD. 2008-04-13 Bruno Haible * doc/posix-headers/sys_socket.texi: Document the problem on EMX. * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing. * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace also if it exists but lacks definitions of the SHUT_* macros. * modules/sys_socket (Description): Update. Reported by Elbert Pol . 2008-04-13 Bruno Haible * lib/localcharset.c (OS2): Don't redefine if already defined. Reported by Elbert Pol . 2008-04-13 Bruno Haible * lib/binary-io.h [__EMX__]: Include . Reported by Elbert Pol . 2008-04-12 Bruno Haible * lib/fpucw.h: Enable the definitions also for x86_64. Needed for NetBSD/x86_64. Reported by Thomas Klausner . 2008-04-12 Bruno Haible * tests/test-strtod.c: Include isnand.h. (main): Use isnand instead of isnan. Reported by Jim Meyering. 2008-04-12 Bruno Haible * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN. Reported by Nelson H. F. Beebe . 2008-04-12 Jim Meyering * m4/math_h.m4 (gl_MATH_H): Fix typos. 2008-04-12 Bruno Haible * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion. Reported by Elbert Pol . 2008-04-12 Eric Blake Work around Solaris 10 math.h bug. * m4/math_h.m4 (gl_MATH_H): Check for bug. (gl_MATH_H_DEFAULTS): Set up default. * modules/math (Makefile.am): Replace new indicators. * lib/math.in.h (NAN, HUGE_VAL): Provide replacements. * tests/test-math.c (main): Test this. * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL. * doc/posix-headers/math.texi (math.h): Mention bug. Reported by Nelson H. F. Beebe and Jim Meyering. 2008-04-11 Bruno Haible Adapt to future versions of Apple GCC. * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__. Reported by Peter O'Gorman . 2008-04-11 Bruno Haible * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error. 2008-04-11 Bruno Haible * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD. * modules/getaddrinfo-tests (Makefile.am): Define test_getaddrinfo_LDADD. 2008-04-11 Bruno Haible * lib/strsignal.c (_sys_siglist): Don't declare if already declared. (init): Fix syntax error. * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist is declared. 2008-04-11 Bruno Haible * lib/glob.c: Include . Needed at least with IRIX cc. * modules/glob (Depends-on): Add stdbool. 2008-04-11 Bruno Haible * lib/trim.c: Include . 2008-04-11 Eric Blake Avoid compile failure on OS/2. * lib/regex_internal.h (internal_function): Disable optimization on OS/2 (__EMX__), where it caused compiler error. Reported by Elbert Pol. 2008-04-11 Bruno Haible Flush the standard error stream before aborting. Needed on mingw. * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort(). * tests/test-array_list.c (ASSERT): Likewise. * tests/test-array_oset.c (ASSERT): Likewise. * tests/test-avltree_list.c (ASSERT): Likewise. * tests/test-avltree_oset.c (ASSERT): Likewise. * tests/test-avltreehash_list.c (ASSERT): Likewise. * tests/test-binary-io.c (ASSERT): Likewise. * tests/test-byteswap.c (ASSERT): Likewise. * tests/test-c-ctype.c (ASSERT): Likewise. * tests/test-c-strcasecmp.c (ASSERT): Likewise. * tests/test-c-strcasestr.c (ASSERT): Likewise. * tests/test-c-strncasecmp.c (ASSERT): Likewise. * tests/test-c-strstr.c (ASSERT): Likewise. * tests/test-canonicalize-lgpl.c (ASSERT): Likewise. * tests/test-canonicalize.c (ASSERT): Likewise. * tests/test-carray_list.c (ASSERT): Likewise. * tests/test-ceilf1.c (ASSERT): Likewise. * tests/test-ceilf2.c (ASSERT): Likewise. * tests/test-ceill.c (ASSERT): Likewise. * tests/test-count-one-bits.c (ASSERT): Likewise. * tests/test-fbufmode.c (ASSERT): Likewise. * tests/test-fflush2.c (ASSERT): Likewise. * tests/test-floorf1.c (ASSERT): Likewise. * tests/test-floorf2.c (ASSERT): Likewise. * tests/test-floorl.c (ASSERT): Likewise. * tests/test-fopen.c (ASSERT): Likewise. * tests/test-fpending.c (ASSERT): Likewise. * tests/test-fprintf-posix.c (ASSERT): Likewise. * tests/test-fpurge.c (ASSERT): Likewise. * tests/test-freadable.c (ASSERT): Likewise. * tests/test-freadahead.c (ASSERT): Likewise. * tests/test-freading.c (ASSERT): Likewise. * tests/test-freadptr.c (ASSERT): Likewise. * tests/test-freadptr2.c (ASSERT): Likewise. * tests/test-freadseek.c (ASSERT): Likewise. * tests/test-freopen.c (ASSERT): Likewise. * tests/test-frexp.c (ASSERT): Likewise. * tests/test-frexpl.c (ASSERT): Likewise. * tests/test-fseek.c (ASSERT): Likewise. * tests/test-fseeko.c (ASSERT): Likewise. * tests/test-fstrcmp.c (ASSERT): Likewise. * tests/test-ftell.c (ASSERT): Likewise. * tests/test-ftello.c (ASSERT): Likewise. * tests/test-func.c (ASSERT): Likewise. * tests/test-fwritable.c (ASSERT): Likewise. * tests/test-fwriting.c (ASSERT): Likewise. * tests/test-getdelim.c (ASSERT): Likewise. * tests/test-getline.c (ASSERT): Likewise. * tests/test-i-ring.c (ASSERT): Likewise. * tests/test-iconv-utf.c (ASSERT): Likewise. * tests/test-iconv.c (ASSERT): Likewise. * tests/test-isfinite.c (ASSERT): Likewise. * tests/test-isnand.c (ASSERT): Likewise. * tests/test-isnanf.c (ASSERT): Likewise. * tests/test-isnanl.h (ASSERT): Likewise. * tests/test-ldexpl.c (ASSERT): Likewise. * tests/test-linked_list.c (ASSERT): Likewise. * tests/test-linkedhash_list.c (ASSERT): Likewise. * tests/test-localename.c (ASSERT): Likewise. * tests/test-lseek.c (ASSERT): Likewise. * tests/test-mbscasecmp.c (ASSERT): Likewise. * tests/test-mbscasestr1.c (ASSERT): Likewise. * tests/test-mbscasestr2.c (ASSERT): Likewise. * tests/test-mbscasestr3.c (ASSERT): Likewise. * tests/test-mbscasestr4.c (ASSERT): Likewise. * tests/test-mbschr.c (ASSERT): Likewise. * tests/test-mbscspn.c (ASSERT): Likewise. * tests/test-mbsncasecmp.c (ASSERT): Likewise. * tests/test-mbspbrk.c (ASSERT): Likewise. * tests/test-mbspcasecmp.c (ASSERT): Likewise. * tests/test-mbsrchr.c (ASSERT): Likewise. * tests/test-mbsspn.c (ASSERT): Likewise. * tests/test-mbsstr1.c (ASSERT): Likewise. * tests/test-mbsstr2.c (ASSERT): Likewise. * tests/test-mbsstr3.c (ASSERT): Likewise. * tests/test-memchr2.c (ASSERT): Likewise. * tests/test-memmem.c (ASSERT): Likewise. * tests/test-open.c (ASSERT): Likewise. * tests/test-printf-frexp.c (ASSERT): Likewise. * tests/test-printf-frexpl.c (ASSERT): Likewise. * tests/test-printf-posix.c (ASSERT): Likewise. * tests/test-quotearg.c (ASSERT): Likewise. * tests/test-rbtree_list.c (ASSERT): Likewise. * tests/test-rbtree_oset.c (ASSERT): Likewise. * tests/test-rbtreehash_list.c (ASSERT): Likewise. * tests/test-round1.c (ASSERT): Likewise. * tests/test-roundf1.c (ASSERT): Likewise. * tests/test-roundl.c (ASSERT): Likewise. * tests/test-signbit.c (ASSERT): Likewise. * tests/test-sleep.c (ASSERT): Likewise. * tests/test-snprintf-posix.c (ASSERT): Likewise. * tests/test-snprintf.c (ASSERT): Likewise. * tests/test-sprintf-posix.c (ASSERT): Likewise. * tests/test-stat-time.c (ASSERT): Likewise. * tests/test-strcasestr.c (ASSERT): Likewise. * tests/test-strerror.c (ASSERT): Likewise. * tests/test-striconv.c (ASSERT): Likewise. * tests/test-striconveh.c (ASSERT): Likewise. * tests/test-striconveha.c (ASSERT): Likewise. * tests/test-strsignal.c (ASSERT): Likewise. * tests/test-strstr.c (ASSERT): Likewise. * tests/test-strtod.c (ASSERT): Likewise. * tests/test-trunc1.c (ASSERT): Likewise. * tests/test-trunc2.c (ASSERT): Likewise. * tests/test-truncf1.c (ASSERT): Likewise. * tests/test-truncf2.c (ASSERT): Likewise. * tests/test-truncl.c (ASSERT): Likewise. * tests/test-vasnprintf-posix.c (ASSERT): Likewise. * tests/test-vasnprintf-posix2.c (ASSERT): Likewise. * tests/test-vasnprintf.c (ASSERT): Likewise. * tests/test-vasprintf-posix.c (ASSERT): Likewise. * tests/test-vasprintf.c (ASSERT): Likewise. * tests/test-vfprintf-posix.c (ASSERT): Likewise. * tests/test-vprintf-posix.c (ASSERT): Likewise. * tests/test-vsnprintf-posix.c (ASSERT): Likewise. * tests/test-vsnprintf.c (ASSERT): Likewise. * tests/test-vsprintf-posix.c (ASSERT): Likewise. * tests/test-wcwidth.c (ASSERT): Likewise. * tests/test-xfprintf-posix.c (ASSERT): Likewise. * tests/test-xprintf-posix.c (ASSERT): Likewise. * tests/test-xvasprintf.c (ASSERT): Likewise. * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise. * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise. * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise. * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise. * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise. * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise. * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise. * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise. * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise. * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise. * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise. * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise. * tests/unictype/test-bidi_byname.c (ASSERT): Likewise. * tests/unictype/test-bidi_name.c (ASSERT): Likewise. * tests/unictype/test-bidi_of.c (ASSERT): Likewise. * tests/unictype/test-bidi_test.c (ASSERT): Likewise. * tests/unictype/test-block_list.c (ASSERT): Likewise. * tests/unictype/test-block_of.c (ASSERT): Likewise. * tests/unictype/test-block_test.c (ASSERT): Likewise. * tests/unictype/test-categ_and.c (ASSERT): Likewise. * tests/unictype/test-categ_and_not.c (ASSERT): Likewise. * tests/unictype/test-categ_byname.c (ASSERT): Likewise. * tests/unictype/test-categ_name.c (ASSERT): Likewise. * tests/unictype/test-categ_none.c (ASSERT): Likewise. * tests/unictype/test-categ_of.c (ASSERT): Likewise. * tests/unictype/test-categ_or.c (ASSERT): Likewise. * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise. * tests/unictype/test-combining.c (ASSERT): Likewise. * tests/unictype/test-decdigit.c (ASSERT): Likewise. * tests/unictype/test-digit.c (ASSERT): Likewise. * tests/unictype/test-mirror.c (ASSERT): Likewise. * tests/unictype/test-numeric.c (ASSERT): Likewise. * tests/unictype/test-pr_byname.c (ASSERT): Likewise. * tests/unictype/test-pr_test.c (ASSERT): Likewise. * tests/unictype/test-predicate-part1.h (ASSERT): Likewise. * tests/unictype/test-scripts.c (ASSERT): Likewise. * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise. * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise. * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise. * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise. * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise. * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise. * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise. * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise. * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise. * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise. * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise. * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise. * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise. * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise. * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise. * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise. * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise. * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise. * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise. * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise. * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise. * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise. * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise. * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise. * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise. * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise. * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise. * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise. * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise. * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise. * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise. * tests/uniwidth/test-u16-width.c (ASSERT): Likewise. * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise. * tests/uniwidth/test-u32-width.c (ASSERT): Likewise. * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise. * tests/uniwidth/test-u8-width.c (ASSERT): Likewise. * tests/uniwidth/test-uc_width.c (ASSERT): Likewise. Reported by Eric Blake. 2008-04-11 Bruno Haible * lib/wchar.in.h: Tweak comment. 2008-04-11 Bruno Haible Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5. * gnulib-tool (func_emit_initmacro_start): Emit an invocation of gl_COMMON. * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros. 2008-04-11 Bruno Haible * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL. 2008-04-11 Simon Josefsson * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead of attempting to use non-existing /dev/*random. Based on patch from Adam Strzelecki in . 2008-04-08 Bruno Haible Add tentative support for emx+gcc. * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code. * lib/fpurge.c (fpurge): Likewise. * lib/freadable.c (freadable): Likewise. * lib/freadahead.c (freadahead): Likewise. * lib/freading.c (freading): Likewise. * lib/freadptr.c (freadptr): Likewise. * lib/freadseek.c (freadptrinc): Likewise. * lib/fseeko.c (rpl_fseeko): Likewise. * lib/fseterr.c (fseterr): Likewise. * lib/fwritable.c (fwritable): Likewise. * lib/fwriting.c (fwriting): Likewise. * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc. 2008-04-09 Eric Blake Avoid some autoconf warnings. * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/. * m4/acl.m4 (gl_FUNC_ACL): Likewise. * m4/afs.m4 (gl_AFS): Likewise. * m4/gc-random.m4 (gl_GC_RANDOM): Likewise. * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/. * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise. * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED) (gl_INTEGER_TYPE_SUFFIX): Likewise. * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE) (AC_CHECK_DECLS_ONCE): Likewise. Rename file... * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that gnulib-tool requires autoconf 2.59 or better. * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/. 2008-04-08 Eric Blake Use 'git describe --match' if present (added in git 1.5.5). * build-aux/git-version-gen: Limit result to tags that match 'v*' if possible. 2008-04-08 Bruno Haible Add tentative support for OpenServer. * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base, _ptr, _cnt. * lib/fpurge.c (fpurge): Likewise. * lib/freadable.c (freadable): Likewise. * lib/freadahead.c (freadahead): Likewise. * lib/freading.c (freading): Likewise. * lib/freadptr.c (freadptr): Likewise. * lib/freadseek.c (freadptrinc): Likewise. * lib/fseeko.c (rpl_fseeko): Likewise. * lib/fseterr.c (fseterr): Likewise. * lib/fwritable.c (fwritable): Likewise. * lib/fwriting.c (fwriting): Likewise. Reported by Roger Cornelius and Brian K. White . 2008-04-06 Jim Meyering * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic 2008-04-06 Bruno Haible Avoid possible error with non-ASCII bytes in UTF-8 locales. * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr". * tests/test-printf-posix.sh: Likewise. * tests/test-vfprintf-posix.sh: Likewise. * tests/test-vprintf-posix.sh: Likewise. * tests/test-xprintf-posix.sh: Likewise. 2008-04-06 Ralf Wildenhues * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting, hide error from 'ls', needed on OS/2. Report by Elbert Pol . 2008-04-04 Eric Blake Make test-fseeko.c failures meaningful. * tests/test-fseeko.c: Print line number on failure. * tests/test-fseek.c: Likewise. Reported by Nelson H. F. Beebe. Improve strtod bug detection check. * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing, required for Solaris 10. Reported by Bob Friesenhahn and Nelson H. F. Beebe. 2008-04-04 Bruno Haible * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed by m4/setenv.m4. 2008-04-03 Eric Blake Ensure sane .version contents. * top/GNUmakefile (_dummy): Also delete .version when rebuilding version string. * build-aux/git-version-gen: Improve documentation. Make GNU make output nicer. * top/GNUmakefile [!_have-Makefile]: Add dependency on MAKECMDGOALS to enforce message for all command line targets. Set srcdir for use in maint.mk. Another maintainer tweak. * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as a target that regenerates version. 2008-04-03 Jim Meyering vc-list-files: don't cause coreutils "make po-check" failure * build-aux/vc-list-files: Skip postprocessing when $2 is '.' 2008-04-03 Eric Blake Allow VPATH usage of vc-list-files. * build-aux/vc-list-files (scriptversion): Add timestamp. (options): Add --help, --version, -C. (CVS): Support installed cvsu. 2008-04-02 Bruno Haible Avoid some "statement with no effect" warnings from gcc. * tests/test-wctype.c (main): Explicitly ignore unused values. Reported by Jim Meyering. 2008-04-02 Jim Meyering Avoid some warnings from "gcc -Wshadow". * tests/test-frexp.c (exp): Define to a different identifier. * tests/test-frexpl.c (exp): Likewise. 2008-04-03 Jim Meyering bootstrap: remove dangling *.[ch] symlinks from lib * build-aux/bootstrap [dangling symlink removal]: Move find's -depth option to precede all others, to avoid a warning. Remove *.[ch] files too, and from "$source_base" (usually lib/). 2008-04-02 Bruno Haible Avoid some warnings from "gcc -Wshadow". * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function. * tests/tests-vprintf-posix.c (my_printf): Move after test_function. * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function. * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function. Reported by Jim Meyering. 2008-04-01 Bruno Haible Fix test to work on IRIX 6.5 with cc. * tests/test-math.c (numeric_equal): New function. (main): Use it. 2008-04-01 Bruno Haible * doc/posix-headers/math.texi: Refine documentation of NAN problem. 2008-04-01 Bruno Haible * tests/test-vasnprintf-posix.c: Include nan.h instead of . (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L. * modules/vasnprintf-posix-tests (Files): Add tests/nan.h. (Depends-on): Remove math. * tests/test-vasprintf-posix.c: Include nan.h instead of . (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L. * modules/vasprintf-posix-tests (Files): Add tests/nan.h. (Depends-on): Remove math. * tests/test-snprintf-posix.h: Include nan.h instead of . (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L. * modules/snprintf-posix-tests (Files): Add tests/nan.h. (Depends-on): Remove math. * modules/vsnprintf-posix-tests (Files): Add tests/nan.h. (Depends-on): Remove math. * tests/test-sprintf-posix.h: Include nan.h instead of . (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L. * modules/sprintf-posix-tests (Files): Add tests/nan.h. (Depends-on): Remove math. * modules/vsprintf-posix-tests (Files): Add tests/nan.h. (Depends-on): Remove math. * tests/test-round1.c: Include nan.h. (main): Use NaNd instead of NAN. * modules/round-tests (Files): Add tests/nan.h. * tests/test-trunc1.c: Include nan.h. (main): Use NaNd instead of NAN. * modules/trunc-tests (Files): Add tests/nan.h. * tests/test-roundf1.c: Include nan.h. (main): Use NaNf instead of NAN. * modules/roundf-tests (Files): Add tests/nan.h. * tests/test-truncf1.c: Include nan.h. (main): Use NaNf instead of NAN. * modules/truncf-tests (Files): Add tests/nan.h. * tests/test-ceilf1.c: Include nan.h. (main): Use NaNf instead of NAN. * modules/ceilf-tests (Files): Add tests/nan.h. * tests/test-floorf1.c: Include nan.h. (main): Use NaNf instead of NAN. * modules/floorf-tests (Files): Add tests/nan.h. * tests/test-isnanf.c: Include nan.h instead of . (main): Use NaNf instead of NAN. * modules/isnanf-nolibm-tests (Files): Add tests/nan.h. * tests/test-isnand.c: Include nan.h instead of . (main): Use NaNd instead of NAN. * modules/isnand-nolibm-tests (Files): Add tests/nan.h. * tests/test-frexp.c: Include nan.h. (main): Use NaNd instead of NAN. * modules/frexp-tests (Files): Add tests/nan.h. * lib/isnan.c: Don't include . (FUNC): Don't use NAN macro. * modules/isnand-nolibm (Depends-on): Remove math. * modules/isnanf-nolibm (Depends-on): Remove math. * modules/isnanl (Depends-on): Remove math. * modules/isnanl-nolibm (Depends-on): Remove math. * tests/nan.h: New file. 2008-04-01 Eric Blake Fix typos. * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon values to be the right type. For now, cater to gnulib strtod inaccuracies. * tests/test-strtod.c (main): Allow 1-ulp error on expected fractional results. While not as nice from a QoI perspective, it is a quicker patch than correctly implementing decimal to binary rounding. 2008-03-31 Eric Blake Guarantee a definition of NAN. * lib/math.in.h (NAN): Define if missing. * tests/test-math.c (main): Test it. * doc/posix-headers/math.texi (math.h): Document this. * lib/isnan.c (rpl_isnand): Use it. * tests/test-ceilf1.c (NaN): Delete, and use NAN instead. * tests/test-floorf1.c (NaN): Likewise. * tests/test-frexp.c (NaN): Likewise. * tests/test-isnand.c (NaN): Likewise. * tests/test-isnanf.c (NaN): Likewise. * tests/test-round1.c (NaN): Likewise. * tests/test-roundf1.c (NaN): Likewise. * tests/test-snprintf-posix.h (NaN): Likewise. * tests/test-sprintf-posix.h (NaN): Likewise. * tests/test-trunc1.c (NaN): Likewise. * tests/test-truncf1.c (NaN): Likewise. * tests/test-vasnprintf-posix.c (NaN): Likewise. * tests/test-vasprintf-posix.c (NaN): Likewise. * modules/isnand-nolibm (Depends-on): Add math. * modules/isnanf-nolibm (Depends-on): Likewise. * modules/isnanl (Depends-on): Likewise. * modules/isnanl-nolibm (Depends-on): Likewise. * modules/snprintf-posix-tests (Depends-on): Likewise. * modules/sprintf-posix-tests (Depends-on): Likewise. * modules/vsnprintf-posix-tests (Depends-on): Likewise. * modules/vsprintf-posix-tests (Depends-on): Likewise. * modules/vasnprintf-posix-tests (Depends-on): Likewise. * modules/vasprintf-posix-tests (Depends-on): Likewise. 2008-03-31 Bruno Haible * tests/test-strtod.c (main): Update results for OSF/1 platforms. * doc/posix-functions/strtod.texi: Likewise. 2008-03-31 Bruno Haible * tests/test-strtod.c (main): Don't use C99 syntax. 2008-03-31 Bruno Haible * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris. Reported by Eric Blake. 2008-03-31 Jim Meyering Don't compare actual signbit return values. * tests/test-strtod.c (main): Rather, compare only their zero/non-zero nature. 2008-03-31 Eric Blake More strtod documentation. * doc/posix-functions/strtod.texi (strtod): Interpret more test failures as distinct bugs. 2008-03-30 Paul Eggert * lib/wchar.in.h [defined __need_mbstate_t]: Just include . Problem reported by Erik Benada in . 2008-03-30 Bruno Haible * tests/test-strtod.c: Add comments about which assertion fails on which platform. * doc/posix-functions/strtod.texi: Add info about many more platforms. 2008-03-30 Eric Blake Test signbit behavior on zeros. * tests/test-signbit.c (test_signbitf): Add tests for zero. (test_signbitd, test_signbitl): Likewise. More strtod touchups. * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and sign of negative underflow, for now. Use .5, not .1. * doc/posix-functions/strtod.texi (strtod): Mention these limitations. Reported by Jim Meyering. 2008-03-30 Bruno Haible * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8. 2008-03-30 Bruno Haible Avoid failure when attempting to return empty iconv results on some platforms. * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory allocation, don't report ENOMEM when the resulting string is empty. 2008-03-30 Bruno Haible Fix buffer overrun. * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves: Don't consider the width for tmp_length. Check count against tmp_length before doing the padding. Ensure enough allocation during padding. 2008-03-30 Eric Blake strtod touchups. * lib/strtod.c (strtod): Avoid compiler warnings. Reported by Jim Meyering. 2008-03-30 Bruno Haible * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback. * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW. * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW. * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW. * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW. * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW. * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW. * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW. * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback. * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW. * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW. * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW. * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW. * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW. * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW. * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW. * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback. * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW. * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW. * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW. * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW. * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW. * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW. * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW. * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback. * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW. * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback. * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW. * lib/xvasprintf.c (EOVERFLOW): Remove fallback. * modules/xvasprintf (Depends-on): Add EOVERFLOW. * lib/vsprintf.c (EOVERFLOW): Remove fallback. * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW. * modules/vsprintf-posix (Depends-on): Add EOVERFLOW. * lib/vsnprintf.c (EOVERFLOW): Remove fallback. * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW. * modules/vsnprintf (Depends-on): Add EOVERFLOW. * lib/vfprintf.c (EOVERFLOW): Remove fallback. * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW. * modules/vfprintf-posix (Depends-on): Add EOVERFLOW. * lib/vasprintf.c (EOVERFLOW): Remove fallback. * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW. * modules/vasprintf (Depends-on): Add EOVERFLOW. * lib/vasnprintf.c (EOVERFLOW): Remove fallback. * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW. * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW. * modules/vasnprintf (Files): Remove m4/eoverflow.m4. (Depends-on): Add EOVERFLOW. * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4. (Depends-on): Add EOVERFLOW. * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4. (Depends-on): Add EOVERFLOW. * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4. (Depends-on): Add EOVERFLOW. * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4. (Depends-on): Add EOVERFLOW. * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4. (Depends-on): Add EOVERFLOW. * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4. (Depends-on): Add EOVERFLOW. * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4. (Depends-on): Add EOVERFLOW. * lib/sprintf.c (EOVERFLOW): Remove fallback. * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW. * modules/sprintf-posix (Depends-on): Add EOVERFLOW. * lib/snprintf.c (EOVERFLOW): Remove fallback. * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW. * modules/snprintf (Depends-on): Add EOVERFLOW. * lib/poll.c (EOVERFLOW): Remove fallback. * modules/poll (Depends-on): Add EOVERFLOW. * lib/getugroups.c (EOVERFLOW): Remove fallback. * modules/getugroups (Depends-on): Add EOVERFLOW. * lib/getdelim.c (EOVERFLOW): Remove fallback. * modules/getdelim (Depends-on): Add EOVERFLOW. * lib/ftell.c (EOVERFLOW): Remove fallback. * modules/ftell (Depends-on): Add EOVERFLOW. * lib/fprintf.c (EOVERFLOW): Remove fallback. * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW. * modules/fprintf-posix (Depends-on): Add EOVERFLOW. * lib/c-stack.c (EOVERFLOW): Remove unused fallback. * modules/EOVERFLOW-tests: New file. * tests/test-EOVERFLOW.c: New file. * modules/EOVERFLOW: New file. * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem. 2008-03-30 Bruno Haible Fix bug introduced on 2007-06-10. * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO. 2008-03-30 Bruno Haible Improve freadseek's efficiency after ungetc. * lib/freadseek.c: Include freadahead.h. (freadptrinc): New function, extracted from freadseek. (freadseek): Use it in a loop. Use freadahead to determine the number of loop iterations. * modules/freadseek (Depends-on): Add freadahead. (configure.ac): Require AC_C_INLINE. 2008-03-30 Bruno Haible * lib/freadseek.c (freadseek): Don't ignore the return value of freadptr. 2008-03-29 Eric Blake Add hex float support. * modules/strtod (Depends-on): Add c-ctype. (Link): Mention POW_LIB. * lib/strtod.c (strtod): Recognize hex floats. Don't allow whitespace between 'e' and exponent. * tests/test-strtod.c (main): Enable hex float tests. * doc/posix-functions/strtod.texi (strtod): Document what gnulib now provides. Document various strtod bugs, with some fixes. * doc/posix-functions/strtod.texi (strtod): Document bugs with "-0x", "inf", "nan", and hex constants. * doc/posix-functions/atof.texi (atof): Likewise. * modules/stdlib (Makefile.am): Support strtod. * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise. * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and detect additional strtod bugs. * lib/stdlib.in.h (rpl_strtod): Add declarations. * lib/strtod.c (strtod): Return -0.0 on negative underflow. Use bool where appropriate. Parse 'inf' and 'nan'. * tests/test-strtod.c: New file. * modules/strtod (Depends-on): Add stdbool, stdlib. (configure.ac): Turn on module indicator. * modules/strtod-tests: New module. 2008-03-29 Eric Blake Fix ftell on mingw. * lib/ftell.c (EOVERFLOW): Define if the system lacks it. * modules/ftell-tests (Depends-on): Add binary-io. * modules/ftello-tests (Depends-on): Likewise. * tests/test-ftell.c (main): Enhance test to cover behavior after ungetc. Enforce binary mode. * tests/test-ftello.c (main): Likewise. Pass test-freadseek on cygwin. * modules/freadseek (Depends-on): Use freadptr, not freadahead. * lib/freadseek.c (freadseek): Don't increment beyond bounds of ungetc buffer. * tests/test-fflush2.c (main): Fix typo. 2008-03-29 Bruno Haible * tests/test-fflush2.c (main): Temporarily disable the contents of this test. * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO. Reported by Eric Blake. 2008-03-28 Simon Josefsson * lib/gc.h (enum Gc_hash): Add GC_SHA224. (GC_SHA224_DIGEST_SIZE): Add. * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224. (gc_hash_digest_length): Likewise. (gc_hash_buffer): Likewise. 2008-03-25 Bruno Haible * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more detail which gettext release to use. Reported by Simon Josefsson. 2008-03-26 Jim Meyering gnumakefile: remove file from $(top_builddir), not from $(top_srcdir) * modules/gnumakefile (clean-GNUmakefile): Also, use test ... && ... || : syntax rather than if-then ... fi. gnumakefile: Don't double-quote-expand $(VPATH) value. * modules/gnumakefile (clean-GNUmakefile): Use single quotes. 2008-03-24 Eric Blake Alter GNUmakefile to install into top directory. * modules/maintainer-makefile: Split, and add dependency... * modules/gnumakefile: to this new module. * build-aux/GNUmakefile: Move... * top/GNUmakefile: ...here. * build-aux/maint.mk: Move... * top/maint.mk: ...here. * MODULES.html.sh (Support for maintaining...): Document new module. 2008-03-23 Bruno Haible * gnulib-tool: New options --vc-files, --no-vc-files. (func_usage): Document them. (vc_files): New variable. (func_import): Consider vc_files. (func_create_testdir): Set vc_files to empty. Suggested by Jim Meyering and Karl Berry. 2008-03-23 Bruno Haible Fix regex compilation error on HP-UX 11. * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T. * modules/regex (Files): Add m4/mbstate_t.m4. Reported by Ton Voon . 2008-03-23 Bruno Haible * doc/gnulib-tool.texi (gettextize and autopoint): New section. 2008-03-23 Eric Blake Bruno Haible Install files from top/ in the destination directory. * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST augmentation also for the files from top/. (func_import, func_create_testdir): Rewrite file names: top/filename -> filename. 2008-03-23 Bruno Haible Tweak "gnulib --version" output. * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified". 2008-03-23 Bruno Haible Tweak "gnulib --version" output. * gnulib-tool (func_version): Use date of last commit to ChangeLog, rather than contents of ChangeLog, when possible. 2008-03-21 Eric Blake More --version tweaks. * gnulib-tool (func_version): Obey GNU Coding Standards. Output date of last ChangeLog entry. 2008-03-21 Jim Meyering * build-aux/GNUmakefile (_have-git-version-gen): Split long line. 2008-03-20 Eric Blake VPATH fix. * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir. 2008-03-20 Simon Josefsson * build-aux/GNUmakefile: Make git-version-gen optional. Add _build-aux variable. Suggested by Eric Blake . 2008-03-20 Eric Blake Sync GNUmakefile with coreutils. * build-aux/GNUmakefile (have-Makefile): Rename... (_have-Makefile): ...to this, for namespace consideration. (GNUmakefile.cfg): Include, if present. (_autoreconf): Define a default. (_is-dist-target): New rule for rebuilds to pick up intra-release version. (maint-cfg.mk): Rename... (cfg.mk): ...to this. 2008-03-18 Jim Meyering New script and module: mktempd * MODULES.html.sh (maint+release support): Add mktempd. * build-aux/mktempd: New file. * modules/mktempd: New file. 2008-03-15 Jim Meyering Undo last change. * lib/sha1.c, lib/md5.c: 63 != ~63. Reported by Andreas Schwab. sha1.c, md5.c: Hoist a redundant expression. * lib/sha1.c (sha1_process_bytes): AND-off the low bits in "ctx->buflen" only once, before calling *_process_block. * lib/md5.c (md5_process_bytes): Likewise. 2008-03-14 Eric Blake Bump copyright year in files generated by gnulib-tool. * gnulib-tool (func_emit_copyright_notice): Extract copyright from gnulib-tool, rather than hard-coding it. Fix 'gnulib-tool --version' output to work with git. * gnulib-tool (func_gnulib_dir): New function, extracted from... (startup): ...here. (func_version): Use it to invoke git-version-gen, rather than relying on CVS keyword expansion. Modernize wording. (cvsdatestamp, last_checkin_date, version): Kill unused variables. 2008-03-12 Jim Meyering Recognize optional cast of the argument to free. * build-aux/useless-if-before-free: Update regexps. * build-aux/bootstrap (gnulib_tool): Remove trailing blanks. 2008-03-11 Bruno Haible Extend AC_LIB_LINKFLAGS to the situation of several libraries provided by a single package. * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro. (AC_LIB_LINKFLAGS_BODY): Use the information stored by AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH. Reported by Sam Steingold . 2008-03-12 Sergey Poznyakoff * build-aux/bootstrap (version_controlled_file): Adapt for SVN repositories. 2008-03-11 Bruno Haible Avoid conflicts between local macro definitions. * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS, AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine. 2008-03-10 Peter O'Gorman Bruno Haible Make va_copy work with some version of xlc on AIX 5.1. * lib/stdarg.in.h: New file. * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H. On AIX, use a file substitute. * modules/stdarg (Files): Add lib/stdarg.in.h. (Depends-on): Add include_next. (Makefile.am): Build a stdarg.h substitute if requested. * doc/posix-functions/va_copy.texi: Document the platforms lacking it. 2008-03-10 Bruno Haible * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction. * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise. Reported by Peter O'Gorman . 2008-03-10 Bruno Haible * modules/stdlib (Depends-on): Add include_next, remove absolute-header. 2008-03-09 Bruno Haible * lib/freadahead.h (freadahead): Document more precisely. * lib/freadahead.c (freadahead): When an ungetc is in effect, return the sum of both buffer sizes. * tests/test-freadahead.c (main): Also test behaviour after ungetc. * NEWS: Document the change. 2008-03-09 Bruno Haible Extend freadptr to return also the buffer size. * lib/freadptr.h (freadptr): Add sizep argument. * lib/freadptr.c: Include freadptr.h, not freadahead.h. (freadptr): Add sizep argument. Determine buffer size like freadahead does. * tests/test-freadptr.c: Don't include freadahead.h. (main): Adapt for new calling convention of freadptr. * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c. * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh. * modules/freadptr-tests (Files): Add tests/test-freadptr2.c, tests/test-freadptr2.sh. (Depends): Remove freadahead. (TESTS): Add test-freadptr2.sh. (check_PROGRAMS): Add test-freadptr2. 2008-03-09 Bruno Haible * doc/Makefile (%.pdf): Explain how to remedy the save_size error. Report and solution by Simon Josefsson. 2008-03-06 Bruno Haible Make fflush after ungetc work on BSD platforms. * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible. * tests/test-fflush2.c: New file. * tests/test-fflush2.sh: New file. * modules/fflush-tests (Files): Add tests/test-fflush2.sh, tests/test-fflush2.c. (Makefile.am): Build test-fflush2 and run test-fflush2.sh. * doc/posix-functions/fflush.texi: Document fflush after ungetc bug. 2008-03-06 Eric Blake Likewise for ftello. * modules/ftello (Dependencies): Add extensions. * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS. 2008-03-06 Bruno Haible * modules/fseeko (Dependencies): Add extensions. * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS. Needed on glibc systems. 2008-03-06 Bruno Haible * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside email address. Reported by Thien-Thi Nguyen . 2008-03-06 Bruno Haible * users.txt: Add libgnupdf. 2008-03-06 Thien-Thi Nguyen (tiny change) * doc/gnulib-tool.texi (@nosuchmodulenote): New macro. (Header File Substitutes, Function Substitutes, Glibc Header File Substitutes, Glibc Function Substitutes): Use it. (Build robot for gnulib): Fix typo. 2008-03-06 Bruno Haible * doc/gnulib-tool.texi (VCS Issues): Small updates. Reported by Thien-Thi Nguyen . 2008-03-06 Bruno Haible * doc/func.texi: New file, extracted from doc/gnulib.texi. * doc/gnulib.texi: Include it. 2008-03-06 Simon Josefsson * modules/func (License): Change license to unlimited; there was no LGPL parts in the module anyway. 2008-03-06 Simon Josefsson * modules/__func__: Renamed to modules/func. * modules/__func__-tests: Renamed to modules/func-tests. * tests/test-__func__.c: Renamed to tests/test-func.c. * m4/__func__.m4: Renamed to m4/func.m4. * doc/gnulib.texi (__func__): Section renamed to func. Suggested by Eric Blake . 2008-03-06 Simon Josefsson * doc/gnulib.texi (__func__): Use C99 terminology when talking about __func__. Make example self-contained. Suggested by Eric Blake . * tests/test-__func__.c (main): Avoid extraneous () around __func. Suggested by Eric Blake . 2008-03-06 Simon Josefsson * modules/__func__: New file. * modules/__func__-tests: New file. * tests/test-__func__.c: New file. * m4/__func__.m4: New file. * doc/gnulib.texi (__func__): Document __func__ module. 2008-03-05 Simon Josefsson * modules/byteswap (License): Re-license as LGPLv2+. 2008-03-05 Simon Josefsson * doc/Makefile: Add pdf target. 2008-03-05 Simon Josefsson * modules/inline (License): Use 'unlimited', since there are only *.m4 files in this module. 2008-03-03 John E. Malmberg (tiny change) Bruno Haible Add support for HP C 7.1 on OpenVMS 8.3. * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS. 2008-03-03 John E. Malmberg (tiny change) Update VMS specifics. * lib/getopt.c [VMS]: Remove include of unixlib.h. 2008-03-02 Jim Meyering Remove the last dependency on the "free" module. * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE. Reported by Bob Proulx. * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc. Remove useless "if" tests before free. Deprecate "free" module. * doc/posix-functions/free.texi: Mention that this module is no longer useful. * modules/free (Notice): Say this module is obsolete. * modules/readutmp (Depends-on): Remove free. * lib/save-cwd.c (free_cwd): Remove useless "if" before free. * lib/putenv.c (putenv): Likewise. * lib/gc-gnulib.c (gc_cipher_close): Likewise. * lib/getaddrinfo.c (freeaddrinfo): Likewise. * tests/test-c-strcasestr.c (main): Likewise. * tests/test-c-strstr.c (main): Likewise. * tests/test-mbscasestr1.c (main): Likewise. * tests/test-mbscasestr2.c (main): Likewise. * tests/test-mbsstr1.c (main): Likewise. * tests/test-mbsstr2.c (main): Likewise. * tests/test-memmem.c (main): Likewise. * tests/test-strcasestr.c (main): Likewise. * tests/test-striconv.c (main): Likewise. * tests/test-striconveh.c (main): Likewise. * tests/test-striconveha.c (main): Likewise. * tests/test-strstr.c (main): Likewise. * build-aux/git-version-gen: Adjust a comment and the Usage string. bootstrap: sync from coreutils again * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks. 2008-03-01 Jim Meyering bootstrap: sync from coreutils * build-aux/bootstrap (update_po_files): Copy a .po file into place also when the target doesn't exist. 2008-03-01 Eric Blake Fix bugs in last patch. * lib/memchr2.c (memchr2): Fix typo. * tests/test-memchr2.c: Test previous bug, and don't use GNU extension. Reported by Bruce Korb. New module 'memchr2'. * modules/memchr2: New file. * modules/memchr2-tests: Likewise. * lib/memchr2.h: Likewise. * lib/memchr2.c: Likewise, based on memchr.c. * tests/test-memchr2.c: New test. * MODULES.html.sh (String handling): Add memchr2. 2008-02-29 Bruno Haible * modules/freadseek-tests: New file. * tests/test-freadseek.sh: New file. * tests/test-freadseek.c: New file. New module 'freadseek'. * modules/freadseek: New file. * lib/freadseek.h: New file. * lib/freadseek.c: New file. * MODULES.html.sh (File stream based Input/Output): Add freadseek. 2008-02-29 Sergey Poznyakoff * users.txt: Add anubis, cpio, mailfromd, mailutils, radius, wydawca. * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if program_invocation_name and program_invocation_short_name are present. 2008-02-28 Bruno Haible * tests/test-freadptr.c: Add a test for behaviour after ungetc. * tests/test-freadptr.sh: Also test non-seekable stdin. 2008-02-28 Sergey Poznyakoff * build-aux/bootstrap (source_base, m4_base) (doc_base, tests_base): New variables. (gnulib_tool_options): Do not hardcode base directories, use the above variables instead. 2008-02-28 Atsushi SAKAI * lib/xsize.h: Fix typo in comment: s/tupe/type/. 2008-02-28 Bruno Haible * modules/freadptr-tests: New file. * tests/test-freadptr.sh: New file. * tests/test-freadptr.c: New file. New module 'freadptr'. * modules/freadptr: New file. * lib/freadptr.h: New file. * lib/freadptr.c: New file. * MODULES.html.sh (File stream based Input/Output): Add freadptr. 2008-02-26 Karl Berry Sync from Libtool: * libltdl/argz.c (argz_add, argz_count): New functions. * libltdl/argz.in.h: Declare them. Report by Juan Manuel Guerrero . 2008-02-22 Bruno Haible * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type is a pointer type. Needed for HP-UX 10. * doc/posix-functions/localtime_r.texi: Mention HP-UX 10. * doc/posix-functions/gmtime_r.texi: Likewise. Reported by Peter O'Gorman . 2008-02-24 Bruno Haible * modules/environ-tests: New file. * tests/test-environ.c: New file. New module 'environ'. * modules/environ: New file. * lib/unistd.in.h (environ): New declaration. * m4/environ.m4: New file. (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var after use. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and HAVE_DECL_ENVIRON. * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and HAVE_DECL_ENVIRON. * doc/posix-functions/environ.texi: Mention module 'environ'. Remove wrong claim that 'environ' is missing on some systems. * modules/execute (Depends-on): Add environ. * lib/execute.c (environ): Remove fallback declaration. * modules/pipe (Depends-on): Add environ. * lib/pipe.c (environ): Remove fallback declaration. * modules/setenv (Depends-on): Add environ. * lib/setenv.c (environ): Remove fallback declaration. * modules/unsetenv (Depends-on): Add environ. * lib/unsetenv.c (environ): Remove fallback declaration. * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to m4/environ.m4. (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ. (gl_PREREQ_UNSETENV): Likewise. 2008-02-24 Bruno Haible * doc/posix-functions/environ.texi: Document the MacOS X problem. 2008-02-20 Bob Proulx Enable use of older two part flavor 'git describe'. * build-aux/git-version-gen: If using the older two part flavor of git version then recreate the third part now present in the newer three part flavor of git describe. 2008-02-20 Martin Buchholz (tiny change) * lib/fts.c (fts_build): Typo correction to comment. 2008-02-17 Bruno Haible * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid generating no-op conflicts. 2008-02-17 Bruno Haible Speed up by 10%. * lib/git-merge-changelog.c (main): Use the iterator to iterate through result_entries, rather than an index-based loop. 2008-02-17 Bruno Haible Speed up by 25%. * lib/git-merge-changelog.c (struct entry): New fields 'hashcode', 'hashcode_cached'. (entry_create): New function. (entry_hashcode): Use the cached hashcode if possible. (read_changelog_file, try_split_merged_entry): Use entry_create. 2008-02-17 Bruno Haible Speed up from O(n^2) to O(n) for long ChangeLog files. * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h. (read_changelog_file): Change implementation of entries_reversed list to rbtreehash. * modules/git-merge-changelog (Depends-on): Add rbtreehash-list. 2008-02-17 Bruno Haible New option --split-merged-entry. * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro. (find_paragraph_end, try_split_merged_entry): New functions. (long_options): Add option --split-merged-entry. (usage): Document option --split-merged-entry. (main): Implement option --split-merged-entry. Reported by Eric Blake. 2008-02-17 Bruno Haible * lib/git-merge-changelog.c: Include c-strstr.h. (main): Support the "git pull --rebase" situation. * modules/git-merge-changelog (Depends-on): Add c-strstr. Reported by Eric Blake. 2008-02-16 Eric Blake Avoid doubling \ in common case of "c-maybe" quoting style. * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when eliding outer quotes. * lib/quotearg.h: Document this. * tests/test-quotearg.c (result_strings, inputs, results_g) (flag_results, locale_results): Test it by adding a new string to each test group. (compare_strings): Test new string. 2008-02-13 Eric Blake Avoid trigraph quoting in default output. * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS. * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs unless explicitly requested. * tests/test-quotearg.c (flag_results, main): Add additional tests. 2008-02-13 Lasse Collin Don't rely on signed integer overflowing to negative value. * lib/getugroups.c (getugroups): Include . Instead, compare against INT_MAX, and increment only if the test passes. 2008-02-13 Jim Meyering and Eric Blake Avoid shadowing warning and compile errors on Linux. * tests/test-quotearg.c [ENABLE_NLS]: Disable forwarding macros on Linux. (dcgettext): Define a stub, for Linux. (results_g, main): Avoid warnings. 2008-02-12 Eric Blake Silence warning in last patch. * lib/quotearg.c (quotearg_buffer_restyled): Add missing const. Quotearg part 4: add tests, fix c-maybe colon quoting. * lib/quotearg.h: Improve documentation. * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra escapes when adding outer quotes. When quoting trigraphs, use valid C notation. When quoting NUL, omit extra characters if next character is not digit. Alter prototype. (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust callers. * modules/quotearg-tests: New module. * tests/test-quotearg.c: New test. 2008-02-07 Eric Blake Quotearg part 3: add flag to control outer quote elision. * lib/quotearg.h (c_maybe_quoting_style): New style. (enum quoting_flags): Better documentation of flags. * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add c-maybe style. (quotearg_buffer_restyled): Handle new flag to elide outer quotes. Quotearg part 2: add flag that can control NUL elision. * lib/quotearg.h (set_quoting_flags): New prototype. * lib/quotearg.c (struct quoting_options): Add flag field. (set_quoting_flags): New function. (quotearg_buffer_restyled): Add flags parameter. (quotearg_alloc_mem): Set the flag if length cannot be returned. (quotearg_n_options): Set the flag, since length cannot be returned. (quoting_options_from_style): Default flags correctly. Quotearg part 1: more wrappers, restore quotearg_char state. * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem) (quotearg_mem, quotearg_style_mem, quotearg_char_mem) (quotearg_colon_mem): New wrappers. * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite... (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new functions. (quotearg_n_mem, quotearg_mem, quotearg_style_mem) (quotearg_colon_mem): New functions. 2008-02-11 Bruno Haible * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a library in the current directory: it does not work with parallel make. Reported by Ralf Wildenhues . 2008-02-11 Bruno Haible * .gitattributes: New file. 2008-02-11 Jim Meyering useless-if-before-free: Fix reversed exit values. * build-aux/useless-if-before-free: Use correct values for EXIT_MATCH and EXIT_NO_MATCH. * build-aux/useless-if-before-free: Close stdout carefully. 2008-02-10 Bruno Haible New module 'git-merge-changelog'. * modules/git-merge-changelog: New file. * lib/git-merge-changelog.c: New file. 2008-02-10 Jim Meyering useless-if-before-free: New option: --list (-l). useless-if-before-free: Don't exit immediately upon open failure. * build-aux/useless-if-before-free: Exit 2 for errors. Upon failure to open a file, don't exit immediately. Rather, just warn and continue with any remaining files. 2008-02-10 Bruno Haible New abstract list operation 'node_set_value'. * lib/gl_list.h (gl_list_node_set_value): New function. (struct gl_list_implementation): New field node_set_value. * lib/gl_list.c (gl_list_node_set_value): New function. * lib/gl_array_list.c (gl_array_node_set_value): New function. (gl_array_list_implementation): Update. * lib/gl_carray_list.c (gl_carray_node_set_value): New function. (gl_carray_list_implementation): Update. * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function. * lib/gl_linked_list.c (gl_linked_list_implementation): Update. * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update. * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function. * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update. * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update. * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation): Update. * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update. * lib/gl_sublist.c (gl_sublist_node_set_value): New function. (gl_sublist_list_implementation): Update. 2008-02-10 Bruno Haible * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT". Needed when ELEMENT is #defined to 'some_type *'. 2008-02-10 Jim Meyering New script and module: useless-if-before-free * MODULES.html.sh (maint+release support): Add useless-if-before-free. * build-aux/useless-if-before-free: New file. * modules/useless-if-before-free: New file. * build-aux/gitlog-to-changelog: Use committer date, not author date. xstrtol_error: Fix typo. * lib/xstrtol-error.c (xstrtol_error): The parameter was unused: s/exit_failure/exit_status/. 2008-02-09 Jim Meyering New script and module: gitlog-to-changelog * MODULES.html.sh (maint+release support): Add gitlog-to-changelog. * modules/gitlog-to-changelog: New file. * build-aux/gitlog-to-changelog: New file. 2008-02-08 Jim Meyering Avoid two "parameter unused" warnings. * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime): Mark "st" as used. Use "git COMMAND", not "git-COMMAND". * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/. * build-aux/announce-gen (get_tool_versions): Correct a diagnostic. * build-aux/git-version-gen: Use "git status", not "git-status". 2008-02-07 Bruno Haible * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems. Avoids a crash on Windows Vista. Reported by Adam Strzelecki via Simon Josefsson . 2008-02-06 Bruno Haible Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20. * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro. * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST. * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro. (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it. * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST. * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise. * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise. * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise. * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise. * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise. * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise. * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise. * tests/test-vasnprintf-posix.c (test_function): Add testcases for the left-adjust flag. * tests/test-snprintf-posix.h (test_function): Likewise. * tests/test-sprintf-posix.h (test_function): Likewise. * tests/test-vasprintf-posix.c (test_function): Likewise. * doc/posix-functions/fprintf.texi: Update. * doc/posix-functions/printf.texi: Update. * doc/posix-functions/snprintf.texi: Update. * doc/posix-functions/sprintf.texi: Update. * doc/posix-functions/vfprintf.texi: Update. * doc/posix-functions/vprintf.texi: Update. * doc/posix-functions/vsnprintf.texi: Update. * doc/posix-functions/vsprintf.texi: Update. Reported by Peter Fales . 2008-02-06 Bruno Haible Fix bug introduced on 2008-01-26. * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan. 2008-02-06 Bruno Haible Fix bug introduced on 2007-06-10. * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if !NEED_PRINTF_FLAG_ZERO. 2008-02-05 Peter O'Gorman getloadavg: use libperfstat on AIX5 * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat 2008-02-03 Bruno Haible * lib/diffseq.h: Add comments about required #includes. Reported by Michael Biggs . 2008-02-01 Bruno Haible * users.txt: Add gnuit. 2008-01-31 Bruno Haible * lib/md4.c (set_uint32): Mark as inline. * lib/md5.c (set_uint32): Likewise. * lib/sha1.c (set_uint32): Likewise. * m4/md4.m4 (gl_MD4): Require AC_C_INLINE. * m4/md5.m4 (gl_MD5): Likewise. * m4/sha1.m4 (gl_SHA1): Likewise. 2008-01-31 Jim Meyering Use "sizeof VAR", rather than a literal "4". * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4. * lib/md4.c (md4_read_ctx): Likewise. * lib/sha1.c (sha1_read_ctx): Likewise. 2008-01-31 Simon Josefsson * tests/test-sha1.c: New file, based on test-md5.c. * modules/crypto/sha1-tests: New file. 2008-01-31 Simon Josefsson * lib/sha1.h (SHA1_DIGEST_SIZE): Define. 2008-01-31 Jim Meyering Prefer "sizeof v" over the equivalent "4". * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4. * lib/md5.c (set_uint32): Likewise. * lib/sha1.c (set_uint32): Likewise. 2008-01-31 Simon Josefsson * lib/sha1.c (set_uint32): Mark function as static. 2008-01-31 Simon Josefsson md2: clarify comments to say that alignment is not required. * lib/md2.h: Remove warning about alignment in comment. * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has never been required. 2008-01-31 Simon Josefsson md4: adapt alignment constraint fix from sha1. * lib/md4.c (set_uint32): New function, from sha1.c (md4_read_ctx): Use it. (md4_finish_ctx): Doc fix. * lib/md4.h: Doc fix. 2008-01-31 Simon Josefsson md5: adapt alignment constraint fix from sha1. * lib/md5.c (set_uint32): New function, from sha1.c (md5_read_ctx): Use it. (md5_finish_ctx): Doc fix. * lib/md5.h: Doc fix. 2008-01-30 Peter Palfrader sha1: remove the result buffer alignment constraint * lib/sha1.c (set_uint32): New function. (sha1_read_ctx): Rewrite to remove the result buffer alignment constraint. (sha1_finish_ctx): Remove comment warning about alignment constraint. * lib/sha1.h: Likewise. 2008-01-30 Andreas Schwab Bruno Haible * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include and ensure a correct definition of LDBL_MIN_EXP. 2008-01-30 Karl Berry * config/srclist-update: try to preserve x bit on updates. * config/srclistvars.sh: update for karl. 2008-01-29 Jim Meyering vasnprintf.c: Avoid warning about unused label * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the "overflow" label definition and associated code with the same cpp condition that guards the sole use of that label. 2008-01-26 Bruno Haible * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in. * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in. * lib/isnanl-nolibm.h (isnanl): Likewise. Reported by Paul Eggert . 2008-01-26 Bruno Haible * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in. * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in. 2008-01-26 Bruno Haible * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the GCC >= 4.0 built-in. * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in. 2008-01-26 Bruno Haible Rename isnan, applicable to 'double' only, to isnand. * modules/isnand-nolibm: Renamed from modules/isnan-nolibm. (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h. (configure.ac): Update. (Include): Replace "isnan.h" with "isnand.h". * m4/isnand.m4: Renamed from m4/isnan.m4. (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c instead of isnan.c. * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. (isnand): Renamed from isnan. * lib/isnand.c: New file. * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests. (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c. (Makefile.am): Update. * tests/test-isnand.c: Renamed from tests/test-isnan.c. Include isnand.h instead of isnan.h. (main): Test isnand instead of isnan. * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove isnan-nolibm. * modules/frexp (Depends-on): Likewise. * modules/frexp-tests (Depends-on): Likewise. * modules/frexp-nolibm (Depends-on): Likewise. * modules/frexp-nolibm-tests (Depends-on): Likewise. * modules/isfinite (Depends-on): Likewise. * modules/round-tests (Depends-on): Likewise. * modules/signbit (Depends-on): Likewise. * modules/signbit-tests (Depends-on): Likewise. * modules/snprintf-posix (Depends-on): Likewise. * modules/sprintf-posix (Depends-on): Likewise. * modules/trunc-tests (Depends-on): Likewise. * modules/unistdio/u8-vasnprintf (Depends-on): Likewise. * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise. * modules/unistdio/u16-vasnprintf (Depends-on): Likewise. * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise. * modules/unistdio/u32-vasnprintf (Depends-on): Likewise. * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise. * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise. * modules/vasnprintf-posix (Depends-on): Likewise. * modules/vasprintf-posix (Depends-on): Likewise. * modules/vfprintf-posix (Depends-on): Likewise. * modules/vsnprintf-posix (Depends-on): Likewise. * modules/vsprintf-posix (Depends-on): Likewise. * lib/frexp.c: Include isnand.h instead of isnan.h. (ISNAN): Set to isnand instead of isnan. * lib/isfinite.c: Include isnand.h instead of isnan.h. (gl_isfinited): Use isnand instead of isnan. * lib/signbitd.c: Include isnand.h instead of isnan.h. (gl_signbitd): Use isnand instead of isnan. * lib/vasnprintf.c: Include isnand.h instead of isnan.h. (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan. * tests/test-frexp.c: Include isnand.h instead of isnan.h. (main): Use isnand instead of isnan. * tests/test-round1.c: Include isnand.h. (main): Use isnand instead of isnan. * tests/test-round2.c: Include isnand.h instead of isnan.h. (ISNAN): Set to isnand instead of isnan. * tests/test-trunc1.c: Include isnand.h. (main): Use isnand instead of isnan. * tests/test-trunc2.c: Include isnand.h instead of isnan.h. (equal): Use isnand instead of isnan. * MODULES.html.sh (Mathematics ): Replace isnan-nolibm with isnand-nolibm. * NEWS: Mention the change. 2008-01-25 Paul Eggert Bruno Haible * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether the GCC builtins for signbits are present and set REPLACE_SIGNBIT_USING_GCC if so. * lib/math.in.h (signbit): Define using GCC builtins if REPLACE_SIGNBIT_USING_GCC is set. * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SIGNBIT_USING_GCC. * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC. 2008-01-25 Jim Meyering Prefer over "config.h". See autoconf doc for explanation. * lib/poll.c: Include , not "config.h". * tests/test-getaddrinfo.c: Likewise. 2008-01-25 Simon Josefsson * modules/sockets-tests: New file. 2008-01-24 Simon Josefsson * modules/sockets: New module, can be used to call WSA_Startup and WSA_Cleanup when needed. * lib/sockets.h, lib/sockets.c: New files. * m4/sockets.m4: New file. * tests/test-sockets.c: New file. 2008-01-19 Bruno Haible * doc/posix-headers: Renamed from doc/headers. * doc/posix-functions: Renamed from doc/functions. * doc/gnulib.texi: Update. 2008-01-19 Bruno Haible * doc/glibc-functions/strcasestr.texi: Include contents of doc/functions/strcasestr.texi, fixing the list of platforms. * doc/functions/strcasestr.texi: Remove file. 2008-01-19 Bruno Haible * doc/glibc-functions/memmem.texi: Include contents of doc/functions/memmem.texi. * doc/functions/memmem.texi: Remove file. 2008-01-18 Bruno Haible * doc/glibc-functions/*.texi: New files. * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten to use the new files. 2008-01-17 Bruno Haible * tests/test-gethostname.c (main): Fix printf statement. 2008-01-17 Simon Josefsson * modules/gethostname-tests: New file. * tests/test-gethostname.c: New file. 2008-01-17 Simon Josefsson * lib/gethostname.c: Include string.h unconditionally, strncpy is used by the UNAME case. Reported by Bruno Haible . 2008-01-17 Eric Blake Convert c-strcasestr to be more efficient. * modules/c-strcasestr (Files): Use Two-Way, not KMP. (Depends-on): Add c-strcase, remove malloca, strnlen. * tests/test-c-strcasestr.c (main): Enhance test. * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm. 2007-01-16 Paolo Bonzini * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable. Use it in creating po/Makevars. 2008-01-15 Simon Josefsson * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default. Applications that requires it should initialize libgcrypt manually. 2008-01-16 Simon Josefsson * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy. 2008-01-15 Paul Eggert Fix problem with getdate on mingw32 reported by Simon Josefsson in . * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined tzname", when deciding whether to declare tzname. * lib/strftime.c (tzname): Likewise. 2008-01-15 Bruno Haible Work around a MacOS X 10.5 bug in frexpl(). * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers. * doc/functions/frexpl.texi: Document the bug. Reported by Elias Pipping . 2008-01-14 Eric Blake Touch up previous patch. * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo. * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug. Convert strcasestr module to use Two-Way algorithm. * modules/strcasestr-simple: New module, based on the old strcasestr, but with Two-Way rather than KMP. * modules/strcasestr (Depends-on): Change to strcasestr-simple. * lib/string.in.h (rpl_strcasestr): Declare. * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear performance. * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc. * modules/string (Makefile.am): Support strcasestr. * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise. * modules/strcasestr-tests (Depends-on): Check for alarm. * tests/test-strcasestr.c: Augment test. * lib/str-two-way.h: Clean up stray macro. * NEWS: Document new module. * MODULES.html.sh (string handling): Likewise. * doc/functions/strcasestr.texi: New file. * doc/gnulib.texi (Function Substitutes): New node. Move memmem here, since it is not a POSIX function. 2008-01-14 Colin Watson Bruno Haible * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal works fine; if not, set REPLACE_STRSIGNAL. (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST. * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize REPLACE_STRSIGNAL. * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL. * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL. * tests/test-strsignal.c (main): Check out-of-range signal numbers. 2008-01-14 Bruno Haible * modules/strsignal (Include): Change to . 2008-01-14 Colin Watson * modules/argp (Notice): Add a notice recommending to change XGETTEXT_OPTIONS. (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists. 2008-01-13 Colin Watson * modules/strsignal-tests: New file. * tests/test-strsignal.c: New file. * lib/strsignal.c: New file, from glibc with modifications. * lib/siglist.h: New file, from glibc with modifications. * lib/string.in.h (strsignal): New declaration. * m4/strsignal.m4: New file. * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL. * modules/strsignal: New file. * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL. 2008-01-13 Bruno Haible * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the locale encoding is not ASCII. Needed for OpenBSD 4.0. * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise. * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise. 2008-01-13 Bruno Haible * lib/argp-fmtstream.h (__attribute__): Don't redefine if __STRICT_ANSI__ is set: it's not needed by any version of gcc. * lib/argp.h (__attribute__): Likewise. * lib/c-stack.c (__attribute__): Likewise. * lib/error.h (__attribute__): Likewise. * lib/fts.c (__attribute__): Likewise. * lib/openat.h (__attribute__): Likewise. * lib/stdio.in.h (__attribute__): Likewise. * lib/string.in.h (__attribute__): Likewise. * lib/utimens.c (__attribute__): Likewise. * lib/vasnprintf.h (__attribute__): Likewise. * lib/xalloc.h (__attribute__): Likewise. * lib/xprintf.h (__attribute__): Likewise. * lib/xstrtol.h (__attribute__): Likewise. * lib/xvasprintf.h (__attribute__): Likewise. 2008-01-12 Bruno Haible * doc/gnulib.texi (Glibc Header File Substitutes): New chapter. * doc/glibc-headers/a.out.texi: New file. * doc/glibc-headers/aliases.texi: New file. * doc/glibc-headers/alloca.texi: New file. * doc/glibc-headers/ar.texi: New file. * doc/glibc-headers/argp.texi: New file. * doc/glibc-headers/argz.texi: New file. * doc/glibc-headers/byteswap.texi: New file. * doc/glibc-headers/crypt.texi: New file. * doc/glibc-headers/endian.texi: New file. * doc/glibc-headers/envz.texi: New file. * doc/glibc-headers/err.texi: New file. * doc/glibc-headers/error.texi: New file. * doc/glibc-headers/execinfo.texi: New file. * doc/glibc-headers/fpu_control.texi: New file. * doc/glibc-headers/fstab.texi: New file. * doc/glibc-headers/fts.texi: New file. * doc/glibc-headers/getopt.texi: New file. * doc/glibc-headers/ieee754.texi: New file. * doc/glibc-headers/ifaddrs.texi: New file. * doc/glibc-headers/libintl.texi: New file. * doc/glibc-headers/mcheck.texi: New file. * doc/glibc-headers/mntent.texi: New file. * doc/glibc-headers/obstack.texi: New file. * doc/glibc-headers/paths.texi: New file. * doc/glibc-headers/printf.texi: New file. * doc/glibc-headers/pty.texi: New file. * doc/glibc-headers/resolv.texi: New file. * doc/glibc-headers/shadow.texi: New file. * doc/glibc-headers/sysexits.texi: New file. * doc/glibc-headers/ttyent.texi: New file. 2008-01-12 Jim Meyering announce-gen: emit Gnulib's git-based version string. * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S. New option --gnulib-version=V, where V is expected to be the output of running git describe in the gnulib directory. (get_tool_versions): Request feedback on xdelta. I suspect it's not useful, and plan to stop publishing an xdelta file with each coreutils release. * build-aux/announce-gen: Also check for lzma-compressed files. 2008-01-11 Bruno Haible * tests/test-memmem.c (main): Increase maximum allowed time. * tests/test-strstr.c (main): Likewise. 2008-01-11 Bruno Haible * doc/functions/memmem.texi: Add more precisions about platforms. * doc/functions/strstr.texi: Likewise. 2008-01-10 Eric Blake * m4/strstr.m4: Delete cruft from copy-n-paste. Reported by Bruno Haible. 2008-01-10 Bruno Haible Make c-strstr rely on strstr. * lib/c-strstr.c: Don't include str-kmp.h. (c_strstr): Define in terms of strstr. * modules/c-strstr (Files): Remove lib/str-kmp.h. (Depends-on): Remove stdbool, malloca, strnlen. Add strstr. 2008-01-10 Bruno Haible * doc/gnulib.texi (String Functions in C Locale): New section. * doc/c-ctype.texi: New file. * doc/c-strcase.texi: New file. * doc/c-strcaseeq.texi: New file. * doc/c-strcasestr.texi: New file. * doc/c-strstr.texi: New file. * doc/c-strtod.texi: New file. * doc/c-strtold.texi: New file. 2008-01-10 Eric Blake * lib/relocatable.h: Fix a comment. 2008-01-10 Eric Blake Share two-way algorithm. * lib/str-two-way.h: New file, merged from... * lib/memmem.c: ...here... * lib/strstr.c: ...and here. * modules/memmem (Files): Use it. * modules/strstr (Files): Likewise. Avoid quadratic strstr implementations. * lib/strstr.c: New file. * m4/strstr.m4: Likewise. * modules/strstr: Likewise. * modules/strstr-tests: Likewise. * tests/test-strstr.c: Likewise. * lib/string.in.h (rpl_strstr): Declare. (memmem) [GNULIB_POSIXCHECK]: Document speed issue. * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr. * modules/string (Makefile.am): Likewise. * MODULES.html.sh (string handling): Mention new module. * doc/functions/strstr.texi (strstr): Document the bug. 2008-01-10 Bruno Haible * lib/relocatable.h (relocate): State whether result is freshly allocated or not. * lib/relocatable.c (relocate): Return a freshly allocated string instead of a pointer to a privately held string. Reported by Sylvain Beucler . 2008-01-10 Colin Watson * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive: s/S_ISNLK/S_ISLNK/. 2008-01-09 Bruno Haible * doc/functions/memmem.texi: Use the same structure as snprintf.texi and other files. * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no" if it's only a guess. * modules/memmem: Simplify by depending on memmem-simple. 2008-01-09 Bruno Haible Work around OpenBSD 4.0 tdelete() bug. * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value. * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as macros and don't redefine the enum values. * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH. * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH. * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug. 2008-01-09 Bruno Haible * tests/test-wcwidth.c: Include and localcharset.h. (main): Don't perform the tests if setlocale did not install a UTF-8 locale. Needed on OpenBSD 4.0. * modules/wcwidth-tests (Depends-on): Add localcharset. 2008-01-09 Paul Eggert gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally. See . * NEWS: announce this. * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H. 2008-01-09 Simon Josefsson and Eric Blake Add memmem-simple module. * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro. (gl_FUNC_MEMMEM): Separate performance from presence checks. * modules/memmem-simple: New file. * modules/memmem (Description): Tweak. * MODULES.html.sh (string handling): Mention new module. * doc/functions/memmem.texi (memmem): Distinguish which flaws are addressed by memmem-simple. * NEWS: Document the difference. 2008-01-09 Eric Blake Give gcc some memmem optimization hints. * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk) (strcasestr): Declare as pure. * modules/memmem (Maintainer): Claim my implementation. 2008-01-09 Ralf Wildenhues Support AIX 6.1 and higher. * build-aux/config.libpath: Likewise. * build-aux/config.rpath: Likewise. 2008-01-08 Jim Meyering Bruno Haible * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q" on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX. Reported by Peter Fales in . 2008-01-08 Bruno Haible * modules/unictype/category-of (Depends-on): Add unictype/category-none. * modules/unictype/category-and-tests (Depends-on): Add unictype/category-{L,N,Lu,Nd}. * modules/unictype/category-and-not-tests (Depends-on): Likewise. * modules/unictype/category-or-tests (Depends-on): Add unictype/category-{L,N}. * modules/unictype/category-name-tests (Depends-on): Add unictype/category-{Z,Nl}. Reported by Simon Josefsson. 2008-01-08 Bruno Haible * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling convention better. * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise. * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise. Reported by Peter Miller . 2008-01-08 Eric Blake Rewrite memmem to guarantee linear complexity without malloc. * lib/memmem.c (memmem): Use Two-Way rather than Knuth-Morris-Pratt, to allow O(1) space usage. (critical_factorization, two_way_short_needle) (two_way_long_needle): New functions. (knuth_morris_pratt): Delete. * modules/memmem (Depends-on): No longer need malloca or stdbool. Add stdint. * tests/test-memmem.c (main): Add tests for periodic needle and sublinear performance. * doc/functions/memmem.texi (memmem): Document other deficiencies in cygwin and older glibc. 2008-01-08 Bruno Haible * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT augmentation. 2008-01-08 Mike Frysinger Add a configure time option: --disable-acl. * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to AC_ARG_ENABLE(acl). 2008-01-06 Simon Josefsson * tests/test-localename.c: Don't include obsolete "setenv.h". * modules/localename-tests (Depends-on): Need unsetenv. 2008-01-08 Ralf Wildenhues * DEPENDENCIES: Require Texinfo version 4.6 or newer. 2008-01-06 Colin Watson * users.txt: Add man-db. 2008-01-07 Bruno Haible * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the previous section name. 2008-01-07 Bruno Haible * lib/progname.c (set_program_name): Don't strip off a leading "lt-" prefix outside a .libs directory. Suggested by Paul Eggert. 2008-01-01 Sylvain Beucler Bruno Haible Improve memory cleanup in 'relocatable' module. * lib/relocatable.h (compute_curr_prefix): Change return type to 'char *'. * lib/relocatable.c (compute_curr_prefix): Change return type to 'char *'. Free curr_installdir after use. (relocate): Free curr_prefix_better after use. * lib/progreloc.c (prepare_relocate): Free curr_prefix after use. 2008-01-01 Bruno Haible * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test failure on older glibc systems. Reported by Peter Fales . 2008-01-05 Eric Blake Avoid quadratic system memmem. * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem. Reported by Ralf Wildenhues. Fix memmem test for mingw. * modules/memmem-tests (configure.ac): Check for alarm. * tests/test-memmem.c (main): Avoid alarm on platforms that lack it. * doc/functions/memmem.texi: New file. * doc/gnulib.texi (Function Substitutes): Add memmem. Reported by Bruno Haible. 2008-01-04 Bruno Haible * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Require gl_HEADER_STRINGS_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS. 2008-01-04 Eric Blake Shorten duration of memmem test. * tests/test-memmem.c (main): Use alarm to declare failure if test is taking too long. Reported by Ralf Wildenhues. 2007-12-21 Simon Josefsson * modules/relocatable-prog-wrapper (Depends-on): Add intprops and string, needed by strerror. 2008-01-03 Colin Watson Bruno Haible * doc/gnulib-tool.texi (Localization): New section. 2008-01-02 Bruno Haible * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *' variables to 'unsigned char *' type. Reported by Paul Eggert. 2008-01-02 Jim Meyering * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year. 2007-12-31 Jim Meyering Avoid use of private FTS type name. * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent". 2007-12-30 Karl Berry * doc/gnulib.texi (Library vs. Reusable Code): remove period, to work around defect in Texinfo and/or the standalone Info browser. 2007-12-30 Bruno Haible Unify 5 copies of the KMP code. * lib/str-kmp.h: New file. * lib/c-strcasestr.c: Include str-kmp.h. (knuth_morris_pratt): Remove function. (c_strcasestr): Update. * lib/c-strstr.c: Include str-kmp.h. (knuth_morris_pratt): Remove function. (c_strcasestr): Update. * lib/mbscasestr.c: Include str-kmp.h. (knuth_morris_pratt_unibyte): Remove function. * lib/mbsstr.c: Include str-kmp.h. (knuth_morris_pratt_unibyte): Remove function. * lib/strcasestr.c: Include str-kmp.h. (knuth_morris_pratt): Remove function. (strcasestr): Update. * modules/c-strcasestr (Files): Add lib/str-kmp.h. * modules/c-strstr (Files): Likewise. * modules/mbscasestr (Files): Likewise. * modules/mbsstr (Files): Likewise. * modules/strcasestr (Files): Likewise. Suggested by Paul Eggert. 2007-12-30 Bruno Haible * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not defined. 2007-12-30 Bruno Haible * lib/xmalloca.h: Include xalloc.h. (xnmalloca): New macro. 2007-12-30 Bruno Haible * lib/malloca.h (nmalloca): New macro. * lib/c-strcasestr.c (knuth_morris_pratt): Use it. * lib/c-strstr.c (knuth_morris_pratt): Likewise. * lib/mbscasestr.c (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Likewise. * lib/mbsstr.c (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Likewise. * lib/memmem.c (knuth_morris_pratt): Likewise. * lib/strcasestr.c (knuth_morris_pratt): Likewise. 2007-12-25 Bruno Haible Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+. * lib/glob.c: Don't include openat.h. (link_exists2_p): Add back the code that deals with the !GLOB_ALTDIRFUNC case. (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and let it do the filename concatenation. * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat. * modules/glob (Depends-on): Remove openat. 2007-12-31 Bruno Haible * modules/dirfd (License): Change to LGPLv2+. Approved by Jim Meyering. 2007-12-29 Paul Eggert * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow when multiplying M by sizeof (size_t). 2007-12-10 Martin Lambers Override getpagesize on mingw. * lib/getpagesize.c: New file. * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw. * modules/getpagesize (Files): Add lib/getpagesize.c. * lib/unistd.in.h (getpagesize): Declare if we are using a replacement. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETPAGESIZE. * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE. 2007-12-25 Bruno Haible * modules/localcharset (Notice): New field. (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT. Suggested by Ben Pfaff . 2007-12-25 Paul Eggert Bruno Haible Avoid using the syntax symbol() in formatted documentation. * MODULES.html.sh (func_module): When replacing symbol() with a hyperlink, remove the parentheses. Show an error if some remain. Recognize and render the '...' syntax. * doc/alloca-opt.texi: Remove parentheses from symbol reference. Rework. Add paragraph about GCC's inlining. * doc/alloca.texi: Likewise. * doc/error.texi: Remove parentheses from symbol reference. * doc/gnulib-intro.texi: Likewise. * doc/gnulib.texi (alloca, alloca-opt): New nodes. * modules/fnmatch (Description): Reword to say "the ... function". * modules/full-read (Description): Likewise. * modules/full-write (Description): Likewise. * modules/safe-read (Description): Likewise. * modules/safe-write (Description): Likewise. * modules/strchrnul (Description): Likewise. * modules/trim (Description): Likewise. * modules/error (Description): Remove parentheses from symbol references. * modules/verror (Description): Likewise. Reported by Karl Berry. 2007-12-25 Bruno Haible Fixup after 2007-10-16 commit. * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax. 2007-12-24 Bruno Haible Make --enable-relocatable work with DESTDIR. * build-aux/install-reloc: Accept another argument 'destdir'. Use it to compute installdir from destprog. * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, also set the RELOC_DESTDIR variable. Reported by Левашев Иван . 2007-12-24 Bruno Haible Fix link error due to xalloc_die(). * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead of xreadlink. * lib/relocwrapper.c: Update comments. * build-aux/install-reloc: Remove xreadlink.c from file list. * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and xreadlink.c. Reported by Левашев Иван . 2007-12-24 Bruno Haible Split setenv module into setenv and unsetenv. Get rid of setenv.h. * lib/setenv.h: Remove file. * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from lib/setenv.h. * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c. (Depends-on): Add stdlib. (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke gl_FUNC_UNSETENV. (Include): Replace setenv.h with . * modules/unsetenv: New file. * lib/setenv.c: Include first, after alloca.h. * lib/unsetenv.c: Include first. * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0. (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable. * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV, HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV. * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV, HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV. * doc/functions/unsetenv.texi: Update. * modules/xsetenv (Depends-on): Add unsetenv. * modules/getdate (Depends-on): Likewise. * lib/xsetenv.h: Include instead of setenv.h. * lib/xsetenv.c: Don't include setenv.h. * lib/getdate.y: Likewise. * lib/relocwrapper.c: Likewise. * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h. (Depends-on): Add stdlib. * NEWS: Mention the changes. Reported by Левашев Иван . 2007-12-23 Bruno Haible * lib/memmem.c (memmem): Use lowercase variable names. Tab indentation. 2007-12-23 Bruno Haible * lib/c-strcasestr.c: Add more comments. * lib/c-strstr.c: Likewise. * lib/mbscasestr.c: Likewise. * lib/mbsstr.c: Likewise. * lib/strcasestr.c: Likewise. * lib/memmem.c: Likewise. 2007-12-23 Bruno Haible * tests/test-memmem.c: Include first. 2007-12-22 Bruno Haible * gnulib-tool (func_create_testdir): Change $auxdir while generating the contents of $testsbase. Reported by Ralf Wildenhues. 2007-12-22 Bruno Haible * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with two variables local_ldadd_before, local_ldadd_last. 2007-12-20 Eric Blake Work around circular library issue when cross-compiling. * lib/progname.c (set_program_name): Use strncmp, not memcmp, so that progname.o does not need to pull in rpl_memcmp. 2007-12-19 Eric Blake Fix memmem to avoid O(n^2) worst-case complexity. * lib/memmem.c (knuth_morris_pratt): New function. (memmem): Use it if first few naive iterations fail. * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug. * modules/memcmp (License): Set to LGPLv2+, not LGPL. * modules/memchr (License): Likewise. * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and malloca. * tests/test-memmem.c: Rewrite, borrowing ideas from test-mbsstr1.c; the old version wouldn't even compile! * modules/memmem-tests: New file. * lib/string.in.h (rpl_memmem): Add declaration. * modules/string (Makefile.am): Substitute REPLACE_MEMMEM. * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for REPLACE_MEMMEM. 2007-12-18 Paul Eggert Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS. * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define before any system include files, and undef after them all. This should fix a problem on VMS reported by John E. Malmberg in . 2007-12-17 Eric Blake Revert addition of verify, for BSD/OS. * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it can't handle large files, for the sake of obsolete platforms. * modules/fseeko (Depends-on): Remove verify. * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation. * doc/functions/ftello.texi (ftello): Likewise. * doc/functions/fgetpos.texi (fgetpos): Likewise. Reported by Larry Jones. 2007-12-17 Petr Salinger getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD. 2007-12-17 Jim Meyering Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc, which has no openat syscall, yet does define AT_FDCWD. * lib/getcwd.c: Undef AT_FDCWD if there is no openat function. * modules/getcwd (Depends-on): Add openat. Reported by Petr Salinger. 2007-12-17 Bruno Haible * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to avoid a segmentation fault of the configure test on x86_64 systems. 2007-12-15 Jim Meyering * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary. 2007-12-13 Eric Blake Another fseek test. * tests/test-fseek.c (main): Also test ungetc handling. * tests/test-fseeko.c (main): Likewise. * modules/fseeko (Depends-on): Add verify. * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too large. Reported by Larry Jones. Fix fseeko on mingw. * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful seek. Beef up fseek tests. * tests/test-fseek.c (main): Also test eof handling. * tests/test-fseeko.c (main): Likewise. Reported by Larry Jones. 2007-12-13 Larry Jones (tiny change) Fix fseeko on BSD-based platforms. * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on successful seek. 2007-12-12 Eric Blake Allow circular dependency of separate libtests.a * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS when use_libtests. 2007-12-11 Eric Blake Fix bug with -0.0L in previous patch. * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits. * tests/test-isnan.c (main): Also test on zeroes. * tests/test-isnanf.c (main): Likewise. * tests/test-isnanl.h (main): Likewise. Detect pseudo-denormals on x86 even when cross-compiling. * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION && USE_LONG_DOUBLE && x86]: Add one more check to filter out invalid bit patterns that happen to satisfy ==. Avoid link failures with separate libtests.a. * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd last, to satisfy circular dependencies. 2007-12-11 Eric Blake and Bruno Haible Fix OpenBSD 4.0 handling of long double. * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken. * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD. * doc/headers/float.texi (float.h): Document OpenBSD bug. 2007-12-11 Jim Meyering * users.txt: Add libvirt. Support versions of autoconf prior to 2.59c. * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w if it is not already defined. 2007-12-09 Bruno Haible Let 'gnulib-tool --import' collect sources needed for the tests in tests/ rather than in lib/. * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests argument. If true, add rules to generate libtests.a, and put libtests.a into $(LDADD). Consider source files in subdirectories and set uses_subdirs. (func_emit_initmacro_start, func_emit_initmacro_end, func_emit_initmacro_done): Pass all arguments explicitly. (func_import): Determine two module lists main_modules, testsrelated_modules. Determine use_libtests. Determine two variables sed_transform_main_lib_file, sed_transform_testsrelated_lib_file instead of just sed_transform_lib_file. Determine two variables main_files and testsrelated_files. Compute 'files' as the union of both. Adjust sed_rewrite_old_files, sed_rewrite_new_files, func_add_or_update. In the generated gnulib-comp.m4, collect the object files for tests/ in different variables than those for lib/. Substitute LIBTESTS_LIBDEPS. (func_create_testdir): Combine the uses_subdirs results from func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am. 2007-12-09 Bruno Haible * gnulib-tool (func_emit_tests_Makefile_am): Expand references to the build-aux directory. 2007-12-09 Bruno Haible * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code introduced on 2006-09-09. 2007-12-07 Jim Meyering Let these macros work also with autoconf-2.59. * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59. 2.60 is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE. * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise. 2007-12-06 Jim Meyering Avoid a configure-time syntax error in gl_FUNC_ACL. * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial function in each branch, before testing the cache variable. 2007-12-04 Eric Blake Make scripts executable. * build-aux/config.guess: Add execute permissions. * build-aux/config.sub: Likewise. * build-aux/gendocs.sh: Likewise. Fix frexp on mingw. * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when cross-compiling. * doc/functions/frexp.texi (frexp): Document the bug. Make cygwin fseeko check more reliable. * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin version numbers, rather than unrelated feature check. * doc/functions/fseeko.texi (fseeko): Tweak failure report. * doc/functions/ftello.texi (ftello): Likewise. Reported by Bruno Haible. * m4/strerror.m4: Bump version number. 2007-12-03 Bruno Haible * doc/functions/mprotect.texi: Mention the mingw problem. 2007-12-03 Eric Blake * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure REPLACE_STRERROR is initialized before this macro. 2007-12-03 Paul Eggert Add support for Solaris 10 ACLs. Also, ACLs are Gnulib, not Autoconf. * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL. * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL. On Solaris, put -lsec in even for programs other than 'ls'. This fixes a problem for gettext reported by Bruno Haible in . * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]: Add support for Solaris 10. This isn't efficient, but should get the job done for now. 2007-12-03 James Youngman * doc/regexprops-generic.texi: change "an close-group" to "a close-group" and "illegal" to "not allowed". 2007-11-23 Ralf Wildenhues * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of pr_byname.h. Needed for the rare case when the maintainer has done "make maintainer-clean" in the source directory and then attempts a build outside the source directory. * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of scripts_byname.h. 2007-12-02 Martin Lambers Bruno Haible * lib/getpagesize.h: Remove file. * lib/unistd.in.h: Include declaration of getpagesize here. * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE. Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE, HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H. * modules/getpagesize (Files): Remove lib/getpagesize.h. (Depends-on): Add unistd. (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR. (Include): Use instead of getpagesize.h. * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE, HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H. * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove gl_GETPAGESIZE invocation, already handled by module dependency. * lib/pagealign_alloc.c: Don't include getpagesize.h. 2007-12-02 Bruno Haible * modules/strings-tests: New file. * tests/test-strings.c: New file. Move declarations of str{,n}casecmp from to . * lib/strings.in.h: New file. * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations. * m4/strings_h.m4: New file. * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP. * modules/strings: New file. * modules/string (Makefile.am): Update. * modules/strcase (Include): Mention , not . Reported by Karl Berry. 2007-12-01 Eric Blake * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to accomodate fix in cygwin 1.5.25. 2007-12-01 Jim Meyering Fix a bug that inhibited much of the utf8-optimization in regcomp.c. * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/, that would inhibit utf8-optimization of a regexp containing line- or buffer-anchors, e.g., `^', `$'. 2007-11-30 Bruno Haible * lib/lock.h (gl_recursive_lock_init) [PTHREAD && PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call glthread_recursive_lock_init. * lib/lock.c (glthread_recursive_lock_init) [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function. Reported by Yoann Vandoorselaere . 2007-11-28 Paul Eggert New function qset_acl, like set_acl but with syscall semantics. * lib/acl.h (qset_acl): New decl. * lib/acl.c (qset_acl): New function. (set_acl): Use new function. Use more-consistent diagnostics. 2007-11-28 Jim Meyering * modules/physmem (License): Change from GPL to LGPLv2+. 2007-11-26 Bruno Haible * lib/vasnprintf.c (decode_long_double): Don't abort if the 'long double' type has excess precision. Reported by Jim Meyering in . 2007-11-25 Ralf Wildenhues * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi: Sync from . * modules/agpl-3.0, doc/agpl-3.0.texi: New module, with license text from same location. * doc/maintain.texi, doc/standards.texi: Sync from . 2007-11-22 Ondřej Vašík and Jim Meyering Adjust getdate' grammar to accept a slightly more regular language. E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days". Before, the former was rejected. * lib/getdate.y (digits_to_date_time): New function, factored out of ... (number): ...here. Just call digits_to_date_time. (hybrid): New non-terminal to handle an sequence consistently. 2007-11-18 Jim Meyering Pull my changes from coreutils: bootstrap: fix typo to enable use of $gnulib_tool_option_extras. * build-aux/bootstrap (gnulib_tool_options): Add a space before the use of $gnulib_tool_option_extras, so that it's separated from the preceding argument. Fix bootstrap failure to handle files like lib/uniwidth/cjk.h. * build-aux/bootstrap (cp_mark_as_generated): Create any required parent destination directories before copying a file into place. 2007-11-18 Sergey Poznyakoff bootstrap: work also with 4-argument variant of AC_INIT * build-aux/bootstrap (gnulib_extra_files): Adjust sed command. 2007-11-16 Paul Eggert Port test-getaddrinfo to Solaris. Problem reported by Bruno Haible in . * tests/test-getaddrinfo.c (simple): Add a comment asking for an explanation of setting 'hints'. Don't reject an implementation merely because it returns EAI_SERVICE. (EAI_SERVICE): Define to 0 if not defined. 2007-11-15 Paul Eggert The license of gnu-make and posix-shell is now "GPLed build tool". * modules/gnu-make (License): Likewise. * modules/posix-shell (License): Likewise. New module posix-shell, for determining a POSIX shell or perhaps something that is close enough to a POSIX shell. * m4/posix-shell.m4: New file. * modules/posix-shell: New file. * MODULES.html.sh: Mention new module. New module gnu-make, for determining whether we're using GNU Make. * m4/gnu-make.m4: New file. * modules/gnu-make: New file. * MODULES.html.sh: Mention new module. 2007-11-14 Jim Meyering Define a sometimes-link-required function using ARGMATCH_DIE_DECL. * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined, use this macro to create a function _definition_. Remove useless "#undef ARGMATCH_DIE". 2007-11-14 Bruno Haible * lib/config.charset: Update for OpenBSD 4.1. Reported and helped by Ben Pfaff . 2007-11-12 Paul Eggert Document 64-bit #if problems in stdint.texi. * doc/headers/stdint.texi (stdint.h): Mention problems with 64-bit-#if, and how to work around them. Don't insist on 'long long int' support in the preprocessor. It breaks too many things. For example, PRIdMAX still uses a 'long long int' format with the latest Sun compiler, even though HAVE_LONG_LONG_INT isn't defined due to that compiler's preprocessor problem. This causes the latest coreutils to dump core on Solaris 10 sparc with the Sun C compiler. Instead, fix the 2007-10-16 problem in a different way, by evaluating the troublesome expressions at configure-time, not at #if-time. * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the preprocessor. * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into compile-time C checks, done at 'configure'-time. (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro. * modules/inttypes (Makefile): Substitute the new symbols that gl_INTTYPES_H now generates. * lib/inttypes.in.h: Don't use constants wider than 'long' in #if. 2007-11-12 Bruno Haible Tests for Unicode character classification functions. * modules/unictype/bidicategory-byname-tests: New file. * modules/unictype/bidicategory-name-tests: New file. * modules/unictype/bidicategory-of-tests: New file. * modules/unictype/bidicategory-test-tests: New file. * modules/unictype/block-list-tests: New file. * modules/unictype/block-of-tests: New file. * modules/unictype/block-test-tests: New file. * modules/unictype/category-C-tests: New file. * modules/unictype/category-Cc-tests: New file. * modules/unictype/category-Cf-tests: New file. * modules/unictype/category-Cn-tests: New file. * modules/unictype/category-Co-tests: New file. * modules/unictype/category-Cs-tests: New file. * modules/unictype/category-L-tests: New file. * modules/unictype/category-Ll-tests: New file. * modules/unictype/category-Lm-tests: New file. * modules/unictype/category-Lo-tests: New file. * modules/unictype/category-Lt-tests: New file. * modules/unictype/category-Lu-tests: New file. * modules/unictype/category-M-tests: New file. * modules/unictype/category-Mc-tests: New file. * modules/unictype/category-Me-tests: New file. * modules/unictype/category-Mn-tests: New file. * modules/unictype/category-N-tests: New file. * modules/unictype/category-Nd-tests: New file. * modules/unictype/category-Nl-tests: New file. * modules/unictype/category-No-tests: New file. * modules/unictype/category-P-tests: New file. * modules/unictype/category-Pc-tests: New file. * modules/unictype/category-Pd-tests: New file. * modules/unictype/category-Pe-tests: New file. * modules/unictype/category-Pf-tests: New file. * modules/unictype/category-Pi-tests: New file. * modules/unictype/category-Po-tests: New file. * modules/unictype/category-Ps-tests: New file. * modules/unictype/category-S-tests: New file. * modules/unictype/category-Sc-tests: New file. * modules/unictype/category-Sk-tests: New file. * modules/unictype/category-Sm-tests: New file. * modules/unictype/category-So-tests: New file. * modules/unictype/category-Z-tests: New file. * modules/unictype/category-Zl-tests: New file. * modules/unictype/category-Zp-tests: New file. * modules/unictype/category-Zs-tests: New file. * modules/unictype/category-and-not-tests: New file. * modules/unictype/category-and-tests: New file. * modules/unictype/category-byname-tests: New file. * modules/unictype/category-name-tests: New file. * modules/unictype/category-none-tests: New file. * modules/unictype/category-of-tests: New file. * modules/unictype/category-or-tests: New file. * modules/unictype/category-test-withtable-tests: New file. * modules/unictype/combining-class-tests: New file. * modules/unictype/ctype-alnum-tests: New file. * modules/unictype/ctype-alpha-tests: New file. * modules/unictype/ctype-blank-tests: New file. * modules/unictype/ctype-cntrl-tests: New file. * modules/unictype/ctype-digit-tests: New file. * modules/unictype/ctype-graph-tests: New file. * modules/unictype/ctype-lower-tests: New file. * modules/unictype/ctype-print-tests: New file. * modules/unictype/ctype-punct-tests: New file. * modules/unictype/ctype-space-tests: New file. * modules/unictype/ctype-upper-tests: New file. * modules/unictype/ctype-xdigit-tests: New file. * modules/unictype/decimal-digit-tests: New file. * modules/unictype/digit-tests: New file. * modules/unictype/mirror-tests: New file. * modules/unictype/numeric-tests: New file. * modules/unictype/property-alphabetic-tests: New file. * modules/unictype/property-ascii-hex-digit-tests: New file. * modules/unictype/property-bidi-arabic-digit-tests: New file. * modules/unictype/property-bidi-arabic-right-to-left-tests: New file. * modules/unictype/property-bidi-block-separator-tests: New file. * modules/unictype/property-bidi-boundary-neutral-tests: New file. * modules/unictype/property-bidi-common-separator-tests: New file. * modules/unictype/property-bidi-control-tests: New file. * modules/unictype/property-bidi-embedding-or-override-tests: New file. * modules/unictype/property-bidi-eur-num-separator-tests: New file. * modules/unictype/property-bidi-eur-num-terminator-tests: New file. * modules/unictype/property-bidi-european-digit-tests: New file. * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file. * modules/unictype/property-bidi-left-to-right-tests: New file. * modules/unictype/property-bidi-non-spacing-mark-tests: New file. * modules/unictype/property-bidi-other-neutral-tests: New file. * modules/unictype/property-bidi-pdf-tests: New file. * modules/unictype/property-bidi-segment-separator-tests: New file. * modules/unictype/property-bidi-whitespace-tests: New file. * modules/unictype/property-byname-tests: New file. * modules/unictype/property-combining-tests: New file. * modules/unictype/property-composite-tests: New file. * modules/unictype/property-currency-symbol-tests: New file. * modules/unictype/property-dash-tests: New file. * modules/unictype/property-decimal-digit-tests: New file. * modules/unictype/property-default-ignorable-code-point-tests: New file. * modules/unictype/property-deprecated-tests: New file. * modules/unictype/property-diacritic-tests: New file. * modules/unictype/property-extender-tests: New file. * modules/unictype/property-format-control-tests: New file. * modules/unictype/property-grapheme-base-tests: New file. * modules/unictype/property-grapheme-extend-tests: New file. * modules/unictype/property-grapheme-link-tests: New file. * modules/unictype/property-hex-digit-tests: New file. * modules/unictype/property-hyphen-tests: New file. * modules/unictype/property-id-continue-tests: New file. * modules/unictype/property-id-start-tests: New file. * modules/unictype/property-ideographic-tests: New file. * modules/unictype/property-ids-binary-operator-tests: New file. * modules/unictype/property-ids-trinary-operator-tests: New file. * modules/unictype/property-ignorable-control-tests: New file. * modules/unictype/property-iso-control-tests: New file. * modules/unictype/property-join-control-tests: New file. * modules/unictype/property-left-of-pair-tests: New file. * modules/unictype/property-line-separator-tests: New file. * modules/unictype/property-logical-order-exception-tests: New file. * modules/unictype/property-lowercase-tests: New file. * modules/unictype/property-math-tests: New file. * modules/unictype/property-non-break-tests: New file. * modules/unictype/property-not-a-character-tests: New file. * modules/unictype/property-numeric-tests: New file. * modules/unictype/property-other-alphabetic-tests: New file. * modules/unictype/property-other-default-ignorable-code-point-tests: New file. * modules/unictype/property-other-grapheme-extend-tests: New file. * modules/unictype/property-other-id-continue-tests: New file. * modules/unictype/property-other-id-start-tests: New file. * modules/unictype/property-other-lowercase-tests: New file. * modules/unictype/property-other-math-tests: New file. * modules/unictype/property-other-uppercase-tests: New file. * modules/unictype/property-paired-punctuation-tests: New file. * modules/unictype/property-paragraph-separator-tests: New file. * modules/unictype/property-pattern-syntax-tests: New file. * modules/unictype/property-pattern-white-space-tests: New file. * modules/unictype/property-private-use-tests: New file. * modules/unictype/property-punctuation-tests: New file. * modules/unictype/property-quotation-mark-tests: New file. * modules/unictype/property-radical-tests: New file. * modules/unictype/property-sentence-terminal-tests: New file. * modules/unictype/property-soft-dotted-tests: New file. * modules/unictype/property-space-tests: New file. * modules/unictype/property-terminal-punctuation-tests: New file. * modules/unictype/property-test-tests: New file. * modules/unictype/property-titlecase-tests: New file. * modules/unictype/property-unassigned-code-value-tests: New file. * modules/unictype/property-unified-ideograph-tests: New file. * modules/unictype/property-uppercase-tests: New file. * modules/unictype/property-variation-selector-tests: New file. * modules/unictype/property-white-space-tests: New file. * modules/unictype/property-xid-continue-tests: New file. * modules/unictype/property-xid-start-tests: New file. * modules/unictype/property-zero-width-tests: New file. * modules/unictype/scripts-tests: New file. * modules/unictype/syntax-c-ident-tests: New file. * modules/unictype/syntax-c-whitespace-tests: New file. * modules/unictype/syntax-java-ident-tests: New file. * modules/unictype/syntax-java-whitespace-tests: New file. * tests/unictype/test-bidi_byname.c: New file. * tests/unictype/test-bidi_name.c: New file. * tests/unictype/test-bidi_of.c: New file. * tests/unictype/test-bidi_test.c: New file. * tests/unictype/test-block_list.c: New file. * tests/unictype/test-block_of.c: New file. * tests/unictype/test-block_test.c: New file. * tests/unictype/test-categ_and.c: New file. * tests/unictype/test-categ_and_not.c: New file. * tests/unictype/test-categ_byname.c: New file. * tests/unictype/test-categ_name.c: New file. * tests/unictype/test-categ_none.c: New file. * tests/unictype/test-categ_of.c: New file. * tests/unictype/test-categ_or.c: New file. * tests/unictype/test-categ_test_withtable.c: New file. * tests/unictype/test-combining.c: New file. * tests/unictype/test-decdigit.c: New file. * tests/unictype/test-digit.c: New file. * tests/unictype/test-mirror.c: New file. * tests/unictype/test-numeric.c: New file. * tests/unictype/test-pr_byname.c: New file. * tests/unictype/test-pr_test.c: New file. * tests/unictype/test-predicate-part1.h: New file. * tests/unictype/test-predicate-part2.h: New file. * tests/unictype/test-scripts.c: New file. * tests/unictype/test-sy_c_ident.c: New file. * tests/unictype/test-sy_java_ident.c: New file. * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c for Unicode 5.0.0. * tests/unictype/test-categ_Cc.c: Likewise. * tests/unictype/test-categ_Cf.c: Likewise. * tests/unictype/test-categ_Cn.c: Likewise. * tests/unictype/test-categ_Co.c: Likewise. * tests/unictype/test-categ_Cs.c: Likewise. * tests/unictype/test-categ_L.c: Likewise. * tests/unictype/test-categ_Ll.c: Likewise. * tests/unictype/test-categ_Lm.c: Likewise. * tests/unictype/test-categ_Lo.c: Likewise. * tests/unictype/test-categ_Lt.c: Likewise. * tests/unictype/test-categ_Lu.c: Likewise. * tests/unictype/test-categ_M.c: Likewise. * tests/unictype/test-categ_Mc.c: Likewise. * tests/unictype/test-categ_Me.c: Likewise. * tests/unictype/test-categ_Mn.c: Likewise. * tests/unictype/test-categ_N.c: Likewise. * tests/unictype/test-categ_Nd.c: Likewise. * tests/unictype/test-categ_Nl.c: Likewise. * tests/unictype/test-categ_No.c: Likewise. * tests/unictype/test-categ_P.c: Likewise. * tests/unictype/test-categ_Pc.c: Likewise. * tests/unictype/test-categ_Pd.c: Likewise. * tests/unictype/test-categ_Pe.c: Likewise. * tests/unictype/test-categ_Pf.c: Likewise. * tests/unictype/test-categ_Pi.c: Likewise. * tests/unictype/test-categ_Po.c: Likewise. * tests/unictype/test-categ_Ps.c: Likewise. * tests/unictype/test-categ_S.c: Likewise. * tests/unictype/test-categ_Sc.c: Likewise. * tests/unictype/test-categ_Sk.c: Likewise. * tests/unictype/test-categ_Sm.c: Likewise. * tests/unictype/test-categ_So.c: Likewise. * tests/unictype/test-categ_Z.c: Likewise. * tests/unictype/test-categ_Zl.c: Likewise. * tests/unictype/test-categ_Zp.c: Likewise. * tests/unictype/test-categ_Zs.c: Likewise. * tests/unictype/test-ctype_alnum.c: Likewise. * tests/unictype/test-ctype_alpha.c: Likewise. * tests/unictype/test-ctype_blank.c: Likewise. * tests/unictype/test-ctype_cntrl.c: Likewise. * tests/unictype/test-ctype_digit.c: Likewise. * tests/unictype/test-ctype_graph.c: Likewise. * tests/unictype/test-ctype_lower.c: Likewise. * tests/unictype/test-ctype_print.c: Likewise. * tests/unictype/test-ctype_punct.c: Likewise. * tests/unictype/test-ctype_space.c: Likewise. * tests/unictype/test-ctype_upper.c: Likewise. * tests/unictype/test-ctype_xdigit.c: Likewise. * tests/unictype/test-decdigit.h: Likewise. * tests/unictype/test-digit.h: Likewise. * tests/unictype/test-numeric.h: Likewise. * tests/unictype/test-pr_alphabetic.c: Likewise. * tests/unictype/test-pr_ascii_hex_digit.c: Likewise. * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise. * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise. * tests/unictype/test-pr_bidi_block_separator.c: Likewise. * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise. * tests/unictype/test-pr_bidi_common_separator.c: Likewise. * tests/unictype/test-pr_bidi_control.c: Likewise. * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise. * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise. * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise. * tests/unictype/test-pr_bidi_european_digit.c: Likewise. * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise. * tests/unictype/test-pr_bidi_left_to_right.c: Likewise. * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise. * tests/unictype/test-pr_bidi_other_neutral.c: Likewise. * tests/unictype/test-pr_bidi_pdf.c: Likewise. * tests/unictype/test-pr_bidi_segment_separator.c: Likewise. * tests/unictype/test-pr_bidi_whitespace.c: Likewise. * tests/unictype/test-pr_combining.c: Likewise. * tests/unictype/test-pr_composite.c: Likewise. * tests/unictype/test-pr_currency_symbol.c: Likewise. * tests/unictype/test-pr_dash.c: Likewise. * tests/unictype/test-pr_decimal_digit.c: Likewise. * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise. * tests/unictype/test-pr_deprecated.c: Likewise. * tests/unictype/test-pr_diacritic.c: Likewise. * tests/unictype/test-pr_extender.c: Likewise. * tests/unictype/test-pr_format_control.c: Likewise. * tests/unictype/test-pr_grapheme_base.c: Likewise. * tests/unictype/test-pr_grapheme_extend.c: Likewise. * tests/unictype/test-pr_grapheme_link.c: Likewise. * tests/unictype/test-pr_hex_digit.c: Likewise. * tests/unictype/test-pr_hyphen.c: Likewise. * tests/unictype/test-pr_id_continue.c: Likewise. * tests/unictype/test-pr_id_start.c: Likewise. * tests/unictype/test-pr_ideographic.c: Likewise. * tests/unictype/test-pr_ids_binary_operator.c: Likewise. * tests/unictype/test-pr_ids_trinary_operator.c: Likewise. * tests/unictype/test-pr_ignorable_control.c: Likewise. * tests/unictype/test-pr_iso_control.c: Likewise. * tests/unictype/test-pr_join_control.c: Likewise. * tests/unictype/test-pr_left_of_pair.c: Likewise. * tests/unictype/test-pr_line_separator.c: Likewise. * tests/unictype/test-pr_logical_order_exception.c: Likewise. * tests/unictype/test-pr_lowercase.c: Likewise. * tests/unictype/test-pr_math.c: Likewise. * tests/unictype/test-pr_non_break.c: Likewise. * tests/unictype/test-pr_not_a_character.c: Likewise. * tests/unictype/test-pr_numeric.c: Likewise. * tests/unictype/test-pr_other_alphabetic.c: Likewise. * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise. * tests/unictype/test-pr_other_grapheme_extend.c: Likewise. * tests/unictype/test-pr_other_id_continue.c: Likewise. * tests/unictype/test-pr_other_id_start.c: Likewise. * tests/unictype/test-pr_other_lowercase.c: Likewise. * tests/unictype/test-pr_other_math.c: Likewise. * tests/unictype/test-pr_other_uppercase.c: Likewise. * tests/unictype/test-pr_paired_punctuation.c: Likewise. * tests/unictype/test-pr_paragraph_separator.c: Likewise. * tests/unictype/test-pr_pattern_syntax.c: Likewise. * tests/unictype/test-pr_pattern_white_space.c: Likewise. * tests/unictype/test-pr_private_use.c: Likewise. * tests/unictype/test-pr_punctuation.c: Likewise. * tests/unictype/test-pr_quotation_mark.c: Likewise. * tests/unictype/test-pr_radical.c: Likewise. * tests/unictype/test-pr_sentence_terminal.c: Likewise. * tests/unictype/test-pr_soft_dotted.c: Likewise. * tests/unictype/test-pr_space.c: Likewise. * tests/unictype/test-pr_terminal_punctuation.c: Likewise. * tests/unictype/test-pr_titlecase.c: Likewise. * tests/unictype/test-pr_unassigned_code_value.c: Likewise. * tests/unictype/test-pr_unified_ideograph.c: Likewise. * tests/unictype/test-pr_uppercase.c: Likewise. * tests/unictype/test-pr_variation_selector.c: Likewise. * tests/unictype/test-pr_white_space.c: Likewise. * tests/unictype/test-pr_xid_continue.c: Likewise. * tests/unictype/test-pr_xid_start.c: Likewise. * tests/unictype/test-pr_zero_width.c: Likewise. * tests/unictype/test-sy_c_whitespace.c: Likewise. * tests/unictype/test-sy_java_whitespace.c: Likewise. 2007-11-12 Bruno Haible Unicode character classification functions. * lib/unictype.h: New file. * modules/unictype/base: New file. * modules/unictype/category-L: New file. * modules/unictype/category-Lu: New file. * modules/unictype/category-Ll: New file. * modules/unictype/category-Lt: New file. * modules/unictype/category-Lm: New file. * modules/unictype/category-Lo: New file. * modules/unictype/category-M: New file. * modules/unictype/category-Mn: New file. * modules/unictype/category-Mc: New file. * modules/unictype/category-Me: New file. * modules/unictype/category-N: New file. * modules/unictype/category-Nd: New file. * modules/unictype/category-Nl: New file. * modules/unictype/category-No: New file. * modules/unictype/category-P: New file. * modules/unictype/category-Pc: New file. * modules/unictype/category-Pd: New file. * modules/unictype/category-Ps: New file. * modules/unictype/category-Pe: New file. * modules/unictype/category-Pi: New file. * modules/unictype/category-Pf: New file. * modules/unictype/category-Po: New file. * modules/unictype/category-S: New file. * modules/unictype/category-Sm: New file. * modules/unictype/category-Sc: New file. * modules/unictype/category-Sk: New file. * modules/unictype/category-So: New file. * modules/unictype/category-Z: New file. * modules/unictype/category-Zs: New file. * modules/unictype/category-Zl: New file. * modules/unictype/category-Zp: New file. * modules/unictype/category-C: New file. * modules/unictype/category-Cc: New file. * modules/unictype/category-Cf: New file. * modules/unictype/category-Cs: New file. * modules/unictype/category-Co: New file. * modules/unictype/category-Cn: New file. * modules/unictype/category-or: New file. * modules/unictype/category-of: New file. * modules/unictype/category-test: New file. * modules/unictype/category-test-withtable: New file. * modules/unictype/category-byname: New file. * modules/unictype/category-none: New file. * modules/unictype/category-and: New file. * modules/unictype/category-and-not: New file. * modules/unictype/category-name: New file. * modules/unictype/combining-class: New file. * modules/unictype/category-all: New file. * modules/unictype/bidicategory-all: New file. * modules/unictype/bidicategory-byname: New file. * modules/unictype/bidicategory-name: New file. * modules/unictype/bidicategory-of: New file. * modules/unictype/bidicategory-test: New file. * modules/unictype/decimal-digit: New file. * modules/unictype/digit: New file. * modules/unictype/numeric: New file. * modules/unictype/mirror: New file. * modules/unictype/property-white-space: New file. * modules/unictype/property-alphabetic: New file. * modules/unictype/property-other-alphabetic: New file. * modules/unictype/property-not-a-character: New file. * modules/unictype/property-default-ignorable-code-point: New file. * modules/unictype/property-other-default-ignorable-code-point: New file. * modules/unictype/property-deprecated: New file. * modules/unictype/property-logical-order-exception: New file. * modules/unictype/property-variation-selector: New file. * modules/unictype/property-private-use: New file. * modules/unictype/property-unassigned-code-value: New file. * modules/unictype/property-uppercase: New file. * modules/unictype/property-other-uppercase: New file. * modules/unictype/property-lowercase: New file. * modules/unictype/property-other-lowercase: New file. * modules/unictype/property-titlecase: New file. * modules/unictype/property-soft-dotted: New file. * modules/unictype/property-id-start: New file. * modules/unictype/property-other-id-start: New file. * modules/unictype/property-id-continue: New file. * modules/unictype/property-other-id-continue: New file. * modules/unictype/property-xid-start: New file. * modules/unictype/property-xid-continue: New file. * modules/unictype/property-pattern-white-space: New file. * modules/unictype/property-pattern-syntax: New file. * modules/unictype/property-join-control: New file. * modules/unictype/property-grapheme-base: New file. * modules/unictype/property-grapheme-extend: New file. * modules/unictype/property-other-grapheme-extend: New file. * modules/unictype/property-grapheme-link: New file. * modules/unictype/property-bidi-control: New file. * modules/unictype/property-bidi-left-to-right: New file. * modules/unictype/property-bidi-hebrew-right-to-left: New file. * modules/unictype/property-bidi-arabic-right-to-left: New file. * modules/unictype/property-bidi-european-digit: New file. * modules/unictype/property-bidi-eur-num-separator: New file. * modules/unictype/property-bidi-eur-num-terminator: New file. * modules/unictype/property-bidi-arabic-digit: New file. * modules/unictype/property-bidi-common-separator: New file. * modules/unictype/property-bidi-block-separator: New file. * modules/unictype/property-bidi-segment-separator: New file. * modules/unictype/property-bidi-whitespace: New file. * modules/unictype/property-bidi-non-spacing-mark: New file. * modules/unictype/property-bidi-boundary-neutral: New file. * modules/unictype/property-bidi-pdf: New file. * modules/unictype/property-bidi-embedding-or-override: New file. * modules/unictype/property-bidi-other-neutral: New file. * modules/unictype/property-hex-digit: New file. * modules/unictype/property-ascii-hex-digit: New file. * modules/unictype/property-ideographic: New file. * modules/unictype/property-unified-ideograph: New file. * modules/unictype/property-radical: New file. * modules/unictype/property-ids-binary-operator: New file. * modules/unictype/property-ids-trinary-operator: New file. * modules/unictype/property-zero-width: New file. * modules/unictype/property-space: New file. * modules/unictype/property-non-break: New file. * modules/unictype/property-iso-control: New file. * modules/unictype/property-format-control: New file. * modules/unictype/property-dash: New file. * modules/unictype/property-hyphen: New file. * modules/unictype/property-punctuation: New file. * modules/unictype/property-line-separator: New file. * modules/unictype/property-paragraph-separator: New file. * modules/unictype/property-quotation-mark: New file. * modules/unictype/property-sentence-terminal: New file. * modules/unictype/property-terminal-punctuation: New file. * modules/unictype/property-currency-symbol: New file. * modules/unictype/property-math: New file. * modules/unictype/property-other-math: New file. * modules/unictype/property-paired-punctuation: New file. * modules/unictype/property-left-of-pair: New file. * modules/unictype/property-combining: New file. * modules/unictype/property-composite: New file. * modules/unictype/property-decimal-digit: New file. * modules/unictype/property-numeric: New file. * modules/unictype/property-diacritic: New file. * modules/unictype/property-extender: New file. * modules/unictype/property-ignorable-control: New file. * modules/unictype/property-test: New file. * modules/unictype/property-byname: New file. * modules/unictype/property-all: New file. * modules/unictype/scripts: New file. * modules/unictype/scripts-all: New file. * modules/unictype/block-of: New file. * modules/unictype/block-test: New file. * modules/unictype/block-list: New file. * modules/unictype/block-all: New file. * modules/unictype/syntax-c-whitespace: New file. * modules/unictype/syntax-java-whitespace: New file. * modules/unictype/syntax-c-ident: New file. * modules/unictype/syntax-java-ident: New file. * modules/unictype/ctype-alnum: New file. * modules/unictype/ctype-alpha: New file. * modules/unictype/ctype-cntrl: New file. * modules/unictype/ctype-digit: New file. * modules/unictype/ctype-graph: New file. * modules/unictype/ctype-lower: New file. * modules/unictype/ctype-print: New file. * modules/unictype/ctype-punct: New file. * modules/unictype/ctype-space: New file. * modules/unictype/ctype-upper: New file. * modules/unictype/ctype-xdigit: New file. * modules/unictype/ctype-blank: New file. * lib/unictype/bidi_byname.c: New file. * lib/unictype/bidi_name.c: New file. * lib/unictype/bidi_of.c: New file. * lib/unictype/bidi_test.c: New file. * lib/unictype/bitmap.h: New file. * lib/unictype/block_test.c: New file. * lib/unictype/blocks.c: New file. * lib/unictype/categ_C.c: New file. * lib/unictype/categ_Cc.c: New file. * lib/unictype/categ_Cf.c: New file. * lib/unictype/categ_Cn.c: New file. * lib/unictype/categ_Co.c: New file. * lib/unictype/categ_Cs.c: New file. * lib/unictype/categ_L.c: New file. * lib/unictype/categ_Ll.c: New file. * lib/unictype/categ_Lm.c: New file. * lib/unictype/categ_Lo.c: New file. * lib/unictype/categ_Lt.c: New file. * lib/unictype/categ_Lu.c: New file. * lib/unictype/categ_M.c: New file. * lib/unictype/categ_Mc.c: New file. * lib/unictype/categ_Me.c: New file. * lib/unictype/categ_Mn.c: New file. * lib/unictype/categ_N.c: New file. * lib/unictype/categ_Nd.c: New file. * lib/unictype/categ_Nl.c: New file. * lib/unictype/categ_No.c: New file. * lib/unictype/categ_P.c: New file. * lib/unictype/categ_Pc.c: New file. * lib/unictype/categ_Pd.c: New file. * lib/unictype/categ_Pe.c: New file. * lib/unictype/categ_Pf.c: New file. * lib/unictype/categ_Pi.c: New file. * lib/unictype/categ_Po.c: New file. * lib/unictype/categ_Ps.c: New file. * lib/unictype/categ_S.c: New file. * lib/unictype/categ_Sc.c: New file. * lib/unictype/categ_Sk.c: New file. * lib/unictype/categ_Sm.c: New file. * lib/unictype/categ_So.c: New file. * lib/unictype/categ_Z.c: New file. * lib/unictype/categ_Zl.c: New file. * lib/unictype/categ_Zp.c: New file. * lib/unictype/categ_Zs.c: New file. * lib/unictype/categ_and.c: New file. * lib/unictype/categ_and_not.c: New file. * lib/unictype/categ_byname.c: New file. * lib/unictype/categ_name.c: New file. * lib/unictype/categ_none.c: New file. * lib/unictype/categ_of.c: New file. * lib/unictype/categ_or.c: New file. * lib/unictype/categ_test.c: New file. * lib/unictype/combining.c: New file. * lib/unictype/ctype_alnum.c: New file. * lib/unictype/ctype_alpha.c: New file. * lib/unictype/ctype_blank.c: New file. * lib/unictype/ctype_cntrl.c: New file. * lib/unictype/ctype_digit.c: New file. * lib/unictype/ctype_graph.c: New file. * lib/unictype/ctype_lower.c: New file. * lib/unictype/ctype_print.c: New file. * lib/unictype/ctype_punct.c: New file. * lib/unictype/ctype_space.c: New file. * lib/unictype/ctype_upper.c: New file. * lib/unictype/ctype_xdigit.c: New file. * lib/unictype/decdigit.c: New file. * lib/unictype/digit.c: New file. * lib/unictype/identsyntaxmap.h: New file. * lib/unictype/mirror.c: New file. * lib/unictype/numeric.c: New file. * lib/unictype/pr_alphabetic.c: New file. * lib/unictype/pr_ascii_hex_digit.c: New file. * lib/unictype/pr_bidi_arabic_digit.c: New file. * lib/unictype/pr_bidi_arabic_right_to_left.c: New file. * lib/unictype/pr_bidi_block_separator.c: New file. * lib/unictype/pr_bidi_boundary_neutral.c: New file. * lib/unictype/pr_bidi_common_separator.c: New file. * lib/unictype/pr_bidi_control.c: New file. * lib/unictype/pr_bidi_embedding_or_override.c: New file. * lib/unictype/pr_bidi_eur_num_separator.c: New file. * lib/unictype/pr_bidi_eur_num_terminator.c: New file. * lib/unictype/pr_bidi_european_digit.c: New file. * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file. * lib/unictype/pr_bidi_left_to_right.c: New file. * lib/unictype/pr_bidi_non_spacing_mark.c: New file. * lib/unictype/pr_bidi_other_neutral.c: New file. * lib/unictype/pr_bidi_pdf.c: New file. * lib/unictype/pr_bidi_segment_separator.c: New file. * lib/unictype/pr_bidi_whitespace.c: New file. * lib/unictype/pr_byname.c: New file. * lib/unictype/pr_byname.gperf: New file. * lib/unictype/pr_combining.c: New file. * lib/unictype/pr_composite.c: New file. * lib/unictype/pr_currency_symbol.c: New file. * lib/unictype/pr_dash.c: New file. * lib/unictype/pr_decimal_digit.c: New file. * lib/unictype/pr_default_ignorable_code_point.c: New file. * lib/unictype/pr_deprecated.c: New file. * lib/unictype/pr_diacritic.c: New file. * lib/unictype/pr_extender.c: New file. * lib/unictype/pr_format_control.c: New file. * lib/unictype/pr_grapheme_base.c: New file. * lib/unictype/pr_grapheme_extend.c: New file. * lib/unictype/pr_grapheme_link.c: New file. * lib/unictype/pr_hex_digit.c: New file. * lib/unictype/pr_hyphen.c: New file. * lib/unictype/pr_id_continue.c: New file. * lib/unictype/pr_id_start.c: New file. * lib/unictype/pr_ideographic.c: New file. * lib/unictype/pr_ids_binary_operator.c: New file. * lib/unictype/pr_ids_trinary_operator.c: New file. * lib/unictype/pr_ignorable_control.c: New file. * lib/unictype/pr_iso_control.c: New file. * lib/unictype/pr_join_control.c: New file. * lib/unictype/pr_left_of_pair.c: New file. * lib/unictype/pr_line_separator.c: New file. * lib/unictype/pr_logical_order_exception.c: New file. * lib/unictype/pr_lowercase.c: New file. * lib/unictype/pr_math.c: New file. * lib/unictype/pr_non_break.c: New file. * lib/unictype/pr_not_a_character.c: New file. * lib/unictype/pr_numeric.c: New file. * lib/unictype/pr_other_alphabetic.c: New file. * lib/unictype/pr_other_default_ignorable_code_point.c: New file. * lib/unictype/pr_other_grapheme_extend.c: New file. * lib/unictype/pr_other_id_continue.c: New file. * lib/unictype/pr_other_id_start.c: New file. * lib/unictype/pr_other_lowercase.c: New file. * lib/unictype/pr_other_math.c: New file. * lib/unictype/pr_other_uppercase.c: New file. * lib/unictype/pr_paired_punctuation.c: New file. * lib/unictype/pr_paragraph_separator.c: New file. * lib/unictype/pr_pattern_syntax.c: New file. * lib/unictype/pr_pattern_white_space.c: New file. * lib/unictype/pr_private_use.c: New file. * lib/unictype/pr_punctuation.c: New file. * lib/unictype/pr_quotation_mark.c: New file. * lib/unictype/pr_radical.c: New file. * lib/unictype/pr_sentence_terminal.c: New file. * lib/unictype/pr_soft_dotted.c: New file. * lib/unictype/pr_space.c: New file. * lib/unictype/pr_terminal_punctuation.c: New file. * lib/unictype/pr_test.c: New file. * lib/unictype/pr_titlecase.c: New file. * lib/unictype/pr_unassigned_code_value.c: New file. * lib/unictype/pr_unified_ideograph.c: New file. * lib/unictype/pr_uppercase.c: New file. * lib/unictype/pr_variation_selector.c: New file. * lib/unictype/pr_white_space.c: New file. * lib/unictype/pr_xid_continue.c: New file. * lib/unictype/pr_xid_start.c: New file. * lib/unictype/pr_zero_width.c: New file. * lib/unictype/scripts.c: New file. * lib/unictype/sy_c_ident.c: New file. * lib/unictype/sy_c_whitespace.c: New file. * lib/unictype/sy_java_ident.c: New file. * lib/unictype/sy_java_whitespace.c: New file. * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for Unicode 5.0.0. * lib/unictype/blocks.h: Likewise. * lib/unictype/categ_C.h: Likewise. * lib/unictype/categ_Cc.h: Likewise. * lib/unictype/categ_Cf.h: Likewise. * lib/unictype/categ_Cn.h: Likewise. * lib/unictype/categ_Co.h: Likewise. * lib/unictype/categ_Cs.h: Likewise. * lib/unictype/categ_L.h: Likewise. * lib/unictype/categ_Ll.h: Likewise. * lib/unictype/categ_Lm.h: Likewise. * lib/unictype/categ_Lo.h: Likewise. * lib/unictype/categ_Lt.h: Likewise. * lib/unictype/categ_Lu.h: Likewise. * lib/unictype/categ_M.h: Likewise. * lib/unictype/categ_Mc.h: Likewise. * lib/unictype/categ_Me.h: Likewise. * lib/unictype/categ_Mn.h: Likewise. * lib/unictype/categ_N.h: Likewise. * lib/unictype/categ_Nd.h: Likewise. * lib/unictype/categ_Nl.h: Likewise. * lib/unictype/categ_No.h: Likewise. * lib/unictype/categ_P.h: Likewise. * lib/unictype/categ_Pc.h: Likewise. * lib/unictype/categ_Pd.h: Likewise. * lib/unictype/categ_Pe.h: Likewise. * lib/unictype/categ_Pf.h: Likewise. * lib/unictype/categ_Pi.h: Likewise. * lib/unictype/categ_Po.h: Likewise. * lib/unictype/categ_Ps.h: Likewise. * lib/unictype/categ_S.h: Likewise. * lib/unictype/categ_Sc.h: Likewise. * lib/unictype/categ_Sk.h: Likewise. * lib/unictype/categ_Sm.h: Likewise. * lib/unictype/categ_So.h: Likewise. * lib/unictype/categ_Z.h: Likewise. * lib/unictype/categ_Zl.h: Likewise. * lib/unictype/categ_Zp.h: Likewise. * lib/unictype/categ_Zs.h: Likewise. * lib/unictype/categ_of.h: Likewise. * lib/unictype/combining.h: Likewise. * lib/unictype/ctype_alnum.h: Likewise. * lib/unictype/ctype_alpha.h: Likewise. * lib/unictype/ctype_blank.h: Likewise. * lib/unictype/ctype_cntrl.h: Likewise. * lib/unictype/ctype_digit.h: Likewise. * lib/unictype/ctype_graph.h: Likewise. * lib/unictype/ctype_lower.h: Likewise. * lib/unictype/ctype_print.h: Likewise. * lib/unictype/ctype_punct.h: Likewise. * lib/unictype/ctype_space.h: Likewise. * lib/unictype/ctype_upper.h: Likewise. * lib/unictype/ctype_xdigit.h: Likewise. * lib/unictype/decdigit.h: Likewise. * lib/unictype/digit.h: Likewise. * lib/unictype/mirror.h: Likewise. * lib/unictype/numeric.h: Likewise. * lib/unictype/pr_alphabetic.h: Likewise. * lib/unictype/pr_ascii_hex_digit.h: Likewise. * lib/unictype/pr_bidi_arabic_digit.h: Likewise. * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise. * lib/unictype/pr_bidi_block_separator.h: Likewise. * lib/unictype/pr_bidi_boundary_neutral.h: Likewise. * lib/unictype/pr_bidi_common_separator.h: Likewise. * lib/unictype/pr_bidi_control.h: Likewise. * lib/unictype/pr_bidi_embedding_or_override.h: Likewise. * lib/unictype/pr_bidi_eur_num_separator.h: Likewise. * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise. * lib/unictype/pr_bidi_europe