X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=ChangeLog;h=45a18d9597d230e2c8d83d1d0b7404ae0a092c26;hb=0e3b78bc9224c09f2c41c75e545917a0572566fb;hp=4d54ce53074d975c32362e4cd517902d3d994118;hpb=973c0665ffa8d014c50b2c9b808d437c69fb5c50;p=gnulib.git diff --git a/ChangeLog b/ChangeLog index 4d54ce530..ff950559d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4275 +1,5380 @@ -2007-02-25 Bruno Haible +2007-03-19 Paul Eggert - * modules/printf-frexp-tests: New file. - * tests/test-printf-frexp.c: New file. + Suggestions by Bruno Haible: + * lib/acl-internal.h: Include "gettext.h" rather than rolling + our own. + (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used. + * modules/acl (Depends-on): Add gettext. - * modules/printf-frexp: New file. - * lib/printf-frexp.h: New file. - * lib/printf-frexp.c: New file. - * m4/printf-frexp.m4: New file. +2007-03-19 Bruno Haible -2007-02-25 Bruno Haible + * modules/iconvme: Remove file. + * lib/iconvme.h: Remove file. + * lib/iconvme.c: Remove file. + * m4/iconvme.m4: Remove file. - Assume automake >= 1.10 for the tests. - * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix. - * modules/arctwo-tests: Likewise. - * modules/argp-tests: Likewise. - * modules/avltree-list-tests: Likewise. - * modules/avltree-oset-tests: Likewise. - * modules/avltreehash-list-tests: Likewise. - * modules/carray-list-tests: Likewise. - * modules/crc-tests: Likewise. - * modules/des-tests: Likewise. - * modules/gc-arcfour-tests: Likewise. - * modules/gc-arctwo-tests: Likewise. - * modules/gc-des-tests: Likewise. - * modules/gc-hmac-md5-tests: Likewise. - * modules/gc-hmac-sha1-tests: Likewise. - * modules/gc-md2-tests: Likewise. - * modules/gc-md4-tests: Likewise. - * modules/gc-md5-tests: Likewise. - * modules/gc-pbkdf2-sha1-tests: Likewise. - * modules/gc-rijndael-tests: Likewise. - * modules/gc-sha1-tests: Likewise. - * modules/gc-tests: Likewise. - * modules/getaddrinfo-tests: Likewise. - * modules/hmac-md5-tests: Likewise. - * modules/hmac-sha1-tests: Likewise. - * modules/linked-list-tests: Likewise. - * modules/linkedhash-list-tests: Likewise. - * modules/lock-tests: Likewise. - * modules/md2-tests: Likewise. - * modules/md4-tests: Likewise. - * modules/md5-tests: Likewise. - * modules/rbtree-list-tests: Likewise. - * modules/rbtree-oset-tests: Likewise. - * modules/rbtreehash-list-tests: Likewise. - * modules/read-file-tests: Likewise. - * modules/rijndael-tests: Likewise. - * modules/stdint-tests: Likewise. - * modules/tls-tests: Likewise. +2007-03-19 Bruno Haible -2007-02-24 Bruno Haible + * doc/relocatable-maint.texi: Break long shell script line. + Suggested by Thien-Thi Nguyen . - * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro. - * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a - function; instead check whether isnan with a double argument links. - * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a - function; instead check whether isnan with a 'long double' argument - links. - Reported by Eric Blake . +2007-03-19 Paul Eggert -2007-02-24 Bruno Haible + Add limited support for Solaris 10 ZFS-style ACLs: just enough to + handle file_has_acl. + * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files. + * lib/acl.c: Move header inclusions and related macro defns into + lib/acl-internal.h. + (S_ISLNK): Remove defn, since that's now done for us. + (file_has_acl): Move to lib/file-has-acl.c. + Call acl_trivial if available. This is the crucial part of the fix. + (acl_entries): Move to lib/acl_entries.c. Now extern, since it's + shared within the library. Rewrite a bit, partly to make it compatible + with the GNU coding style. + * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]). + Remove unnecessary double-quotes. + Don't test for acl_to_text; the build will catch that. + Replace acl_entries if it doesn't exist and it is needed. + Check for -lsec and acl_trivial (as used on Solaris 10). + * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c, + lib/file-has-acl.c. + (Depends-on): Add sys_stat, for S_ISLNK. - * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is - defined. - * lib/isnanl.c: Remove all code. Just include isnan.c. - * modules/isnanl-nolibm (Files): Add lib/isnan.c. +2007-03-19 Ben Pfaff -2007-02-25 Jim Meyering + * doc/gnulib.texi: Fix typos. + Suggested by Thien-Thi Nguyen . - Avoid conflicting types for 'unsetenv' on FreeBSD. - * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid - conflicting with FreeBSD's (5.0 and 6.1) function declaration - in stdlib.h. +2007-03-19 Paul Eggert -2007-02-24 Bruno Haible + * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL. + If size is zero here, buf must be zero. - * modules/isnanl-nolibm-tests: New file. - * tests/test-isnanl.c: New file. +2007-03-19 Simon Josefsson - * modules/isnanl-nolibm: New file. - * lib/isnanl.h: New file. - * lib/isnanl.c: New file. - * m4/isnanl.m4: New file. + * des.c: Remove weak_keys_chksum. Reported by Bruno Haible + . -2007-02-24 Bruno Haible +2007-03-18 Bruno Haible - * modules/isnan-nolibm-tests: New file. - * tests/test-isnan.c: New file. + * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch. + Suggested by Eric Blake. - * modules/isnan-nolibm: New file. - * lib/isnan.h: New file. - * lib/isnan.c: New file. - * m4/isnan.m4: New file. +2007-03-18 Ben Pfaff -2007-02-24 Bruno Haible + * doc/relocatable.texi: Recommend using as prefix a directory + that does not exist and will never be created. Based on + discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke, + and others. - * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't - assume that an exponent fits in 20 bits. +2007-03-17 Bruno Haible -2007-02-24 Jim Meyering + * lib/fchownat.c: Include lchown.h. - * m4/regex.m4: Update the description of the configure-time option, - --without-included-regex, to state accurately what the defaults are, - and perhaps to give people an idea why using this option is risky. +2007-03-17 Bruno Haible -2007-02-24 Paul Eggert + Fix endless loop when the given allocated size was > INT_MAX. + * lib/vasnprintf.c (EOVERFLOW): New fallback definition. + (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is + larger than INT_MAX, or when it grow to a value larger than INT_MAX. + * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf. + * lib/sprintf.c (sprintf): Likewise. - * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that - loops on small arguments. This attempts to avoid the problem - Bruno Haible reported for AIX 4.3.2 in - . +2007-03-17 Bruno Haible -2007-02-23 Bruno Haible + * tests/test-argp-2.sh (func_compare): Output a context diff. - * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003. - Needed for help2man. +2007-03-17 Bruno Haible -2007-02-23 Karl Berry + * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the + locale's decimal-point character. - * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h - exists, foo.h should be cvs-ignored, not committed. +2007-03-17 Bruno Haible -2007-02-23 Eric Blake + * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem + before comparing it. Needed because on some platforms (e.g. x86) a + 'long double' occupies less bytes than sizeof (long double). - * lib/getdate.h (includes): Include , not "timespec.h". - * lib/stat-time.h (includes): Likewise. - * lib/utimecmp.c (includes): Likewise. - * lib/utimens.h (includes): Likewise. - * lib/getdate.y (includes): Also include "timespec.h" for use - internal to the module. - * modules/utimens (Depends-on): Revert yesterday's patch. - * modules/nanosleep (Depends-on): Add missing dependency. +2007-03-17 Bruno Haible -2007-02-22 Bruno Haible + * tests/test-crc.c (main): Make printf statements 64-bit clean. + * tests/test-gc-pbkdf2-sha1.c (main): Likewise. + * tests/test-getaddrinfo.c (simple): Likewise. + * tests/test-read-file.c (main): Likewise. - * lib/glob.c: Don't include getlogin_r.h. +2007-03-17 Bruno Haible -2007-02-22 Jim Meyering + * tests/test-dirname.c (main): Make printf statements 64-bit clean. - * modules/utimens (Depends-on): Add timespec, required for - utimens.h's inclusion of timespec.h. +2007-03-17 Bruno Haible -2007-02-21 Paul Eggert + * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove + unused variable. - * lib/getcwd.c (__getcwd): Undo previous change; it mishandled - long unreadable paths in GNU/Linux. Problem reported by Andreas - Schwab in - . - I'll try to think of a better way to fix the Solaris problem. +2007-03-17 Bruno Haible - * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works - like glibc; on Solaris 10, it fails with errno == EINVAL. - POSIX says the behavior is unspecified if the first argument is NULL, - so play it safe and never pass NULL to the system getcwd. + * tests/test-c-strcasecmp.c: Include c-strcase.h. + * tests/test-c-strncasecmp.c: Likewise. -2007-02-21 Jim Meyering +2007-03-17 Bruno Haible - * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration - of gettimeofday. It would conflict with the one now always - provided via sys_time_.h. Reported by Matthew Woehlke, as - an IRIX 6.5 build failure. + * modules/stdlib (Depends-on): Add unistd. + * lib/stdlib_.h: Include if mkstemp is desired. + Needed for MacOS X 10.3. -2007-02-20 Paul Eggert +2007-03-17 Bruno Haible - Minor fixups to port to Solaris 10 with Sun C 5.8. - * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd. - * modules/getcwd (Depends-on): Add dirfd. - * lib/putenv.c (putenv): #undef it. - (rpl_putenv): New decl. - (malloc, free): Include rather than prototyping separately. + * lib/unistr/u-strdup.h: Include . -2007-02-20 Bruno Haible +2007-03-17 Bruno Haible - * modules/stdio-tests: New file. - * tests/test-stdio.c: New file. + * lib/unistr/u-cpy-alloc.h: Include . - * modules/vsnprintf (Files): Remove lib/vsnprintf.h. - (Depends-on): Add stdio. - (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR. - (Include): Use instead of vsnprintf.h. - * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set - HAVE_DECL_VSNPRINTF. - * lib/vsnprintf.c: Include instead of vsnprintf.h. +2007-03-17 Bruno Haible - * modules/snprintf (Files): Remove lib/snprintf.h. - (Depends-on): Add stdio. - (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR. - (Include): Use instead of snprintf.h. - * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set - HAVE_DECL_SNPRINTF. - * lib/snprintf.c: Include instead of snprintf.h. - * lib/getaddrinfo.c: Likewise. + * gnulib-tool (func_import): Update .cvsignore and .gitignore files + to reflect files copied from gnulib (with or without modifications). + Suggested by Jim Meyering. - * modules/stdio: New file. - * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h. - * lib/snprintf.h: Remove file. - * lib/vsnprintf.h: Remove file. - * lib/.cppi-disable: Remove snprintf.h. - * m4/stdio_h.m4: New file. - * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio. +2007-03-17 Eric Blake -2007-02-20 Jim Meyering + * NEWS: Document stdlib change from 2007-02-18. - * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is - used by e.g., mingw. From Bruno Haible. +2007-03-17 Jim Meyering -2007-02-19 Bruno Haible + Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted. + * build-aux/bootstrap: Put ""s around use of $build_aux, in case + someone uses a name containing shell meta-characters. + Reported by Alfred M. Szmidt. - * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc - warnings. - Reported by Ben Pfaff . + * build-aux/bootstrap: Don't use \> in grep regexp. For HP-UX. -2007-02-19 Bruno Haible +2007-03-16 Alfred M. Szmidt - * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail - from mingw users. + * build-aux/bootstrap (with_gettext): New variable. Run autopoint + and copy gettext configuration files only if configure.ac contains + a use of AM_GNU_GETTEXT_VERSION. -2007-02-19 Bruno Haible +2007-03-16 Alfred M. Szmidt - * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc - warnings. - Reported by Joel E. Denny via Paul Eggert. + * build-aux/bootstrap (gnulib_name): New variable. + (gnulib_tool_options): Use it. -2007-02-19 Jim Meyering +2007-03-13 Simon Josefsson - Don't use FD after a successful "fdopendir (fd)". - * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd. - Reset it by calling dirfd on the just-obtained DIR*. + * tests/test-des.c: Use new namespace. - * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve. - Prompted by a report from Bruno Haible that mingw lacks ftruncate. +2007-03-15 Bruno Haible -2007-02-18 Bruno Haible + * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'. + Reported by James Youngman . - * lib/readlink.c: Include . - * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set - HAVE_READLINK. - * modules/readlink (Depends-on): Add unistd. - (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR. - (Include): Add . +2007-03-15 Bruno Haible - * lib/getlogin_r.h: Remove file. - * lib/getlogin_r.c: Include instead of getlogin_r.h. - * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro. - (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set - HAVE_DECL_GETLOGIN_R. - * modules/getlogin_r (Files): Remove lib/getlogin_r.h. - (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR. - (Include): Use instead of getlogin_r.h. + * lib/glob.c (glob): Add 'restrict' so that prototype matches the + declared prototype. Needed with cc on OSF/1 5.1. - * lib/getcwd.h: Remove file. - * lib/getcwd.c: Include instead of getcwd.h. - * lib/xgetcwd.c: Likewise. - * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set - REPLACE_GETCWD. Don't define __GETCWD_PREFIX. - * modules/getcwd (Files): Remove lib/getcwd.h. - (Depends-on): Add unistd. - (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR. - (Include): Use instad of getcwd.h. +2007-03-15 Bruno Haible - * lib/ftruncate.c: Include first. - * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS. - Set HAVE_FTRUNCATE. - * modules/ftruncate (Depends-on): Add unistd. - (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR. + * lib/gl_list.h (gl_listelement_dispose_fn): New type. + (gl_list_create_empty, gl_list_create): Add dispose_fn argument. + (struct gl_list_implementation): Add dispose_fn argument to the + 'create_empty', 'create' methods. + (struct gl_list_impl_base): Add field 'dispose_fn'. + * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn + argument. + * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add + dispose_fn argument. + (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call + dispose_fn on the dropped values. + * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add + dispose_fn argument. + (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the + dropped values. + * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument. + (gl_tree_remove_node): Call dispose_fn on the dropped value. + * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument. + (gl_tree_remove_node): Call dispose_fn on the dropped value. + * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn + argument. + (gl_tree_list_free): Call dispose_fn on the dropped values. + * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on + the dropped values. + * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create): + Add dispose_fn argument. + (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free): + Call dispose_fn on the dropped values. + * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill): + Add dispose_fn argument. + (gl_sublist_create): Initialize the 'dispose_fn' field. + * lib/clean-temp.c (create_temp_dir, register_fd): Update. + * tests/test-array_list.c (main): Update. + * tests/test-carray_list.c (main): Update. + * tests/test-avltree_list.c (main): Update. + * tests/test-rbtree_list.c (main): Update. + * tests/test-avltreehash_list.c (main): Update. + * tests/test-rbtreehash_list.c (main): Update. + * tests/test-linked_list.c (main): Update. + * tests/test-linkedhash_list.c (main): Update. + * tests/test-array_oset.c (main): Update. - * lib/fchdir.c: Include first. - * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. - * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead - of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H. - * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR. - (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h. +2007-03-15 Bruno Haible - * lib/dup2.c: Include first. - * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set - HAVE_DUP2. - * modules/dup2 (Depends-on): Add unistd. - (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR. + * lib/gl_oset.h (gl_setelement_dispose_fn): New type. + (gl_oset_create_empty): Add dispose_fn argument. + (struct gl_oset_implementation): Add dispose_fn argument to + 'create_empty' method. + (struct gl_oset_impl_base): Add dispose_fn field. + * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument. + * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument. + (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped + values. + * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument. + (gl_tree_oset_free): Call dispose_fn on the dropped values. + * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the + dropped value. + * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the + dropped value. + * tests/test-array_oset.c (main): Update. + * tests/test-avltree_oset.c (main): Update. + * tests/test-rbtree_oset.c (main): Update. + * lib/gl_anytreehash_list1.h (add_to_bucket): Update. - * lib/chown.c: Include first. Undefine chown later. - * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set - REPLACE_CHOWN. Don't define chown as a macro here. - * modules/chown (Depends-on): Add unistd. - (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR. +2007-03-13 Bruno Haible - * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time. - Add definition for GL_LINK_WARNING. - (chown, dup2): New declarations. - (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional - link warning. - (ftruncate): New declaration. - (getcwd): New declaration, taken from old getcwd.h. - (getlogin_r): New declaration, taken from old getlogin_r.h. - (readlink): New declaration. - * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't - set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H. - (gl_PREREQ_UNISTD): Remove macro. - (gl_UNISTD_MODULE_INDICATOR): New macro. - (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set - many new variables. Don't set UNISTD_H. - * modules/unistd (Description): Change. - (Depends-on): Add link-warning. - (configure.ac): Update. - (Makefile.am): Create unistd.h always. Substitute many new variables - into it. + * tests/test-stdbool.c (i): Update after last patch. -2007-02-18 Bruno Haible +2007-03-12 Bruno Haible - * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h. - * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and - HAVE_GETSUBOPT. - * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize - GNULIB_GETSUBOPT and HAVE_GETSUBOPT. - * lib/getsubopt.h: Remove file. - * modules/getsubopt (Files): Remove lib/getsubopt.h. - (Depends-on): Add stdlib. - (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. - (Includes): Use instead of getsubopt.h. - * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS. - Set HAVE_GETSUBOPT. - * lib/getsubopt.c: Don't include getsubopt.h. + * lib/quotearg.c: Include early, before the definition of + the iswprint macro. Needed on Solaris 2.5.1. -2007-02-18 Bruno Haible +2007-03-12 Bruno Haible - * modules/fchdir (Depends-on): Add dup2. + * tests/test-printf-frexp.c (main): Declare x as volatile. -2007-02-18 Bruno Haible +2007-03-12 Simon Josefsson - * lib/stdlib_.h: Handle glibc's special invocation convention - specially. + * doc/gnulib.texi (Build robot for gnulib): New section. -2007-02-18 Bruno Haible +2007-03-12 Jim Meyering - * modules/stdlib-tests: New file. - * tests/test-stdlib.c: New file. + * build-aux/bootstrap: New file. + * build-aux/bootstrap.conf: New file, from coreutils. - * modules/mkstemp (Files): Remove lib/mkstemp.h. - (Depends-on): Add stdlib. - (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. - (Includes): Use instead of mkstemp.h. - * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set - REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX. - * lib/mkstemp.c: Don't include mkstemp.h. - * lib/mkstemp-safer.c: Include instead of mkstemp.h. - * lib/stdlib--.h: Don't include mkstemp.h. +2007-03-11 Bruno Haible - * modules/mkdtemp (Files): Remove lib/mkdtemp.h. - (Depends-on): Add stdlib. - (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. - (Includes): Use instead of mkdtemp.h. - * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set - HAVE_MKDTEMP. - * lib/mkdtemp.c: Don't include mkdtemp.h. - * lib/clean-temp.c: Don't include mkdtemp.h. + * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE. - * modules/exit (Files): Remove lib/exit.h. - (Depends-on): Add stdlib. - (Makefile.am): Remove lib_SOURCES. - (Include): Use instead of exit.h. - * lib/argmatch.c: Don't include exit.h. - * lib/execute.c: Likewise. - * lib/pagealign_alloc.c: Likewise. - * lib/pipe.c: Likewise. - * lib/wait-process.c: Likewise. - * lib/copy-file.c: Include instead of exit.h. - * lib/exitfail.c: Likewise. - * lib/savewd.c: Likewise. - * lib/xsetenv.c: Likewise. +2007-03-12 Simon Josefsson - * modules/stdlib: New file. - * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h - and extra comments about mkstemp(). - * lib/exit.h: Remove file. - * lib/mkdtemp.h: Remove file. - * lib/mkstemp.h: Remove file. - * m4/stdlib_h.m4: New file. - * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib. + * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to + avoid collisions with 'des_setkey'. Reported by Bruno Haible + . Also change 'tripledes_' to '3des_'. -2007-02-18 Bruno Haible +2007-03-11 Bruno Haible - * modules/math-tests: New file. - * tests/test-math.c: New file. + * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to + compile, set LOCALE_TR_UTF8 to 'none' instead of empty. - * modules/math: New file. - * modules/mathl (Files): Remove lib/mathl.h. - (Depends-on): Add math. - (Makefile.am): Don't mention mathl.h. - (Include): Use instead of mathl.h. - * lib/math_.h: New file. - * lib/mathl.h: Remove file. - * lib/acosl.c: Include and first. Don't include - mathl.h. - * lib/asinl.c: Likewise. - * lib/atanl.c: Likewise. - * lib/ceill.c: Likewise. - * lib/cosl.c: Likewise. - * lib/expl.c: Likewise. - * lib/floorl.c: Likewise. - * lib/frexpl.c: Likewise. - * lib/ldexpl.c: Likewise. - * lib/logl.c: Likewise. - * lib/sincosl.c: Likewise. - * lib/sinl.c: Likewise. - * lib/sqrtl.c: Likewise. - * lib/tanl.c: Likewise. - * lib/trigl.c: Likewise. - * m4/math_h.m4: New file. - * MODULES.html.sh (Mathematics): Add math. +2007-03-11 Bruno Haible -2007-02-17 Bruno Haible + * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX + formula. Needed for SunPRO C 5.0. - * modules/wctype-tests: New file. - * tests/test-wctype.c: New file. +2007-03-11 Bruno Haible - * modules/wchar-tests: New file. - * tests/test-wchar.c: New file. + * modules/long-options (Depends-on): Add getopt. - * modules/unistd-tests: New file. - * tests/test-unistd.c: New file. +2007-03-11 Bruno Haible - * modules/time-tests: New file. - * tests/test-time.c: New file. + * modules/modechange (Depends-on): Add stdbool. - * modules/sysexits-tests: New file. - * tests/test-sysexits.c: New file. +2007-03-11 Bruno Haible - * modules/sys_time-tests: New file. - * tests/test-sys_time.c: New file. + * modules/i-ring (Depends-on): Add stdbool. - * modules/sys_stat-tests: New file. - * tests/test-sys_stat.c: New file. +2007-03-11 Bruno Haible - * modules/sys_socket-tests: New file. - * tests/test-sys_socket.c: New file. + * modules/gc-des (Depends-on): Add stdbool. - * modules/sys_select-tests: New file. - * tests/test-sys_select.c: New file. +2007-03-11 Bruno Haible - * modules/string-tests: New file. - * tests/test-string.c: New file. + * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE. - * modules/stdbool-tests: New file. - * tests/test-stdbool.c: New file. +2007-03-11 Bruno Haible - * modules/netinet_in-tests: New file. - * tests/test-netinet_in.c: New file. + * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT. - * modules/inttypes-tests: New file. - * tests/test-inttypes.c: New file. +2007-03-11 Bruno Haible - * modules/fcntl-tests: New file. - * tests/test-fcntl.c: New file. + * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error. - * modules/byteswap-tests: New file. - * tests/test-byteswap.c: New file. +2007-03-11 Bruno Haible - * modules/arpa_inet-tests: New file. - * tests/test-arpa_inet.c: New file. + * lib/vasnprintf.c (sprintf): Undefine. -2007-02-17 Bruno Haible +2007-03-11 Bruno Haible - * lib/inttypes_.h: Add definition for GL_LINK_WARNING. - (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function - if the corresponding module is not enabled. Emit link warnings if - the function is used nevertheless. - * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing . - Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV, - HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX. - (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros. - * modules/inttypes (Depends-on): Add link-warning. - (Makefile.am): Copy the contents of build-aux/link-warning.h into - inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV, - GNULIB_STRTOIMAX, GNULIB_STRTOUMAX. - * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR. - * modules/imaxdiv (configure.ac): Likewise. - * modules/strtoimax (configure.ac): Likewise. - * modules/strtoumax (configure.ac): Likewise. + * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding + initializers in SunPRO C and Compaq C compilers. -2007-02-17 Bruno Haible +2007-03-11 Bruno Haible - * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of - gl_STRING_MODULE_INDICATOR_DEFAULTS. - (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro. - (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update. + * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer + decrementing code ANSI C compliant. -2007-02-17 Bruno Haible +2007-03-11 Bruno Haible - * modules/link-warning: New file. - * build-aux/link-warning.h: New file, extracted from lib/string_.h. - * lib/string_.h (GL_LINK_WARNING): Remove definition. - * modules/string (Depends-on): Add link-warning. - (Makefile.am): Copy the contents of build-aux/link-warning.h into - string.h. - * MODULES.html.sh (Support for building libraries and executables): Add - link-warning. + * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef. + Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0. -2007-02-17 Bruno Haible +2007-03-11 Bruno Haible - * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp, - strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn, - strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break - long lines. + * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's + substitute doesn't pass. -2007-02-17 Ben Pfaff - Bruno Haible +2007-03-11 Bruno Haible - * modules/tmpfile: New file. - * lib/tmpfile.c: New file. - * m4/tmpfile.m4: New file. - * MODULES.html.sh (func_all_modules): New section "Input/output". + * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion. -2007-02-15 Bruno Haible +2007-03-11 Bruno Haible - * lib/clean-temp.c [WIN32 && !CYGWIN]: Include . - (supports_delete_on_close): New function. - (open_temp, fopen_temp): Use _O_TEMPORARY when supported. + * gnulib-tool (func_create_megatestdir): Create also an autobuild + script, for submission to autobuild.josefsson.org. -2007-02-14 Bruno Haible +2007-03-10 Bruno Haible - * modules/mbspcasecmp-tests: New file. - * tests/test-mbspcasecmp.sh: New file. - * tests/test-mbspcasecmp.c: New file. + * modules/canonicalize-lgpl-tests: New file. + * tests/test-canonicalize-lgpl.sh: New file. + * tests/test-canonicalize-lgpl.c: New file. - New module mbspcasecmp. - * modules/mbspcasecmp: New file. - * lib/mbspcasecmp.c: New file. - * lib/string_.h (strncasecmp): Change warning message. - (mbspcasecmp): New declaration. - * m4/mbspcasecmp.m4: New file. - * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize - GNULIB_MBSPCASECMP. - * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP. - * MODULES.html.sh (Internationalization functions): Add mbspcasecmp. + * modules/c-strcase-tests: New file. + * tests/test-c-strcase.sh: New file. + * tests/test-c-strcasecmp.c: New file. + * tests/test-c-strncasecmp.c: New file. -2007-02-14 Bruno Haible + * modules/atexit-tests: New file. + * tests/test-atexit.sh: New file. + * tests/test-atexit.c: New file. - * modules/mbsncasecmp-tests: New file. - * tests/test-mbsncasecmp.sh: New file. - * tests/test-mbsncasecmp.c: New file. +2007-03-10 Bruno Haible - New module mbsncasecmp. - * modules/mbsncasecmp: New file. - * lib/mbsncasecmp.c: New file. - * lib/string_.h (mbsncasecmp): New declaration. - * m4/mbsncasecmp.m4: New file. - * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize - GNULIB_MBSNCASECMP. - * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP. - * MODULES.html.sh (Internationalization functions): Add mbsncasecmp. + * tests/test-binary-io.sh: Use temporary filenames that are not so + likely to clash with those of other tests (in a parallel make). + * tests/test-binary-io.c: Likewise. -2007-02-14 Paul Eggert +2007-03-10 Bruno Haible - * lib/exclude.c (FNM_EXTMATCH): Define if system does not. - Verify that it doesn't overlap with our flags. - (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which - do not have the desired effect in multibyte locales; instead, use - mbscasecmp. - * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase. - Add dependency on xalloc. Depend on fnmatch, not fnmatch-gnu, since - we don't require GNU fnmatch ourselves (if our users require it, they - should do so explicitly). + * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the + fallback; use #error instead. + Suggested by Simon Josefsson. - Fix regex code so it doesn't rely on strcasecmp. - * lib/regex_internal.h: Include only if _LIBC is defined. - Otherwise, include gnulib's langinfo.h. - * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have - undesirable behavior in non-C locales. Instead, rely on localecharset. - * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET. - * modules/regex (FILES): Remove m4/codeset.m4. - (Depends-on): Add localcharset. Remove strcase. +2007-03-10 Bruno Haible -2007-02-13 Ralf Wildenhues + * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like + CLEANFILES. Put spaces in each line of $cleaned_files, not only the + first and the last. - * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug. - * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise. +2007-03-10 Bruno Haible -2007-02-13 Bruno Haible + * lib/stdint_.h (uint_least64_t): Fix typo in last patch. - * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug. - Reported by Ralf Wildenhues . +2007-03-10 Bruno Haible -2007-02-12 Bruno Haible + * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for + "make distcheck". + * modules/sprintf-posix-tests (EXTRA_DIST): Likewise. + * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise. + * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise. - * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul, - strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If - GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link- - time warning rather than a link error. +2007-03-10 Bruno Haible -2007-02-12 Bruno Haible + * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant + variable. + * modules/dirname-tests (test_dirname_SOURCES): Remove redundant + variable. - * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug. - * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise. - Reported by Ralf Wildenhues . +2007-03-09 Eric Blake + and Matthew Woehlke (tiny change) -2007-02-12 Paul Eggert + * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit + types are not being provided by gnulib. + (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit + types are supported. - * lib/string_.h (strncasecmp): Fix typo: this macro takes 3 - args, not 2. +2007-03-10 Bruno Haible -2007-02-12 Paul Eggert + * lib/stdio_.h (__attribute__): New macro. + (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf, + vsprintf): Specify __attribute__ __format__ for GCC. + Suggested by Eric Blake. - New module 'time', so that apps can include as per - POSIX and GNU instead of separate include files like time_r.h - and timegm.h. This implementation tries out a simpler approach - for replacing decls in standard include files (as compared to - the string module), somewhat as an experiment. +2007-03-09 Bruno Haible + + * modules/printf-posix-tests: New file. + * tests/test-printf-posix.sh: New file. + * tests/test-printf-posix.c: New file. + + * modules/printf-posix: New file. + * lib/printf.c: New file. + * m4/printf-posix-rpl.m4: New file. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX, + REPLACE_PRINTF. + * lib/stdio_.h (printf): New declaration. + (format, __format__, ____printf____, ____scanf____, ____strftime____, + ____strfmon____): New macros. + * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX, + REPLACE_PRINTF. + +2007-03-09 Bruno Haible + + * tests/test-vasnprintf-posix2.sh: New file. + * tests/test-vasnprintf-posix2.c: New file. + * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4. + (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8. + (Makefile.am): Activate test-vasnprintf-posix2.sh. + + * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use + a locale dependent decimal point, rather than always '.'. + +2007-03-09 Eric Blake + + * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in + spite of platforms like Tandem/NSK that define it to -1. + +2007-03-08 Bruno Haible + + * modules/vprintf-posix-tests: New file. + * tests/test-vprintf-posix.sh: New file. + * tests/test-vprintf-posix.c: New file. + * tests/test-printf-posix.h: New file. + + * modules/vprintf-posix: New file. + * lib/vprintf.c: New file. + * m4/vprintf-posix.m4: New file. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX, + REPLACE_VPRINTF. + * lib/stdio_.h (vprintf): New declaration. + * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX, + REPLACE_VPRINTF. + +2007-03-08 Bruno Haible + + * modules/fprintf-posix-tests: New file. + * tests/test-fprintf-posix.sh: New file. + * tests/test-fprintf-posix.c: New file. + + * modules/fprintf-posix: New file. + * lib/fprintf.c: New file. + * m4/fprintf-posix.m4: New file. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX, + REPLACE_FPRINTF. + * lib/stdio_.h (fprintf): New declaration. + * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX, + REPLACE_FPRINTF. + +2007-03-08 Bruno Haible + + * modules/vfprintf-posix-tests: New file. + * tests/test-vfprintf-posix.sh: New file. + * tests/test-vfprintf-posix.c: New file. + * tests/test-fprintf-posix.h: New file. + * tests/test-fprintf-posix.out: New file. + + * modules/vfprintf-posix: New file. + * lib/vfprintf.c: New file. + * m4/vfprintf-posix.m4: New file. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX, + REPLACE_VFPRINTF. + * lib/stdio_.h (vfprintf): New declaration. + * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX, + REPLACE_VFPRINTF. + +2007-03-08 Bruno Haible + + * lib/stdio_.h: Treat __need___FILE like __need_FILE. + +2007-03-08 Bruno Haible + + * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements + instead of 'expr' invocations. + * 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/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise. + * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise. + Suggested by Paul Eggert. - * config/srclist.txt: Comment out mktime.c for now. - * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example - since it doesn't apply any more. Use generic wording instead. - * MODULES.html.sh (Support for systems lacking POSIX:2001): New module - 'time'. - * lib/time_.h, m4/time_h.m4, modules/time: New files. - * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove. - * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H. - Don't include ; no longer needed since we assume C89. - * lib/mktime.c: Don't include "time_r.h"; no longer needed. - * lib/strftime.c: Likewise. - * lib/time_r.c: Likewise. - * lib/nanosleep.c (nanosleep): #undef after include files, not before. - * lib/nanosleep.c: Include first, to check interface. - * lib/strptime.c: Likewise. - * lib/time_r.c: Likewise. - * lib/timegm.c: Likewise. - * lib/strptime.c: Don't include strptime.h or time_r.h; no longer - needed. - * lib/timegm.c: Don't include timegm.h; no longer needed. - * lib/timespec.h: Don't include before ; - time.h now handles any problems in that area. - (struct timespec, nanosleep): Remove; time.h now arranges for these. - * lib/xnanosleep.c: Don't include timespec.h; no longer needed now - that time.h defines struct timespec. - * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared. - Set REPLACE_NANOSLEEP. Don't AC_DEFINE nanosleep; the time module now - handles that. - * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME. - * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer - needed. Set REPLACE_LOCALTIME. - * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM. - * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4. - (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or - nanosleep; time_h.m4 now does that. Don't require - gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time - module handles this now. - * modules/getdate (Depends-on): Remove timespec. Add time. - * modules/nanosleep (Depends-on): Likewise. - * modules/stat-time (Depends-on): Likewise. - * modules/nanosleep (Include): Include time.h, not timespec.h. - * modules/strptime (Files): Remove lib/strptime.h. - (Depends-on): Add extensions, time. - (Include): Include time.h, not strptime.h. - * modules/time_r (Files): Remove lib/time_r.h. - (Depends-on): Add time. - (Include): Include time.h, not time_r.h. - * modules/timegm: Likewise. - * modules/timespec (Description): Now does timespec-related decls - of our own, instead of struct timespec itself. - (Depends-on): Add time; remove extensions. - (Maintainer): Add self. - * modules/utimecmp (Depends-on): Add time; remove timespec. - * modules/utimens (Depends-on): Likewise. - * modules/xnanosleep (Depends-on): Likewise. +2007-03-08 Bruno Haible -2007-02-11 Bruno Haible + * modules/fseterr-tests: New file. + * tests/test-fseterr.c: New file. - * lib/c-strstr.c: Include allocsa.h. - (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free. - * lib/c-strcasestr.c: Include allocsa.h. - (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free. - * lib/strcasestr.c: Include allocsa.h. - (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free. - * lib/mbsstr.c: Include allocsa.h. - (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use - allocsa/freesa instead of malloc/free. - * lib/mbscasestr.c: Include allocsa.h. - (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use - allocsa/freesa instead of malloc/free. - * modules/c-strstr (Depends-on): Add allocsa. - * modules/c-strcasestr (Depends-on): Likewise. - * modules/strcasestr (Depends-on): Likewise. - * modules/mbsstr (Depends-on): Likewise. - * modules/mbscasestr (Depends-on): Likewise. + * modules/fseterr: New file. + * lib/fseterr.h: New file. + * lib/fseterr.c: New file. -2007-02-11 Bruno Haible +2007-03-08 Bruno Haible - * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call. + * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces. + * lib/getopt_.h: Likewise. + * lib/mbswidth.h: Likewise. + * lib/setenv.h: Likewise. + * lib/vasnprintf.h: Likewise. + * lib/vasprintf.h: Likewise. + * lib/verror.h: Likewise. + * lib/xsetenv.h: Likewise. + * lib/xvasprintf.h: Likewise. - * modules/mbsspn-tests: New file. - * tests/test-mbsspn.sh: New file. - * tests/test-mbsspn.c: New file. +2007-03-08 Jim Meyering -2007-02-11 Bruno Haible + * users.txt: Add parted. - * lib/mbspbrk.c (mbspbrk): Remove unneeded cast. + * ChangeLog: Restore 1500 lines mistakenly removed from the end. - * modules/mbspbrk-tests: New file. - * tests/test-mbspbrk.sh: New file. - * tests/test-mbspbrk.c: New file. +2007-03-07 Bruno Haible -2007-02-11 Bruno Haible + * m4/printf.m4: Make the shell script snippets copy&pastable. + +2007-03-02 Bruno Haible - * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and - unneeded cast. + * lib/netinet_in_.h: New file. + * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h + is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H. + * modules/netinet_in (Files): Add lib/netinet_in_.h. + (Depends-on): Add absolute-header. + (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H + into netinet/in.h. - * modules/mbscspn-tests: New file. - * tests/test-mbscspn.sh: New file. - * tests/test-mbscspn.c: New file. +2007-03-03 Bruno Haible -2007-02-11 Bruno Haible + * lib/sys_select_.h: New file. + * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h + is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H. + * modules/sys_select (Files): Add lib/sys_select_.h. + (Depends-on): Add absolute-header. + (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H + into sys/select.h. + +2007-03-02 Bruno Haible + + * lib/socket_.h: If sys/socket.h exists, include that and + before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time + values. + * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether + is self-contained. Set ABSOLUTE_SYS_SOCKET_H, + HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H. + * modules/sys_socket (Depends-on): Add absolute-header. + (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H, + HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h. + (Include): Remove requirement of inclusion of . + +2007-03-02 Bruno Haible + + * lib/byteswap_.h (bswap_32): Fix formula. + +2007-03-06 Bruno Haible + + * modules/sprintf-posix-tests: New file. + * tests/test-sprintf-posix.c: New file. + + * modules/sprintf-posix: New file. + * lib/sprintf.c: New file. + * m4/sprintf-posix.m4: New file. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX, + REPLACE_SPRINTF. + * lib/stdio_.h (sprintf): New declaration. + * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX, + REPLACE_SPRINTF. - * modules/mbscasecmp-tests: New file. - * tests/test-mbscasecmp.sh: New file. - * tests/test-mbscasecmp.c: New file. +2007-03-06 Bruno Haible -2007-02-11 Bruno Haible + * modules/vsprintf-posix-tests: New file. + * tests/test-vsprintf-posix.c: New file. + * tests/test-sprintf-posix.h: New file. - Ensure O(n) worst-case complexity of mbscasestr. - * lib/mbscasestr.c: Include stdbool.h. - (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New - functions. - (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when - the bookkeeping indicates that it's worth it. - * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen. + * modules/vsprintf-posix: New file. + * lib/vsprintf.c: New file. + * m4/vsprintf-posix.m4: New file. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX, + REPLACE_VSPRINTF. + * lib/stdio_.h (vsprintf): New declaration. + * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX, + REPLACE_VSPRINTF. - * modules/mbscasestr-tests: New file. - * tests/test-mbscasestr1.c: New file. - * tests/test-mbscasestr2.sh: New file. - * tests/test-mbscasestr2.c: New file. - * tests/test-mbscasestr3.sh: New file. - * tests/test-mbscasestr3.c: New file. - * tests/test-mbscasestr4.sh: New file. - * tests/test-mbscasestr4.c: New file. - * m4/locale-tr.m4: New file. +2007-03-06 Bruno Haible -2007-02-11 Bruno Haible + * modules/vsnprintf (Depend-on): Remove minmax. - Ensure O(n) worst-case complexity of mbsstr. - * lib/mbsstr.c: Include stdbool.h. - (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New - functions. - (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the - bookkeeping indicates that it's worth it. - * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen. +2007-03-06 Bruno Haible - * modules/mbsstr-tests: New file. - * tests/test-mbsstr1.c: New file. - * tests/test-mbsstr2.sh: New file. - * tests/test-mbsstr2.c: New file. - * tests/test-mbsstr3.sh: New file. - * tests/test-mbsstr3.c: New file. - * m4/locale-fr.m4: New file. + * modules/snprintf-posix-tests: New file. + * tests/test-snprintf-posix.c: New file. -2007-02-11 Bruno Haible + * modules/snprintf-posix: New file. + * m4/snprintf-posix.m4: New file. + * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from + gl_FUNC_SNPRINTF. + (gl_FUNC_SNPRINTF): Invoke it. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF. + * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF + is set. + * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF. - * lib/mbsrchr.c (mbsrchr): Fix bug. +2007-03-06 Bruno Haible - * modules/mbsrchr-tests: New file. - * tests/test-mbsrchr.sh: New file. - * tests/test-mbsrchr.c: New file. + * modules/vsnprintf-posix-tests: New file. + * tests/test-vsnprintf-posix.c: New file. + * tests/test-snprintf-posix.h: New file. -2007-02-11 Bruno Haible + * modules/vsnprintf-posix: New file. + * m4/vsnprintf-posix.m4: New file. + * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from + gl_FUNC_VSNPRINTF. + (gl_FUNC_VSNPRINTF): Invoke it. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF. + * lib/stdio_.h (vsnprintf): Define as a replacement if + REPLACE_VSNPRINTF is set. + * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF. + +2007-03-06 Bruno Haible + + * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here. + * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here. - * lib/mbschr.c (mbschr): Fix bug. +2007-03-06 Bruno Haible - * modules/mbschr-tests: New file. - * tests/test-mbschr.sh: New file. - * tests/test-mbschr.c: New file. - * m4/locale-zh.m4: New file. + * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set. + (asinl): Declare also if HAVE_DECL_ASINL is set. + (atanl): Declare also if HAVE_DECL_ATANL is set. + (ceill): Declare also if HAVE_DECL_CEILL is set. + (cosl): Declare also if HAVE_DECL_COSL is set. + (expl): Declare also if HAVE_DECL_EXPL is set. + (floorl): Declare also if HAVE_DECL_FLOORL is set. + (frexpl): Declare also if HAVE_DECL_FREXPL is set. + (ldexpl): Declare also if HAVE_DECL_LDEXPL is set. + (logl): Declare also if HAVE_DECL_LOGL is set. + (sinl): Declare also if HAVE_DECL_SINL is set. + (sqrtl): Declare also if HAVE_DECL_SQRTL is set. + (tanl): Declare also if HAVE_DECL_TANL is set. + * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1. + * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the + declaration of frexpl, ldexpl. + * modules/printf-frexpl (Depends-on): Add math. + * lib/printf-frexp.c (frexpl, ldexpl): Undo last change. -2007-02-11 Bruno Haible +2007-03-05 Bruno Haible - Support for copying multibyte string iterators. - * lib/mbiter.h: Include . - (mbiter_multi_copy): New function. - (mbi_copy): New macro. - * lib/mbuiter.h: Include . - (mbuiter_multi_copy): New function. - (mbui_copy): New macro. + * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether + frexpl and ldexpl are declared. + * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations. -2007-02-11 Bruno Haible +2007-03-05 Bruno Haible - New module mbslen. - * modules/mbslen: New file. - * lib/mbslen.c: New file. - * lib/string_.h (mbslen): New declaration. - * m4/mbslen.m4: New file. - * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize - GNULIB_MBSLEN. - * modules/string (string.h): Also substitute GNULIB_MBSLEN. - * MODULES.html.sh (Internationalization functions): Add mbslen. + * gnulib-tool (func_get_automake_snippet): Don't synthesize an + EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module. -2007-02-11 Bruno Haible +2007-03-05 Bruno Haible - Ensure O(n) worst-case complexity of strcasestr substitute. - * lib/strcasestr.c: Include stdbool.h. - (knuth_morris_pratt): New function. - (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the - bookkeeping indicates that it's worth it. - * modules/strcasestr (Depends-on): Add stdbool, strnlen. + * lib/stdio_.h: Include . - * modules/strcasestr-tests: New file. - * tests/test-strcasestr.c: New file. +2007-03-05 Bruno Haible -2007-02-11 Bruno Haible + * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro. - Ensure O(n) worst-case complexity of c_strcasestr. - * lib/c-strcasestr.c: Include stdbool.h, string.h. - (knuth_morris_pratt): New function. - (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when - the bookkeeping indicates that it's worth it. - * modules/c-strcasestr (Depends-on): Add stdbool, strnlen. +2007-03-05 Bruno Haible - * modules/c-strcasestr-tests: New file. - * tests/test-c-strcasestr.c: New file. + * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20, + NetBSD 4, from Ralf Wildenhues. -2007-02-11 Bruno Haible +2007-03-04 Bruno Haible - Ensure O(n) worst-case complexity of c_strstr. - * lib/c-strstr.c: Include stdbool.h, string.h. - (knuth_morris_pratt): New function. - (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the - bookkeeping indicates that it's worth it. - * modules/c-strstr (Depends-on): Add stdbool, strnlen. + * lib/vasprintf.h: Update #if logic for the case when the functions + exist but are overridden. - * lib/c-strstr.c: Complete rewrite for maintainability. +2007-03-04 Bruno Haible - * modules/c-strstr-tests: New file. - * tests/test-c-strstr.c: New file. + * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy + implementations: glibc-2.4 and MacOS X 10.3. + * tests/test-vasnprintf-posix.c (test_function): Test also the case + that exhibits the bugs in glibc-2.4 and MacOS X 10.3. + * tests/test-vasprintf-posix.c (test_function): Likewise. -2007-02-11 Bruno Haible +2007-03-04 Bruno Haible - * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils - 5.2.1 and earlier, whereby \055 was treated just like the range - delimiter '-'. - Reported by Joel E. Denny . + * modules/vasprintf-posix-tests: New file. + * tests/test-vasprintf-posix.c: New file. -2007-02-08 Bruno Haible + * modules/vasprintf-posix: New file. + * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is + defined. + * m4/vasprintf-posix.m4: New file. + * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from + gl_FUNC_VASPRINTF. + (gl_FUNC_VASPRINTF): Invoke it. + * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF + here. + * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here. - * modules/regex (Depends-on): Add stdbool. - Reported by Dalibor Topic . +2007-03-04 Bruno Haible -2007-02-05 Paul Eggert + * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to + REPLACE_GETTIMEOFDAY. + * modules/sys_time (Makefile.am): Likewise. + * m4/sys_time_h.m4: Likewise. + * m4/gettimeofday.m4: Likewise. - * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957. - Prefer returning from main to exiting from it. - Remove unnecessary parens after sizeof. +2007-03-04 Bruno Haible -2007-02-05 Bruno Haible + * modules/vasnprintf-posix-tests: New file. + * tests/test-vasnprintf-posix.c: New file. - New module mbssep. - * modules/mbssep: New file. - * lib/mbssep.c: New file. - * lib/string_.h (strsep): Add a conditional link warning. - (mbssep): New declaration. - * m4/mbssep.m4: New file. - * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize - GNULIB_MBSSEP. - * modules/string (string.h): Also substitute GNULIB_MBSSEP. - * MODULES.html.sh (Internationalization functions): Add mbssep. + * modules/vasnprintf-posix: New file. + * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h, + printf-frexpl.h. + (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed. + * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if + REPLACE_VASNPRINTF is defined. + * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from + gl_FUNC_VASNPRINTF. + (gl_FUNC_VASNPRINTF): Invoke it. + * m4/vasnprintf-posix.m4: New file. + * m4/printf.m4: New file. -2007-02-05 Bruno Haible +2007-03-04 Bruno Haible - * lib/strsep.c (strsep): Fix actions in case of no delimiters. - Optimize search in case of 1 delimiter. + Compile progreloc.c only if --enable-relocatable is specified. + * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c + if --enable-relocatable was specified. + * modules/relocatable-prog (Makefile.am): Remove progreloc.c from + lib_SOURCES. -2007-02-05 Paolo Bonzini +2007-03-04 Jim Meyering - * lib/acl.h: Include sys/types.h before sys/acl.h. + * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro. + Use it consistently, rather than enumerating errno constants. -2007-02-05 Paolo Bonzini +2007-03-04 Bruno Haible - Merge upstream fix for glibc bugzilla #3957: + * modules/xvasprintf-tests: New file. + * tests/test-xvasprintf.c: New file. - 2007-02-05 Jakub Jelinek + * modules/vasprintf-tests: New file. + * tests/test-vasprintf.c: New file. - * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0' - bit for RE_HAT_LISTS_NOT_NEWLINE. - (build_charclass_op): Remove bogus comment. + * modules/vasnprintf-tests: New file. + * tests/test-vasnprintf.c: New file. -2007-02-05 Simon Josefsson + * modules/vsnprintf-tests: New file. + * tests/test-vsnprintf.c: New file. - * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512. + * modules/snprintf-tests: New file. + * tests/test-snprintf.c: New file. -2007-02-04 Paul Eggert +2007-03-04 Bruno Haible - * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h. - * lib/memmem.c [!defined _LIBC]: Include config.h. + Compile relocatable.c only if --enable-relocatable is specified. + * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from + gl_RELOCATABLE_LIBRARY. + (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros. + * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY. + (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of + gl_RELOCATABLE_LIBRARY. + * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY. + (Makefile.am): Remove lib_SOURCES. + * modules/relocatable-lib-lgpl (configure.ac): Invoke + gl_RELOCATABLE_LIBRARY. + (Makefile.am): Remove lib_SOURCES. + * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c + always. + * modules/relocatable-prog-wrapper (configure.ac): Invoke + gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY. -2007-02-04 Bruno Haible +2007-03-04 Bruno Haible - * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the - warning message. + * modules/argmatch-tests: New file. + * tests/test-argmatch.c: New file. -2007-02-04 Bruno Haible + * tests/test-allocsa.c (main): Halve the number of loop runs. - New module mbstok_r. - * modules/mbstok_r: New file. - * lib/mbstok_r.c: New file. - * lib/string_.h (strtok_r): Change argument names to match the - comments. Add a conditional link warning. - (mbstok_r): New declaration. - * m4/mbstok_r.m4: New file. - * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize - GNULIB_MBSTOK_R. - * modules/string (string.h): Also substitute GNULIB_MBSTOK_R. - * MODULES.html.sh (Internationalization functions): Add mbstok_r. + * modules/alloca-opt-tests: New file. + * tests/test-alloca-opt.c: New file. -2007-02-04 Bruno Haible +2007-03-04 Jim Meyering - New module mbsspn. - * modules/mbsspn: New file. - * lib/mbsspn.c: New file. - * lib/string_.h (strspn): Add a conditional link warning. - (mbsspn): New declaration. - * m4/mbsspn.m4: New file. - * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize - GNULIB_MBSSPN. - * modules/string (string.h): Also substitute GNULIB_MBSSPN. - * MODULES.html.sh (Internationalization functions): Add mbsspn. + Work around difference between Linux ACLs and Solaris 10 ZFS. + * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also + for EINVAL. -2007-02-04 Bruno Haible +2007-03-03 Bruno Haible - New module mbspbrk. - * modules/mbspbrk: New file. - * lib/mbspbrk.c: New file. - * lib/string_.h (strpbrk): Add a conditional link warning. - (mbspbrk): New declaration. - * m4/mbspbrk.m4: New file. - * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize - GNULIB_MBSPBRK. - * modules/string (string.h): Also substitute GNULIB_MBSPBRK. - * MODULES.html.sh (Internationalization functions): Add mbspbrk. + * modules/relocatable-prog (Depends-on): Add back progreloc's + dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd. -2007-02-04 Bruno Haible +2007-03-03 Bruno Haible - New module mbscspn. - * modules/mbscspn: New file. - * lib/mbscspn.c: New file. - * lib/string_.h (strcspn): Add a conditional link warning. - (mbscspn): New declaration. - * m4/mbscspn.m4: New file. - * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize - GNULIB_MBSCSPN. - * modules/string (string.h): Also substitute GNULIB_MBSCSPN. - * MODULES.html.sh (Internationalization functions): Add mbscspn. + * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib. + * modules/relocatable-lib: New file. -2007-02-04 Bruno Haible +2007-03-03 Bruno Haible - New module mbscasestr, reduced goal of strcasestr. - * modules/mbscasestr: New file. - * lib/mbscasestr.c: New file, copied from lib/strcasestr.c. - (mbscasestr): Renamed from strcasestr. - * lib/strcasestr.c: Don't include mbuiter.h. - (strcasestr): Remove support for multibyte locales. - * lib/string_.h (strcasestr): Don`t rename. Declare only if missing. - Change the conditional link warning. - (mbscasestr): New declaration. - * m4/mbscasestr.m4: New file. - * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if - the system does not have strcasestr. Set HAVE_STRCASESTR instead of - REPLACE_STRCASESTR. - (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC. - * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize - HAVE_STRCASESTR instead of REPLACE_STRCASESTR. - (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR. - * modules/string (string.h): Also substitute GNULIB_MBSCASESTR. - Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR. - * modules/strcasestr (Files): Remove m4/mbrtowc.m4. - (Depends-on): Remove mbuiter. - * MODULES.html.sh (Internationalization functions): Add mbscasestr. + * modules/relocatable-prog: Renamed from modules/relocatable. + * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'. -2007-02-04 Bruno Haible +2007-03-03 Bruno Haible - Simplify handling of strncasecmp. - * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change - the conditional link warning. - * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize - HAVE_STRCASECMP, not REPLACE_STRCASECMP. - (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE. - * modules/strcase (configure.ac): Don't invoke - gl_STRING_MODULE_INDICATOR. - * modules/string (string.h): Don't substitute GNULIB_STRCASE. + * modules/relocatable-script (Files): Add doc/relocatable.texi, + m4/relocatable-lib.m4. + (Depends-on): Remove 'relocatable'. + (configure.ac): Add gl_RELOCATABLE_NOP. -2007-02-04 Bruno Haible +2007-03-03 Bruno Haible - New module mbscasecmp, reduced goal of strcasecmp. - * modules/mbscasecmp: New file. - * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c. - (mbscasecmp): Renamed from strcasecmp. - * lib/strcasecmp.c: Don't include mbuiter.h. - (strcasecmp): Remove support for multibyte locales. - * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing. - Change the conditional link warning. - (mbscasecmp): New declaration. - * m4/mbscasecmp.m4: New file. - * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if - the system lacks strcasecmp. Set HAVE_STRCASECMP instead of - REPLACE_STRCASECMP. - (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC. - * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize - GNULIB_MBSCASECMP. - * modules/string (string.h): Also substitute GNULIB_MBSCASECMP. - Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP. - * modules/strcase (Files): Remove m4/mbrtowc.m4. - (Depends-on): Remove mbuiter. - * MODULES.html.sh (Internationalization functions): Add mbscasecmp. + * modules/relocatable-prog-wrapper: New file. + * modules/relocatable (Depends-on): Add it. Remove all other + dependencies except progname. + (Files): Remove build-aux/install-reloc, lib/relocwrapper.c. -2007-02-04 Bruno Haible + * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro. + (gl_FUNC_STRERROR): Nop. + * lib/strerror.c: Compile the file only if !HAVE_STRERROR. - New module mbsstr. Remove module strstr. - * modules/mbsstr: New file. - * modules/strstr: Remove file. - * lib/mbsstr.c: Renamed from lib/strstr.c. - (mbsstr): Renamed from strstr. - * lib/string_.h (strstr): Remove declaration. Change the conditional - link warning. - (mbsstr): New declaration. - * m4/mbsstr.m4: New file. - * m4/strstr.m4: Remove file. - * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize - REPLACE_STRSTR. - (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR. - Don't initialize GNULIB_STRSTR. - * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't - substitute GNULIB_STRSTR and REPLACE_STRSTR. - * MODULES.html.sh (Internationalization functions): Add mbsstr. - (Support for systems lacking ANSI C 89): Remove strstr. + * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro. + * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV. -2007-02-04 Bruno Haible + * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro. + (gl_FUNC_READLINK): Update. - New module mbsrchr. - * modules/mbsrchr: New file. - * lib/mbsrchr.c: New file. - * lib/string_.h (strrchr): Add a conditional link warning. - (mbsrchr): New declaration. - * m4/mbsrchr.m4: New file. - * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize - GNULIB_MBSRCHR. - * modules/string (string.h): Also substitute GNULIB_MBSRCHR. - * MODULES.html.sh (Internationalization functions): Add mbsrchr. + * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro. -2007-02-04 Bruno Haible +2007-03-03 Bruno Haible - New module mbschr. - * modules/mbschr: New file. - * lib/mbschr.c: New file. - * lib/string_.h (strchr): Add a conditional link warning. - (mbschr): New declaration. - * m4/mbschr.m4: New file. - * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize - GNULIB_MBSCHR. - * modules/string (string.h): Also substitute GNULIB_MBSCHR. - * MODULES.html.sh (Internationalization functions): Add mbschr. + * lib/xreadlink.c: Include unconditionally. + * modules/xreadlink (Depends-on): Add unistd. + * modules/xreadlink-with-size (Depends-on): Likewise. -2007-02-04 Paul Eggert +2007-03-03 Bruno Haible - * lib/stdbool_.h: Mention that bool bit-fields aren't supported. + * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros, + extracted from gt_FUNC_SETENV. + (gt_FUNC_SETENV): Remove macro. + * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV, + remove gt_FUNC_SETENV. - * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC. +2007-03-03 Bruno Haible -2007-02-04 Bruno Haible + * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define + ENABLE_RELOCATABLE here. + * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here. - New module description section 'configure.ac-early'. - * gnulib-tool (sed_extract_prog): Recognize configure.ac-early. - (func_get_autoconf_early_snippet): New function. - (func_import, func_create_testdir): Use it. Remove special cases for - modules 'extensions' and 'lock'. - * modules/extensions (configure.ac-early): Require - gl_USE_SYSTEM_EXTENSIONS. - * modules/lock (configure.ac-early): Require gl_LOCK_EARLY. +2007-03-03 Bruno Haible -2007-02-04 Bruno Haible + * modules/rbtreehash-list-tests (Depends-on): Add progname. + * tests/test-rbtreehash_list.c: Include progname.h. + (main): Call set_program_name. - Make use of gcj-4.3's -fsource and -ftarget option. - * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3, - and if so try the options -fsource and -ftarget. - * lib/javacomp.c (compile_using_gcj): Add fsource_option, - source_version, ftarget_option, target_version arguments. - (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions. - (is_envjavac_oldgcj_14_14_usable): Renamed from - is_envjavac_gcj_14_14_usable. - (is_envjavac_oldgcj_14_13_usable): Renamed from - is_envjavac_gcj_14_13_usable. - (is_gcj_present): Update. - (is_gcj_43, is_gcj43_usable): New functions. - (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update. - (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update. - (compile_java_class): Test whether gcj is in version >= 4.3, and if so - try the options -fsource and -ftarget. + * modules/rbtree-oset-tests (Depends-on): Add progname. + * tests/test-rbtree_oset.c: Include progname.h. + (main): Call set_program_name. -2007-02-03 Paul Eggert + * modules/rbtree-list-tests (Depends-on): Add progname. + * tests/test-rbtree_list.c: Include progname.h. + (main): Call set_program_name. - * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow - checking code. Set N = ceil (1.5 * N) rather than to a slightly - larger value. + * modules/linked-list-tests (Depends-on): Add progname. + * tests/test-linked_list.c: Include progname.h. + (main): Call set_program_name. -2007-02-03 Jim Meyering +2007-03-03 Bruno Haible - Give tools a better chance to allocate space for very large buffers. - * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor. + * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h. + All uses of __restrict changed to _Restrict_. + * lib/glob_.h (__restrict): Remove macro. - Make pwd and readlink work also when run with an unreadable parent dir - on systems with openat support. - * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system - provided getcwd function, even when we have openat support. - Reported by Dmitry V. Levin in . +2007-03-02 Bruno Haible -2007-02-02 Bruno Haible + * modules/gettext (configure.ac): Require gettext infrastructure + from version 0.16.1. - * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul, - strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link - error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial - portability problems if one of these functions is only used on specific - platforms. - Reported by Paul Eggert. +2007-03-02 Bruno Haible -2007-02-02 Paul Eggert + * modules/linkedhash-list-tests (Depends-on): Add progname. + * tests/test-linkedhash_list.c: Include progname.h. + (main): Call set_program_name. - Avoid mempcpy in the regex code, as the string.h mempcpy stuff - is causing more trouble than it's curing. - * lib/regex_internal.h (__mempcpy): Remove. - * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy - (and make the code a tad smaller to boot). - * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy. + * modules/carray-list-tests (Depends-on): Add progname. + * tests/test-carray_list.c: Include progname.h. + (main): Call set_program_name. -2007-02-02 Jim Meyering + * modules/avltreehash-list-tests (Depends-on): Add progname. + * tests/test-avltreehash_list.c: Include progname.h. + (main): Call set_program_name. - * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac: - section, not in the Makefile.am: one. + * modules/avltree-oset-tests (Depends-on): Add progname. + * tests/test-avltree_oset.c: Include progname.h. + (main): Call set_program_name. -2007-02-02 Eric Blake + * modules/avltree-list-tests (Depends-on): Add progname. + * tests/test-avltree_list.c: Include progname.h. + (main): Call set_program_name. - * lib/strchrnul.c: Always include config.h first. + * modules/array-oset-tests (Depends-on): Add progname. + * tests/test-array_oset.c: Include progname.h. + (main): Call set_program_name. - * modules/mountlist (Depends-on): Revert 2007-01-31 change, - gnulib strstr is not necessary here. + * modules/array-list-tests (Depends-on): Add progname. + * tests/test-array_list.c: Include progname.h. + (main): Call set_program_name. -2007-02-02 Simon Josefsson + * modules/argp-tests (Depends-on): Add progname. + * tests/test-argp.c: Include argp.h first. Include progname.h. + (main): Call set_program_name. - * m4/socklen.m4: Fix typo. +2007-03-02 Paul Eggert -2007-02-02 Eric Blake + * doc/gnulib-tool.texi (Initial import): Reword description of + _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a + limited effect even if defined after the first system include. - * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races. - * modules/netinet_in (Makefile.am): Likewise. +2007-03-01 Bruno Haible -2007-02-01 Bruno Haible + * build-aux/config.libpath: Update to libtool-1.5.22. + Reported by Albert Chin . - * lib/string_.h (GL_LINK_WARNING): New macro. - (strcasecmp, strstr, strcasestr): If provided by the system, - conditionally define as a macro that leads to a warning instead of to - an error. - (strncasecmp): Conditionally define as a macro that leads to a warning. +2007-03-01 Bruno Haible -2007-02-01 Karl Berry + * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not + foo_CFLAGS. + Reported by Ralf Wildenhues. - * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h. +2007-03-01 Bruno Haible -2007-02-01 Bruno Haible + * build-aux/install-reloc: Remove object files left over by some + compilers. + Reported by Ralf Wildenhues. - * MODULES.html.sh (Unicode string functions): Update after 2007-01-27 - renamings. +2007-03-01 Bruno Haible -2007-02-01 Eric Blake + * build-aux/install-reloc: Break long lines. - * modules/regex (Depends-on): Revert dependence on mempcpy. - * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string - module's definition of mempcpy. - Reported by Paul Eggert. +2007-03-01 Bruno Haible -2007-02-01 Paul Eggert + * doc/relocatable.texi: Document that it may not work on OpenBSD. + Reported by Ralf Wildenhues. - * lib/string_.h: If the gnulib module XYZ is not present, undefine - the symbol XYZ before redefining it. This fixes a problem with - programs that don't use XYZ, when compiled on systems that define - XYZ to something else. +2007-03-01 Bruno Haible -2007-01-31 Paul Eggert + * doc/gnulib-tool.texi (Initial import): Remove paragraph about + include ordering constraints. - * lib/mkdir-p.c (make_dir_parents): Close a race condition that - occurs when "mkdir -m foo" creates a setgid directory that is (1) - writeable to group or other and (2) is intended to have a special - mode bit that is set or cleared. In such a case, the directory - should be neither group- nor other-writeable until the special - mode bits are right. +2007-03-01 Paul Eggert -2007-01-31 Eric Blake + Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in + . + * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS + as another example. + * lib/time_.h: Fix misspelling. + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): + Require gl_HEADER_TIME_H_DEFAULTS. + * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise. + * m4/time_r.m4 (gl_TIME_R): Likewise. + * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise. - * modules/mountlist (Depends-on): Add strstr. +2007-03-01 Bruno Haible - * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage - bug. - * modules/string (Makefile.am): Remove redundant replacement. - * modules/regex (Depends-on): Add mempcpy. + * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC. + * m4/utimens.m4 (gl_UTIMENS): Likewise. -2007-01-31 Bruno Haible +2007-03-01 Jim Meyering - New module description field 'Link'. - * gnulib-tool (func_usage): Document --extract-link-directive. - (sed_extract_prog): Recognize 'Link' directive. - (func_get_link_directive): New function. - (func_import): Show summary of link directives. - Handle --extract-link-directive option. - * modules/acl (Link): New section. - * modules/clock-time (Link): New section. - * modules/euidaccess (Link): New section. - * modules/gettext (Link): New section. - * modules/iconv (Link): New section. - * modules/lock (Link): New section. - * modules/nanosleep (Link): New section. - * modules/readline (Link): New section. + * modules/xreadlink (Maintainer): Add my name. + * modules/xreadlink-with-size (Depends-on): Alphabetize. -2007-01-27 Bruno Haible +2007-02-26 Ben Pfaff + Bruno Haible - Enforce the use of gnulib modules for unportable functions. - * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro. - (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro. - (gl_HEADER_STRING_H_BODY): Require it. - * lib/string_.h: If the gnulib module XYZ is not present, redefine - the symbol XYZ to one that gives a link error. - * modules/string (Makefile.am): Also substitute the GNULIB_* variables. - * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR. - * modules/mempcpy (configure.ac): Likewise. - * modules/memrchr (configure.ac): Likewise. - * modules/stpcpy (configure.ac): Likewise. - * modules/stpncpy (configure.ac): Likewise. - * modules/strcase (configure.ac): Likewise. - * modules/strcasestr (configure.ac): Likewise. - * modules/strchrnul (configure.ac): Likewise. - * modules/strdup (configure.ac): Likewise. - * modules/strndup (configure.ac): Likewise. - * modules/strnlen (configure.ac): Likewise. - * modules/strpbrk (configure.ac): Likewise. - * modules/strsep (configure.ac): Likewise. - * modules/strstr (configure.ac): Likewise. - * modules/strtok_r (configure.ac): Likewise. + * build-aux/install-reloc: Compile also c-ctype.c. + * build-aux/relocatable.sh.in: New file. + * doc/relocatable.texi: New file. + * doc/relocatable-maint.texi: New file. + * doc/gnulib.texi: Include relocatable-maint.texi. + * lib/progreloc.c: Include unistd.h unconditionally. + * lib/relocwrapper.c: Include unistd.h unconditionally. + Include c-ctype.h. + (add_dotbin): Use c_tolower. + * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4. + (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY. + (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP. + * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move + to m4/relocatable-lib.m4. + (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also + RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR. + (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't + require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set + SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV. + * modules/relocatable: New file. + * modules/relocatable-lib: New file. + * modules/relocatable-script: New file. + +2007-02-28 Bruno Haible + + Import --enable-relocatable infrastructure. + * build-aux/config.libpath: New file, from GNU gettext. + * build-aux/install-reloc: New file, from GNU gettext. + * build-aux/reloc-ldflags: New file, from GNU gettext. + * lib/relocatable.h: New file, from GNU gettext. + * lib/relocatable.c: New file, from GNU gettext. + * lib/relocwrapper.c: New file, from GNU gettext. + * m4/relocatable.m4: New file, from GNU gettext. + +2007-02-28 Bruno Haible + + * MODULES.html.sh (File system functions): Add xreadlink-with-size. + + * modules/xreadlink: New file, from GNU gettext with modifications. + * lib/xreadlink.c: New file, from GNU gettext. + * lib/xreadlink.h: Add comments. + (xreadlink): New declaration. + + * modules/xreadlink-with-size: Renamed from modules/xreadlink. + (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with + lib/xreadlink-with-size.c. + (configure.ac): Remove gl_XREADLINK invocation. + (Makefile.am): Augment lib_SOURCES. + * m4/xreadlink.m4: Remove file. + * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c. + (xreadlink_with_size): Renamed from xreadink. + * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink. + * modules/canonicalize (Depends-on): Replace xreadlink with + xreadlink-with-size. + * lib/canonicalize.c (canonicalize_filename_mode): Update. -2007-01-31 Jean-Louis Martineau (tiny change) +2007-02-25 Jim Meyering - * lib/gai_strerror.c (values): Add EAI_OVERFLOW. + * build-aux/announce-gen: When complaining about excess arguments, + list them. -2007-01-30 Jim Meyering +2007-02-25 Paul Eggert - * lib/mpsort.c (mpsort): Remove spurious "return" in void function. + * README: Document signed integer overflow situation more + accurately. -2007-01-29 Bruno Haible +2007-02-25 Bruno Haible - * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'. - * lib/execute.c: Likewise. - * lib/pipe.c: Likewise. - * lib/printf-args.h: Likewise. - * lib/printf-args.c: Likewise. - * lib/printf-parse.c: Likewise. - * lib/vasnprintf.c: Likewise. + * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a + 'a' or 'A' conversion. -2007-01-29 Eric Blake +2007-02-25 Bruno Haible - * lib/memrchr.c: Assume unconditionally, to pull in - declaration. + * modules/filename: Renamed from modules/pathname. + (Files): Replace lib/pathname.h with lib/filename.h. Replace + lib/concatpath.c with lib/concat-filename.c. + (Makefile.am): Update. + (Include): Replace pathname.h with filename.h. + * lib/filename.h: Renamed from lib/pathname.h. + (concatenated_filename): Renamed from concatenated_pathname. + * lib/concat-filename.c: Renamed from lib/concatpath.c. + (concatenated_filename): Renamed from concatenated_pathname. + * lib/findprog.c: Include filename.h instead of pathname.h. + (find_in_path): Update. + * lib/javacomp.c: Include filename.h instead of pathname.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): Update. + * lib/javaexec.c: Include filename.h instead of pathname.h. + (execute_java_class): Update. + * modules/findprog: Update. + * modules/javacomp: Update. + * modules/javaexec: Update. + * MODULES.html.sh (File system functions): Add 'filename', remove + 'pathname'. -2007-01-29 Paul Eggert +2007-02-25 Bruno Haible - * lib/strptime.h (strptime): Use 'restrict' for args where - POSIX requires this. - * lib/strptime.c (strptime): Likewise. - Change license notice from LGPL to GPL, since gnulib-tool will - change this as needed. - Include if _LIBC is not defined, not if HAVE_CONFIG_H is - defined. - Include "strptime.h" first, to check interface. - Do not #undef _LIBC and _NL_CURRENT. - Do not include ; no longer needed. - Include "time_r.h" and declare ptime_locale_status - only if _LIBC is not defined. - (__P): Remove unused macro. - (match_string): Bring back glibc version, but use it only if _LIBC - is defined. - (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too. - Remove unnecessary assertion and abort() call. - Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc. - * m4/strptime.m4: Fix serial number comment. - (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF. - * modules/strptime (Files): Add m4/tm_gmtoff.m4. - (Depends-on): Add time_r. + * modules/printf-frexpl-tests: New file. + * tests/test-printf-frexpl.c: New file. -2007-01-29 Bruno Haible + * modules/printf-frexpl: New file. + * lib/printf-frexpl.h: New file. + * lib/printf-frexpl.c: New file. + * m4/printf-frexpl.m4: New file. - * MODULES.html.sh (Support for systems lacking POSIX:2001): Add - strptime. - * modules/strptime (Depends-on): Add stdbool. - * lib/strptime.h: Include always. Add comments. +2007-02-25 Bruno Haible -2007-01-29 Yoann Vandoorselaere + * modules/printf-frexp-tests: New file. + * tests/test-printf-frexp.c: New file. - * modules/strptime: New file. - * lib/strptime.h: New file. - * lib/strptime.c: New file. - * m4/strptime.m4: New file. + * modules/printf-frexp: New file. + * lib/printf-frexp.h: New file. + * lib/printf-frexp.c: New file. + * m4/printf-frexp.m4: New file. -2007-01-28 Paul Eggert +2007-02-25 Bruno Haible - * MODULES.html.sh: New module mpsort. - * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files. + Assume automake >= 1.10 for the tests. + * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix. + * modules/arctwo-tests: Likewise. + * modules/argp-tests: Likewise. + * modules/avltree-list-tests: Likewise. + * modules/avltree-oset-tests: Likewise. + * modules/avltreehash-list-tests: Likewise. + * modules/carray-list-tests: Likewise. + * modules/crc-tests: Likewise. + * modules/des-tests: Likewise. + * modules/gc-arcfour-tests: Likewise. + * modules/gc-arctwo-tests: Likewise. + * modules/gc-des-tests: Likewise. + * modules/gc-hmac-md5-tests: Likewise. + * modules/gc-hmac-sha1-tests: Likewise. + * modules/gc-md2-tests: Likewise. + * modules/gc-md4-tests: Likewise. + * modules/gc-md5-tests: Likewise. + * modules/gc-pbkdf2-sha1-tests: Likewise. + * modules/gc-rijndael-tests: Likewise. + * modules/gc-sha1-tests: Likewise. + * modules/gc-tests: Likewise. + * modules/getaddrinfo-tests: Likewise. + * modules/hmac-md5-tests: Likewise. + * modules/hmac-sha1-tests: Likewise. + * modules/linked-list-tests: Likewise. + * modules/linkedhash-list-tests: Likewise. + * modules/lock-tests: Likewise. + * modules/md2-tests: Likewise. + * modules/md4-tests: Likewise. + * modules/md5-tests: Likewise. + * modules/rbtree-list-tests: Likewise. + * modules/rbtree-oset-tests: Likewise. + * modules/rbtreehash-list-tests: Likewise. + * modules/read-file-tests: Likewise. + * modules/rijndael-tests: Likewise. + * modules/stdint-tests: Likewise. + * modules/tls-tests: Likewise. - * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid - a circularity problem with HP-UX ia64 reported by Bob Proulx in - . - All uses changed. - (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons. - All uses changed. - * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict - to _Restrict_. - * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that - the parameter matches the prototype. +2007-02-24 Bruno Haible -2007-01-28 Jim Meyering + * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro. + * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a + function; instead check whether isnan with a double argument links. + * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a + function; instead check whether isnan with a 'long double' argument + links. + Reported by Eric Blake . - * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use - sys/time.h here, reverting that part of the previous patch: - . +2007-02-24 Bruno Haible -2007-01-28 Bruno Haible + * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is + defined. + * lib/isnanl.c: Remove all code. Just include isnan.c. + * modules/isnanl-nolibm (Files): Add lib/isnan.c. - * modules/sys_time (Makefile.am): Build sys/time.h only when it's the - value of $(SYS_TIME_H). - [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed, - remove it conditionally, too. [added by Jim Meyering] - * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H. - * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): - (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting - GETTIMEOFDAY_REPLACEMENT to 1. +2007-02-25 Jim Meyering -2007-01-28 Bruno Haible + Avoid conflicting types for 'unsetenv' on FreeBSD. + * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid + conflicting with FreeBSD's (5.0 and 6.1) function declaration + in stdlib.h. - * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro. - (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here. - * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS. - Set UNISTD_H instead of UNISTD_H2. - * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2). +2007-02-24 Bruno Haible -2007-01-28 Bruno Haible + * modules/isnanl-nolibm-tests: New file. + * tests/test-isnanl.c: New file. - * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES. - * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation. + * modules/isnanl-nolibm: New file. + * lib/isnanl.h: New file. + * lib/isnanl.c: New file. + * m4/isnanl.m4: New file. -2007-01-28 Ralf Wildenhues +2007-02-24 Bruno Haible - * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update) - (func_create_testdir): Ensure C locale for `grep' and `tr' - character ranges. - (func_create_megatestdir): Avoid one `grep'. Fix bug in - ACLOCAL_AMFLAGS parsing state machine. + * modules/isnan-nolibm-tests: New file. + * tests/test-isnan.c: New file. -2007-01-27 Bruno Haible + * modules/isnan-nolibm: New file. + * lib/isnan.h: New file. + * lib/isnan.c: New file. + * m4/isnan.m4: New file. - * modules/unistr/base: Update. +2007-02-24 Bruno Haible -2007-01-27 Bruno Haible + * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't + assume that an exponent fits in 20 bits. - Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc, - u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc. - * modules/unistr/u32-mbtouc-unsafe: Renamed from - modules/unistr/u32-mbtouc. - * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c. - * lib/unistr.h: Update. - * lib/linebreak.c: Update. - * modules/unistr/u32-mbtouc: Renamed from - modules/unistr/u32-mbtouc-safe. - * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c. - * lib/unistr.h: Update. - * lib/unistr/u32-to-u8.c: Update. - * lib/unistr/u32-to-u16.c: Update. +2007-02-24 Jim Meyering -2007-01-27 Bruno Haible + * m4/regex.m4: Update the description of the configure-time option, + --without-included-regex, to state accurately what the defaults are, + and perhaps to give people an idea why using this option is risky. - Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4, - u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc. - * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4. - * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h. - * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c. - * modules/unistr/u16-mbtouc-unsafe: Renamed from - modules/unistr/u16-mbtouc. - * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c. - * lib/unistr.h: Update. - * lib/linebreak.c: Update. - * modules/linebreak: Update. - * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe. - * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h. - * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c. - * modules/unistr/u16-mbtouc: Renamed from - modules/unistr/u16-mbtouc-safe. - * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c. - * lib/unistr.h: Update. - * lib/unistr/u16-to-u8.c: Update. - * modules/unistr/u16-to-u8: Update. - * lib/unistr/u16-to-u32.c: Update. - * modules/unistr/u16-to-u32: Update. +2007-02-24 Paul Eggert -2007-01-27 Bruno Haible + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that + loops on small arguments. This attempts to avoid the problem + Bruno Haible reported for AIX 4.3.2 in + . - Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4, - u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc. - * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4. - * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h. - * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c. - * modules/unistr/u8-mbtouc-unsafe: Renamed from - modules/unistr/u8-mbtouc. - * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c. - * lib/unistr.h: Update. - * lib/striconveh.c: Update. - * modules/striconveh: Update. - * lib/linebreak.c: Update. - * modules/linebreak: Update. - * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe. - * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h. - * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c. - * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe. - * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c. - * lib/unistr.h: Update. - * lib/striconveh.c: Update. - * modules/striconveh: Update. - * lib/unistr/u8-to-u16.c: Update. - * modules/unistr/u8-to-u16: Update. - * lib/unistr/u8-to-u32.c: Update. - * modules/unistr/u8-to-u32: Update. +2007-02-23 Bruno Haible -2007-01-27 Ralf Wildenhues + * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003. + Needed for help2man. - Sync from Libtool. - * lib/argz.c: Do not include strings.h nor memory.h, include - string.h unconditionally. Patch by Simon Josefsson. +2007-02-23 Karl Berry -2007-01-27 Bruno Haible + * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h + exists, foo.h should be cvs-ignored, not committed. - * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted - from gl_HEADER_STRING_H_BODY. - (gl_HEADER_STRING_H_BODY): Require it. - * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS. - * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise. - * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise. - * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise. - * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise. - * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise. - * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise. - * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise. - * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise. - * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise. - * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise. - * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise. - * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise. - * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise. - * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise. +2007-02-23 Eric Blake -2007-01-27 Bruno Haible + * lib/getdate.h (includes): Include , not "timespec.h". + * lib/stat-time.h (includes): Likewise. + * lib/utimecmp.c (includes): Likewise. + * lib/utimens.h (includes): Likewise. + * lib/getdate.y (includes): Also include "timespec.h" for use + internal to the module. + * modules/utimens (Depends-on): Revert yesterday's patch. + * modules/nanosleep (Depends-on): Add missing dependency. - * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn - check_PROGRAMS into noinst_PROGRAMS. - (func_emit_tests_Makefile_am): Likewise. Also don't initialize - check_PROGRAMS in this case. - (func_import): Set for_test to false. - (func_create_testdir): Set for_test to true. +2007-02-22 Bruno Haible -2007-01-27 Yoann Vandoorselaere - Bruno Haible + * lib/glob.c: Don't include getlogin_r.h. - * modules/strcasestr (Files): Remove lib/strcasestr.h. - (Depends-on): Add string. - (Includes): Use instead of strcasestr.h. - * modules/string (Makefile.am): Also substitute the value of - REPLACE_STRCASESTR. - * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here; - assume strcasestr is declared in not . Also - set REPLACE_STRCASESTR. - * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for - REPLACE_STRCASESTR. - * lib/strcasestr.h: Remove file. - * lib/strcasestr.c: Include instead of strcasestr.h. - * lib/string_.h (strcasestr): New declaration. +2007-02-22 Jim Meyering -2007-01-27 Bruno Haible + * modules/utimens (Depends-on): Add timespec, required for + utimens.h's inclusion of timespec.h. - * lib/string_.h: Use 'extern'. +2007-02-21 Paul Eggert -2007-01-27 Jim Meyering + * lib/getcwd.c (__getcwd): Undo previous change; it mishandled + long unreadable paths in GNU/Linux. Problem reported by Andreas + Schwab in + . + I'll try to think of a better way to fix the Solaris problem. - * lib/regex_internal.c (re_string_reconstruct): Remove declaration - of set-but-not-used local, "q". + * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works + like glibc; on Solaris 10, it fails with errno == EINVAL. + POSIX says the behavior is unspecified if the first argument is NULL, + so play it safe and never pass NULL to the system getcwd. - * lib/mempcpy.c: Include before . - This fixes a compilation error on HP-UX, due to the system's - "restrict"-using mempcpy prototype. +2007-02-21 Jim Meyering -2007-01-26 Bruno Haible + * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration + of gettimeofday. It would conflict with the one now always + provided via sys_time_.h. Reported by Matthew Woehlke, as + an IRIX 6.5 build failure. - Small optimization. - * lib/javacomp.c: Include c-strstr.h. - (is_envjavac_gcj): Use c_strstr instead of strstr. - * modules/javacomp (Depends-on): Add c-strstr, remove strstr. +2007-02-20 Paul Eggert -2007-01-26 Bruno Haible + Minor fixups to port to Solaris 10 with Sun C 5.8. + * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd. + * modules/getcwd (Depends-on): Add dirfd. + * lib/putenv.c (putenv): #undef it. + (rpl_putenv): New decl. + (malloc, free): Include rather than prototyping separately. - * MODULES.html.sh (Unicode string functions): Add the new modules. +2007-02-20 Bruno Haible - * modules/uniconv/u32-strconv-to-locale: New file. - * lib/uniconv/u32-strconv-to-locale.c: New file. + * modules/stdio-tests: New file. + * tests/test-stdio.c: New file. - * modules/uniconv/u16-strconv-to-locale: New file. - * lib/uniconv/u16-strconv-to-locale.c: New file. + * modules/vsnprintf (Files): Remove lib/vsnprintf.h. + (Depends-on): Add stdio. + (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR. + (Include): Use instead of vsnprintf.h. + * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set + HAVE_DECL_VSNPRINTF. + * lib/vsnprintf.c: Include instead of vsnprintf.h. - * modules/uniconv/u8-strconv-to-locale: New file. - * lib/uniconv/u8-strconv-to-locale.c: New file. + * modules/snprintf (Files): Remove lib/snprintf.h. + (Depends-on): Add stdio. + (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR. + (Include): Use instead of snprintf.h. + * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set + HAVE_DECL_SNPRINTF. + * lib/snprintf.c: Include instead of snprintf.h. + * lib/getaddrinfo.c: Likewise. - * modules/uniconv/u32-strconv-from-locale: New file. - * lib/uniconv/u32-strconv-from-locale.c: New file. + * modules/stdio: New file. + * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h. + * lib/snprintf.h: Remove file. + * lib/vsnprintf.h: Remove file. + * lib/.cppi-disable: Remove snprintf.h. + * m4/stdio_h.m4: New file. + * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio. - * modules/uniconv/u16-strconv-from-locale: New file. - * lib/uniconv/u16-strconv-from-locale.c: New file. +2007-02-20 Jim Meyering - * modules/uniconv/u8-strconv-from-locale: New file. - * lib/uniconv/u8-strconv-from-locale.c: New file. + * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is + used by e.g., mingw. From Bruno Haible. - * modules/uniconv/u32-strconv-to-enc: New file. - * lib/uniconv/u32-strconv-to-enc.c: New file. - * modules/uniconv/u32-strconv-to-enc-tests: New file. - * tests/uniconv/test-u32-strconv-to-enc.c: New file. +2007-02-19 Bruno Haible - * modules/uniconv/u16-strconv-to-enc: New file. - * lib/uniconv/u16-strconv-to-enc.c: New file. - * lib/uniconv/u-strconv-to-enc.h: New file. - * modules/uniconv/u16-strconv-to-enc-tests: New file. - * tests/uniconv/test-u16-strconv-to-enc.c: New file. + * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc + warnings. + Reported by Ben Pfaff . - * modules/uniconv/u8-strconv-to-enc: New file. - * lib/uniconv/u8-strconv-to-enc.c: New file. - * modules/uniconv/u8-strconv-to-enc-tests: New file. - * tests/uniconv/test-u8-strconv-to-enc.c: New file. +2007-02-19 Bruno Haible - * modules/uniconv/u32-strconv-from-enc: New file. - * lib/uniconv/u32-strconv-from-enc.c: New file. - * modules/uniconv/u32-strconv-from-enc-tests: New file. - * tests/uniconv/test-u32-strconv-from-enc.c: New file. + * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail + from mingw users. - * modules/uniconv/u16-strconv-from-enc: New file. - * lib/uniconv/u16-strconv-from-enc.c: New file. - * modules/uniconv/u16-strconv-from-enc-tests: New file. - * tests/uniconv/test-u16-strconv-from-enc.c: New file. +2007-02-19 Bruno Haible - * modules/uniconv/u8-strconv-from-enc: New file. - * lib/uniconv/u8-strconv-from-enc.c: New file. - * lib/uniconv/u-strconv-from-enc.h: New file. - * modules/uniconv/u8-strconv-from-enc-tests: New file. - * tests/uniconv/test-u8-strconv-from-enc.c: New file. + * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc + warnings. + Reported by Joel E. Denny via Paul Eggert. - * modules/uniconv/u32-conv-from-enc: New file. - * lib/uniconv/u32-conv-from-enc.c: New file. - * modules/uniconv/u32-conv-from-enc-tests: New file. - * tests/uniconv/test-u32-conv-from-enc.c: New file. +2007-02-19 Jim Meyering - * modules/uniconv/u16-conv-from-enc: New file. - * lib/uniconv/u16-conv-from-enc.c: New file. - * lib/uniconv/u-conv-from-enc.h: New file. - * modules/uniconv/u16-conv-from-enc-tests: New file. - * tests/uniconv/test-u16-conv-from-enc.c: New file. + Don't use FD after a successful "fdopendir (fd)". + * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd. + Reset it by calling dirfd on the just-obtained DIR*. - * modules/uniconv/u8-conv-from-enc: New file. - * lib/uniconv/u8-conv-from-enc.c: New file. - * modules/uniconv/u8-conv-from-enc-tests: New file. - * tests/uniconv/test-u8-conv-from-enc.c: New file. + * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve. + Prompted by a report from Bruno Haible that mingw lacks ftruncate. - * modules/uniconv/base: New file. - * lib/uniconv.h: New file. +2007-02-18 Bruno Haible -2007-01-26 Paul Eggert + * lib/readlink.c: Include . + * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set + HAVE_READLINK. + * modules/readlink (Depends-on): Add unistd. + (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR. + (Include): Add . - * doc/gnulib-tool.texi (Initial import): Update to match current - behavior with strdup module. - * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h. - * lib/memmem.h: Remove; all uses removed. This is now done - by . - * lib/mempcpy.h: Likewise. - * lib/memrchr.h: Likewise. - * lib/stpcpy.h: Likewise. - * lib/stpncpy.h: Likewise. - * lib/strcase.h: Likewise. - * lib/strchrnul.h: Likewise. - * lib/strdup.h: Likewise. - * lib/strndup.h: Likewise. - * lib/strnlen.h: Likewise. - * lib/strpbrk.h: Likewise. - * lib/strsep.h: Likewise. - * lib/strstr.h: Likewise. - * lib/strtok_r.h: Likewise. - * lib/string_.h: New file. - * lib/argp-namefrob.h: Don't include no-longer-existent include files. - Rely on instead. - * lib/canon-host.c: Likewise. - * lib/chdir-long.c: Likewise. - * lib/concatpath.c: Likewise. - * lib/exclude.c: Likewise. - * lib/fchdir.c: Likewise. - * lib/getaddrinfo.c: Likewise. - * lib/getcwd.c: Likewise. - * lib/getsubopt.c: Likewise. - * lib/glob.c: Likewise. - * lib/hard-locale.c: Likewise. - * lib/iconvme.c: Likewise. - * lib/javacomp.c: Likewise. - * lib/mempcpy.c: Likewise. - * lib/memrchr.c: Likewise. - * lib/regex_internal.h: Likewise. - * lib/stpncpy.c: Likewise. - * lib/strcasecmp.c: Likewise. - * lib/strchrnul.c: Likewise. - * lib/strdup.c: Likewise. - * lib/striconv.c: Likewise. - * lib/striconveh.c: Likewise. - * lib/striconveha.c: Likewise. - * lib/strncasecmp.c: Likewise. - * lib/strndup.c: Likewise. - * lib/strnlen.c: Likewise. - * lib/strsep.c: Likewise. - * lib/strstr.c: Likewise. - * lib/strtok_r.c: Likewise. - * lib/userspec.c: Likewise. - * lib/w32spawn.h: Likewise. - * lib/xstrndup.c: Likewise. - * lib/mountlist.c (strstr): Remove decl. - * m4/string_h.m4: New file. - * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary. - * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary. - * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR - * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary. - * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary. - * m4/strcase.m4 (gl_FUNC_STRCASECMP): - Set REPLACE_STRCASECMP if necessary. - (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary. - * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary. - * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary. - * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and - HAVE_DECL_STRDUP if necessary. - (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl, - since gl_FUNC_STRNDUP does that now. - * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary. - Check for decl here... - (gl_PREREQ_STRNLEN): ... not here. - * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary. - * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary. - * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary. - * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if - necessary. - * modules/string: New file. - * modules/memmem (Files): Remove special-purpose include file. - (Depends-on): Add string. - (Include): Include , not the removed file. - * modules/mempcpy: Likewise. - * modules/memrchr: Likewise. - * modules/stpcpy: Likewise. - * modules/stpncpy: Likewise. - * modules/strcase: Likewise. - * modules/strchrnul: Likewise. - * modules/strdup: Likewise. - * modules/strndup: Likewise. - * modules/strnlen: Likewise. - * modules/strpbrk: Likewise. - * modules/strsep: Likewise. - * modules/strstr: Likewise. - * modules/strtok_r: Likewise. - * tests/test-dirname.c: Don't include "strdup.h", since - now suffices. - * tests/test-memmem.c: Don't include "memmem.h", since - now suffices. + * lib/getlogin_r.h: Remove file. + * lib/getlogin_r.c: Include instead of getlogin_r.h. + * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro. + (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set + HAVE_DECL_GETLOGIN_R. + * modules/getlogin_r (Files): Remove lib/getlogin_r.h. + (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR. + (Include): Use instead of getlogin_r.h. -2007-01-25 Bruno Haible + * lib/getcwd.h: Remove file. + * lib/getcwd.c: Include instead of getcwd.h. + * lib/xgetcwd.c: Likewise. + * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set + REPLACE_GETCWD. Don't define __GETCWD_PREFIX. + * modules/getcwd (Files): Remove lib/getcwd.h. + (Depends-on): Add unistd. + (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR. + (Include): Use instad of getcwd.h. - * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if - *resultp is 0. + * lib/ftruncate.c: Include first. + * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS. + Set HAVE_FTRUNCATE. + * modules/ftruncate (Depends-on): Add unistd. + (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR. - * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation. - * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise. - * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation. - * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise. + * lib/fchdir.c: Include first. + * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. + * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead + of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H. + * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR. + (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h. - * modules/unistr/u8-to-u16 (Depends-on): Add missing modules. - * modules/unistr/u8-to-u32 (Depends-on): Add missing modules. - * modules/unistr/u16-to-u8 (Depends-on): Add missing modules. - * modules/unistr/u16-to-u32 (Depends-on): Add missing modules. - * modules/unistr/u32-to-u8 (Depends-on): Add missing modules. - * modules/unistr/u32-to-u16 (Depends-on): Add missing modules. + * lib/dup2.c: Include first. + * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set + HAVE_DUP2. + * modules/dup2 (Depends-on): Add unistd. + (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR. -2007-01-24 Bruno Haible + * lib/chown.c: Include first. Undefine chown later. + * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set + REPLACE_CHOWN. Don't define chown as a macro here. + * modules/chown (Depends-on): Add unistd. + (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR. - Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See - . - * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE. - * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require, - gl_FUNC_FTS_CORE. - (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT. - * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require, - AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. - * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP. - * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME. - * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require, - gl_FUNC_FCHOWNAT. - * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require, - gl_FUNC_STRFTIME. - * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD. - Reported by Ralf Wildenhues. + * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time. + Add definition for GL_LINK_WARNING. + (chown, dup2): New declarations. + (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional + link warning. + (ftruncate): New declaration. + (getcwd): New declaration, taken from old getcwd.h. + (getlogin_r): New declaration, taken from old getlogin_r.h. + (readlink): New declaration. + * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't + set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H. + (gl_PREREQ_UNISTD): Remove macro. + (gl_UNISTD_MODULE_INDICATOR): New macro. + (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set + many new variables. Don't set UNISTD_H. + * modules/unistd (Description): Change. + (Depends-on): Add link-warning. + (configure.ac): Update. + (Makefile.am): Create unistd.h always. Substitute many new variables + into it. -2007-01-24 Bruno Haible +2007-02-18 Bruno Haible - Drop AC_REQUIRE calls that are redundant with the module dependencies. - * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require - gl_GETADDRINFO. - * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H, - gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR. - * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD. + * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h. + * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and + HAVE_GETSUBOPT. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize + GNULIB_GETSUBOPT and HAVE_GETSUBOPT. + * lib/getsubopt.h: Remove file. + * modules/getsubopt (Files): Remove lib/getsubopt.h. + (Depends-on): Add stdlib. + (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. + (Includes): Use instead of getsubopt.h. + * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS. + Set HAVE_GETSUBOPT. + * lib/getsubopt.c: Don't include getsubopt.h. -2007-01-24 Paul Eggert +2007-02-18 Bruno Haible - * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361. - Don't use 'exit'; just return from 'main'. - (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once. + * modules/fchdir (Depends-on): Add dup2. - * lib/fnmatch_.h: Readjust white space and comments to match - glibc, to avoid spurious diffs. +2007-02-18 Bruno Haible -2007-01-23 Paul Eggert + * lib/stdlib_.h: Handle glibc's special invocation convention + specially. - * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the - 2004-12-01 change by Jakub Jelinek, since this code won't compile - if !LIBC. Problem reported by Bob Proulx. +2007-02-18 Bruno Haible -2007-01-23 Bruno Haible + * modules/stdlib-tests: New file. + * tests/test-stdlib.c: New file. - * lib/striconveh.c: Include c-strcaseeq.h. - (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp. - * modules/striconveh (Depends-on): Add c-strcaseeq. + * modules/mkstemp (Files): Remove lib/mkstemp.h. + (Depends-on): Add stdlib. + (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. + (Includes): Use instead of mkstemp.h. + * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set + REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX. + * lib/mkstemp.c: Don't include mkstemp.h. + * lib/mkstemp-safer.c: Include instead of mkstemp.h. + * lib/stdlib--.h: Don't include mkstemp.h. -2007-01-23 Bruno Haible + * modules/mkdtemp (Files): Remove lib/mkdtemp.h. + (Depends-on): Add stdlib. + (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. + (Includes): Use instead of mkdtemp.h. + * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set + HAVE_MKDTEMP. + * lib/mkdtemp.c: Don't include mkdtemp.h. + * lib/clean-temp.c: Don't include mkdtemp.h. - * MODULES.html.sh (String handling): Add streq, c-strcaseeq. + * modules/exit (Files): Remove lib/exit.h. + (Depends-on): Add stdlib. + (Makefile.am): Remove lib_SOURCES. + (Include): Use instead of exit.h. + * lib/argmatch.c: Don't include exit.h. + * lib/execute.c: Likewise. + * lib/pagealign_alloc.c: Likewise. + * lib/pipe.c: Likewise. + * lib/wait-process.c: Likewise. + * lib/copy-file.c: Include instead of exit.h. + * lib/exitfail.c: Likewise. + * lib/savewd.c: Likewise. + * lib/xsetenv.c: Likewise. - * modules/c-strcaseeq: New file. - * lib/c-strcaseeq.h: New file. + * modules/stdlib: New file. + * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h + and extra comments about mkstemp(). + * lib/exit.h: Remove file. + * lib/mkdtemp.h: Remove file. + * lib/mkstemp.h: Remove file. + * m4/stdlib_h.m4: New file. + * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib. - * modules/streq: New file. - * lib/streq.h: New file. +2007-02-18 Bruno Haible -2007-01-23 Bruno Haible + * modules/math-tests: New file. + * tests/test-math.c: New file. - * modules/striconveha-tests: New file. - * tests/test-striconveha.c: New file. + * modules/math: New file. + * modules/mathl (Files): Remove lib/mathl.h. + (Depends-on): Add math. + (Makefile.am): Don't mention mathl.h. + (Include): Use instead of mathl.h. + * lib/math_.h: New file. + * lib/mathl.h: Remove file. + * lib/acosl.c: Include and first. Don't include + mathl.h. + * lib/asinl.c: Likewise. + * lib/atanl.c: Likewise. + * lib/ceill.c: Likewise. + * lib/cosl.c: Likewise. + * lib/expl.c: Likewise. + * lib/floorl.c: Likewise. + * lib/frexpl.c: Likewise. + * lib/ldexpl.c: Likewise. + * lib/logl.c: Likewise. + * lib/sincosl.c: Likewise. + * lib/sinl.c: Likewise. + * lib/sqrtl.c: Likewise. + * lib/tanl.c: Likewise. + * lib/trigl.c: Likewise. + * m4/math_h.m4: New file. + * MODULES.html.sh (Mathematics): Add math. - * lib/striconveha.h: Include . - (mem_iconveha, str_iconveha): Add 'transliterate' argument. - * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h. - (mem_iconveha_notranslit): Renamed from mem_iconveha. - (mem_iconveha): New function. - (str_iconveha_notranslit): Renamed from str_iconveha. - (str_iconveha): New function. - * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup, - c-strcase. +2007-02-17 Bruno Haible -2007-01-23 Bruno Haible + * modules/wctype-tests: New file. + * tests/test-wctype.c: New file. - * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all - encodings without forgiving before trying any encoding with handler. - (str_iconveha): Try all encodings without forgiving before trying any - encoding with handler. + * modules/wchar-tests: New file. + * tests/test-wchar.c: New file. -2007-01-23 Paul Eggert + * modules/unistd-tests: New file. + * tests/test-unistd.c: New file. - Import the following changes from libc. + * modules/time-tests: New file. + * tests/test-time.c: New file. - 2005-10-14 Ulrich Drepper + * modules/sysexits-tests: New file. + * tests/test-sysexits.c: New file. - * lib/fnmatch_loop.c: Adjust for changed secondary hash function. + * modules/sys_time-tests: New file. + * tests/test-sys_time.c: New file. - 2004-12-01 Jakub Jelinek + * modules/sys_stat-tests: New file. + * tests/test-sys_stat.c: New file. - * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after - normal_bracket label. + * modules/sys_socket-tests: New file. + * tests/test-sys_socket.c: New file. - 2004-09-01 Jakub Jelinek + * modules/sys_select-tests: New file. + * tests/test-sys_select.c: New file. - [BZ #361] - * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch - to normal_bracket after fetching the next character. + * modules/string-tests: New file. + * tests/test-string.c: New file. -2007-01-22 Bruno Haible + * modules/stdbool-tests: New file. + * tests/test-stdbool.c: New file. - * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets' - argument. - * lib/striconveh.c (iconv_carefully_1): New function. - (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets' - argument. - (str_cd_iconveh): Update. - * lib/striconveha.h (mem_iconveha): Add 'offsets' argument. - * lib/striconveha.c (mem_iconveha): Add 'offsets' argument. - * tests/test-striconveh.c (MAGIC): New macro. - (new_offsets): New function. - (main): Test call with and without offsets. + * modules/netinet_in-tests: New file. + * tests/test-netinet_in.c: New file. -2007-01-22 Bruno Haible + * modules/inttypes-tests: New file. + * tests/test-inttypes.c: New file. - * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P). - * modules/sys_select (Makefile.am): Likewise. - * modules/sys_socket (Makefile.am): Likewise. - * modules/sys_time (Makefile.am): Likewise. + * modules/fcntl-tests: New file. + * tests/test-fcntl.c: New file. -2007-01-22 Paul Eggert + * modules/byteswap-tests: New file. + * tests/test-byteswap.c: New file. - * modules/gettimeofday (License): Change from GPL to LGPL, since - gettimeofday is a library function. + * modules/arpa_inet-tests: New file. + * tests/test-arpa_inet.c: New file. -2007-01-22 Yoann Vandoorselaere +2007-02-17 Bruno Haible - * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32. + * lib/inttypes_.h: Add definition for GL_LINK_WARNING. + (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function + if the corresponding module is not enabled. Emit link warnings if + the function is used nevertheless. + * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing . + Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV, + HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX. + (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros. + * modules/inttypes (Depends-on): Add link-warning. + (Makefile.am): Copy the contents of build-aux/link-warning.h into + inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV, + GNULIB_STRTOIMAX, GNULIB_STRTOUMAX. + * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR. + * modules/imaxdiv (configure.ac): Likewise. + * modules/strtoimax (configure.ac): Likewise. + * modules/strtoumax (configure.ac): Likewise. -2007-01-21 Bruno Haible +2007-02-17 Bruno Haible - * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro. + * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of + gl_STRING_MODULE_INDICATOR_DEFAULTS. + (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro. + (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update. -2007-01-21 Bruno Haible +2007-02-17 Bruno Haible - * modules/striconveha: New file. - * lib/striconveha.h: New file. - * lib/striconveha.c: New file. - * MODULES.html.sh (Internationalization functions): Add striconveha. - * lib/striconv.c (str_iconv): Optimize the case of an empty input - string. - * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise. + * modules/link-warning: New file. + * build-aux/link-warning.h: New file, extracted from lib/string_.h. + * lib/string_.h (GL_LINK_WARNING): Remove definition. + * modules/string (Depends-on): Add link-warning. + (Makefile.am): Copy the contents of build-aux/link-warning.h into + string.h. + * MODULES.html.sh (Support for building libraries and executables): Add + link-warning. -2007-01-21 Bruno Haible +2007-02-17 Bruno Haible - * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails. - * lib/striconveh.c (str_iconveh): Likewise. + * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp, + strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn, + strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break + long lines. -2007-01-21 Bruno Haible +2007-02-17 Ben Pfaff + Bruno Haible - * lib/striconveh.h (mem_iconveh): New declaration. - * lib/striconveh.c (mem_iconveh): New function. - * tests/test-striconveh.c (main): Add tests for mem_iconveh. + * modules/tmpfile: New file. + * lib/tmpfile.c: New file. + * m4/tmpfile.m4: New file. + * MODULES.html.sh (func_all_modules): New section "Input/output". -2007-01-21 Bruno Haible +2007-02-15 Bruno Haible - * lib/xstriconv.h (xmem_cd_iconv): Change specification. + * lib/clean-temp.c [WIN32 && !CYGWIN]: Include . + (supports_delete_on_close): New function. + (open_temp, fopen_temp): Use _O_TEMPORARY when supported. - * lib/striconveh.h (mem_cd_iconveh): Change specification. - * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied - original result buffer. - (str_cd_iconveh): Update. - * tests/test-striconveh.c (main): Update. +2007-02-14 Bruno Haible - * lib/striconv.h (mem_cd_iconv): Change specification. - * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original - result buffer. - (str_cd_iconv): Update. - * tests/test-striconv.c (main): Update. + * modules/mbspcasecmp-tests: New file. + * tests/test-mbspcasecmp.sh: New file. + * tests/test-mbspcasecmp.c: New file. -2007-01-21 Bruno Haible + New module mbspcasecmp. + * modules/mbspcasecmp: New file. + * lib/mbspcasecmp.c: New file. + * lib/string_.h (strncasecmp): Change warning message. + (mbspcasecmp): New declaration. + * m4/mbspcasecmp.m4: New file. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize + GNULIB_MBSPCASECMP. + * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP. + * MODULES.html.sh (Internationalization functions): Add mbspcasecmp. - * gnulib-tool: Fix test whether sed is GNU sed supporting --posix. +2007-02-14 Bruno Haible -2007-01-20 Jim Meyering + * modules/mbsncasecmp-tests: New file. + * tests/test-mbsncasecmp.sh: New file. + * tests/test-mbsncasecmp.c: New file. - * lib/userspec.c (parse_with_separator): If a user or group string - starts with "+", skip the corresponding name-to-ID look-up, since - such a look-up must fail: user and group names may not include "+". + New module mbsncasecmp. + * modules/mbsncasecmp: New file. + * lib/mbsncasecmp.c: New file. + * lib/string_.h (mbsncasecmp): New declaration. + * m4/mbsncasecmp.m4: New file. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize + GNULIB_MBSNCASECMP. + * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP. + * MODULES.html.sh (Internationalization functions): Add mbsncasecmp. -2007-01-19 Paul Eggert +2007-02-14 Paul Eggert - * lib/poll.c: Include sys/time.h and time.h unconditionally, - since we now assume the sys_time module. - * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or - check for sys/time.h; no longer needed. - * modules/poll (Depends-on): Depend on sys_time. + * lib/exclude.c (FNM_EXTMATCH): Define if system does not. + Verify that it doesn't overlap with our flags. + (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which + do not have the desired effect in multibyte locales; instead, use + mbscasecmp. + * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase. + Add dependency on xalloc. Depend on fnmatch, not fnmatch-gnu, since + we don't require GNU fnmatch ourselves (if our users require it, they + should do so explicitly). -2007-01-18 Bruno Haible + Fix regex code so it doesn't rely on strcasecmp. + * lib/regex_internal.h: Include only if _LIBC is defined. + Otherwise, include gnulib's langinfo.h. + * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have + undesirable behavior in non-C locales. Instead, rely on localecharset. + * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET. + * modules/regex (FILES): Remove m4/codeset.m4. + (Depends-on): Add localcharset. Remove strcase. - * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for . - * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise. +2007-02-13 Ralf Wildenhues - * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and - gettimeofday. + * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug. + * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise. - * tests/test-gettimeofday.c: Include . - (dummy): Remove variable. +2007-02-13 Bruno Haible - * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from - gl_HEADER_SYS_TIME_H. - (gl_HEADER_SYS_TIME_H): New macro. + * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug. + Reported by Ralf Wildenhues . - * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of - HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME. - * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY, - gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of - HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME. - * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize - GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE - and GETTIMEOFDAY_CLOBBERS_LOCALTIME. - * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT - instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and - GETTIMEOFDAY_CLOBBERS_LOCALTIME. +2007-02-12 Bruno Haible - * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the - last change; it caused a compilation error when cross-compiling to - Cygwin. + * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul, + strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If + GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link- + time warning rather than a link error. -2007-01-18 Jim Meyering +2007-02-12 Bruno Haible - Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys". - * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather - than the race-prone "test -d sys || mkdir sys". - (configure.ac): Use AC_PROG_MKDIR_P. - * modules/sys_select: Likewise. - * modules/sys_socket: Likewise. - * modules/sys_time: Likewise. + * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug. + * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise. + Reported by Ralf Wildenhues . -2007-01-18 Eric Blake +2007-02-12 Paul Eggert - * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also - replace gettimeofday. - * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement - name, to avoid infinite recursion. + * lib/string_.h (strncasecmp): Fix typo: this macro takes 3 + args, not 2. -2007-01-17 Paul Eggert +2007-02-12 Paul Eggert - * MODULES.html.sh (Support for systems lacking POSIX:2001): New - module sys_time. - * lib/gethrxtime.c: Include , since we can no longer - assume timespec.h defines struct timeval. - * lib/settime.c: Likewise. - * lib/utimens.c: Likewise. - * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY, - since we now assume the gettimeofday module. - * lib/tempname.c (__gen_tempname): Likewise. - * lib/gettimeofday.h: Remove. - * lib/gettimeofday.c: Include instead of "gettimeofday.h". - Don't include and ; shouldn't be needed. - Include , for 'time()'. - (localtime_buffer_addr): Also use this workaround if - TZSET_CLOBBERS_LOCALTIME. Set to a dummy static variable by default, - to simplify the uses. All uses changed. - (localtime, gmtime, tzset, gettimeofday): Reformat slightly so - that #undef is inside {}, and 'const' follows type name consistently. - (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME. - (gettimeofday): Do not use the maximum possible value for - tv->tv_usec, since that might break usages other than ls.c. - Instead, we'll leave ls.c alone. This undoes today's patch - by Bruno. Add a compile-time warning for 1s-clock resolution; - we've never observed the problem but might as well keep the - canary. - * lib/nanosleep.c: Include timespec.h first, for interface check. - * lib/nanosleep.c: Include unconditionally, since we - now assume the sys_time module. - * lib/tempname.c: Likewise. - * lib/timespec.h: Likewise. - * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer - needed. + New module 'time', so that apps can include as per + POSIX and GNU instead of separate include files like time_r.h + and timegm.h. This implementation tries out a simpler approach + for replacing decls in standard include files (as compared to + the string module), somewhat as an experiment. + + * config/srclist.txt: Comment out mktime.c for now. + * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example + since it doesn't apply any more. Use generic wording instead. + * MODULES.html.sh (Support for systems lacking POSIX:2001): New module + 'time'. + * lib/time_.h, m4/time_h.m4, modules/time: New files. + * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove. + * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H. + Don't include ; no longer needed since we assume C89. + * lib/mktime.c: Don't include "time_r.h"; no longer needed. * lib/strftime.c: Likewise. - * lib/timespec.h: Likewise. - * lib/posixtm.c: Include posixtm.h first, for interface check. - Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete. - * lib/posixtm.h: Include stdbool.h and time.h, for proper interface. - * lib/strftime.c: Don't include ; shouldn't be needed. - * lib/sys_time_.h: New file. - * lib/timespec.h (struct timespec): Use long int, not long. - * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): - (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY): - Remove obsolescent call to AC_HEADER_TIME. - * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise. - * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise. - * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise. - * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC): - Likewise. - * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise. - * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise. - * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests - into the sys_time module. Check for gettimeofday just once. - Prefix our variables with gl_, not with ac_ or jm_. Tighten test - for gettimeofday signature to just check the signature. Merely - compile it, since linking doesn't test signature. Improve test for - whether gettimeofday.o is actually needed. - (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from - AC_FUNC_GETTIMEOFDAY_CLOBBER. All uses changed. Use - AC_RUN_IFELSE rather than AC_TRY_RUN. If clobbering, set - and define GETTIMEOFDAY_CLOBBERS_LOCALTIME. - (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define - GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's - job. Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job. - * m4/mktime.m4 (AC_FUNC_MKTIME): Just include rather - than worrying about sys/time.h. - * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): - Don't bother worrying about TIME_WITH_SYS_TIME. - * m4/stat-time.m4 (gl_STAT_TIME): Likewise. - * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM. - * m4/sys_time_h.m4: New file. - * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H. - Don't include sys/time.h. Return from main rather than exiting. - Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names; - all uses changed. - * modules/gethrxtime (Depends-on): Add sys_time. - * modules/gettime (Depends-on): Likewise. - * modules/gettimeofday (Depends-on): Likewise. + * lib/time_r.c: Likewise. + * lib/nanosleep.c (nanosleep): #undef after include files, not before. + * lib/nanosleep.c: Include first, to check interface. + * lib/strptime.c: Likewise. + * lib/time_r.c: Likewise. + * lib/timegm.c: Likewise. + * lib/strptime.c: Don't include strptime.h or time_r.h; no longer + needed. + * lib/timegm.c: Don't include timegm.h; no longer needed. + * lib/timespec.h: Don't include before ; + time.h now handles any problems in that area. + (struct timespec, nanosleep): Remove; time.h now arranges for these. + * lib/xnanosleep.c: Don't include timespec.h; no longer needed now + that time.h defines struct timespec. + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared. + Set REPLACE_NANOSLEEP. Don't AC_DEFINE nanosleep; the time module now + handles that. + * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME. + * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer + needed. Set REPLACE_LOCALTIME. + * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM. + * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4. + (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or + nanosleep; time_h.m4 now does that. Don't require + gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time + module handles this now. + * modules/getdate (Depends-on): Remove timespec. Add time. * modules/nanosleep (Depends-on): Likewise. - * modules/settime (Depends-on): Likewise. - * modules/tempname (Depends-on): Likewise. + * modules/stat-time (Depends-on): Likewise. + * modules/nanosleep (Include): Include time.h, not timespec.h. + * modules/strptime (Files): Remove lib/strptime.h. + (Depends-on): Add extensions, time. + (Include): Include time.h, not strptime.h. + * modules/time_r (Files): Remove lib/time_r.h. + (Depends-on): Add time. + (Include): Include time.h, not time_r.h. + * modules/timegm: Likewise. + * modules/timespec (Description): Now does timespec-related decls + of our own, instead of struct timespec itself. + (Depends-on): Add time; remove extensions. + (Maintainer): Add self. + * modules/utimecmp (Depends-on): Add time; remove timespec. * modules/utimens (Depends-on): Likewise. - * modules/gettimeofday (Files): Remove lib/gettimeofday.h. - (Include:) Change back to . - (Maintainer:) Add self. - * modules/sys_time: New file. - * modules/tempname (Depends-on): Add gettimeofday. - * tests/test-gettimeofday.c: Include - rather than gettimeofday.h. - -2007-01-17 Bruno Haible + * modules/xnanosleep (Depends-on): Likewise. - * gnulib-tool (func_get_license): Revert last patch. Instead, let - the license default to GPL. - (func_create_testdir): Don't complain if a module is LGPL and its - tests module depends on GPLed modules. +2007-02-11 Bruno Haible -2007-01-17 Bruno Haible + * lib/c-strstr.c: Include allocsa.h. + (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free. + * lib/c-strcasestr.c: Include allocsa.h. + (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free. + * lib/strcasestr.c: Include allocsa.h. + (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free. + * lib/mbsstr.c: Include allocsa.h. + (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use + allocsa/freesa instead of malloc/free. + * lib/mbscasestr.c: Include allocsa.h. + (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use + allocsa/freesa instead of malloc/free. + * modules/c-strstr (Depends-on): Add allocsa. + * modules/c-strcasestr (Depends-on): Likewise. + * modules/strcasestr (Depends-on): Likewise. + * modules/mbsstr (Depends-on): Likewise. + * modules/mbscasestr (Depends-on): Likewise. - * lib/gettimeofday.c (gettimeofday): Add code for the case - HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the - maximum possible value for tv->tv_usec, rather than the minimum one. +2007-02-11 Bruno Haible -2005-10-08 Martin Lambers -2005-10-08 Paul Eggert -2007-01-16 Bruno Haible + * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call. - * modules/gettimeofday (Files): Add lib/gettimeofday.h. - (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add - gl_FUNC_GETTIMEOFDAY. - (Include): Add gettimeofday.h. - * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro. - (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY. - (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define - GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here. - (gl_PREREQ_GETTIMEOFDAY): Check for and _ftime. - * lib/gettimeofday.h: New file. - * lib/gettimeofday.c: Include . - (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define - only if GETTIMEOFDAY_CLOBBERS_LOCALTIME. - (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available; - fall back on time(). + * modules/mbsspn-tests: New file. + * tests/test-mbsspn.sh: New file. + * tests/test-mbsspn.c: New file. - * tests/test-gettimeofday.c: New file. - * modules/gettimeofday-tests: New file. +2007-02-11 Bruno Haible -2007-01-16 Eric Blake + * lib/mbspbrk.c (mbspbrk): Remove unneeded cast. - * modules/fnmatch (Depends-on): Depend on wchar. - * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume . - * m4/fnmatch.m4: Likewise. - * modules/mbchar (Makefile.am): Assume . - * m4/mbchar.m4: Likewise. - * modules/mbswidth (Depends-on): Depend on wchar. - * lib/mbswidth.c: Assume . - * m4/mbswidth.m4: Likewise. - * modules/quotearg (Depends-on): Depend on wchar. - * lib/quotearg.c: Assume . - * m4/quotearg.m4: Likewise. - * modules/regex (Depends-on): Depend on wchar. - * lib/regex_internal.h: Assume . - * m4/regex.m4: Likewise. - * modules/stdint (Depends-on): Depend on wchar. - * lib/stdint_.h [!defined WCHAR_MIN]: Assume . - * m4/stdint.m4: Likewise. - * tests/test-stdint.c [HAVE_WINT_T]: Likewise. - * modules/strftime (Depends-on): Depend on wchar. - * lib/strftime.c (DO_MULTIBYTE): Assume . - * modules/strtol (Depends-on): Depend on wchar. - * lib/strtol.c: Assume . - * modules/wcwidth (Depends-on): Depend on wchar. - * lib/wcwidth.h: Assume . - * m4/wcwidth.m4: Likewise. + * modules/mbspbrk-tests: New file. + * tests/test-mbspbrk.sh: New file. + * tests/test-mbspbrk.c: New file. -2007-01-16 Bruno Haible +2007-02-11 Bruno Haible - * modules/csharpexec-script: New, created from... - * modules/csharpexec: ... this. + * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and + unneeded cast. -2007-01-16 Paolo Bonzini + * modules/mbscspn-tests: New file. + * tests/test-mbscspn.sh: New file. + * tests/test-mbscspn.c: New file. - * modules/javaexec-script: New, created from... - * modules/javaexec: ... this. +2007-02-11 Bruno Haible -2007-01-16 Yoann Vandoorselaere + * modules/mbscasecmp-tests: New file. + * tests/test-mbscasecmp.sh: New file. + * tests/test-mbscasecmp.c: New file. - * modules/poll (Dependencies): Add sys_select. +2007-02-11 Bruno Haible -2007-01-15 Jim Meyering + Ensure O(n) worst-case complexity of mbscasestr. + * lib/mbscasestr.c: Include stdbool.h. + (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New + functions. + (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when + the bookkeeping indicates that it's worth it. + * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen. - * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct- - redefinition bug when using both and headers. - * lib/readutmp.h: Likewise. Reported by Daniel Richard G. in - . + * modules/mbscasestr-tests: New file. + * tests/test-mbscasestr1.c: New file. + * tests/test-mbscasestr2.sh: New file. + * tests/test-mbscasestr2.c: New file. + * tests/test-mbscasestr3.sh: New file. + * tests/test-mbscasestr3.c: New file. + * tests/test-mbscasestr4.sh: New file. + * tests/test-mbscasestr4.c: New file. + * m4/locale-tr.m4: New file. -2007-01-15 Bruno Haible +2007-02-11 Bruno Haible - * modules/striconveh: New file. - * lib/striconveh.h: New file. - * lib/striconveh.c: New file. - * MODULES.html.sh (Internationalization functions): Add striconveh. - - * modules/striconveh-tests: New file. - * tests/test-striconveh.c: New file. - -2007-01-15 Bruno Haible - - * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is - not from GNU libiconv or GNU libc. + Ensure O(n) worst-case complexity of mbsstr. + * lib/mbsstr.c: Include stdbool.h. + (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New + functions. + (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the + bookkeeping indicates that it's worth it. + * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen. -2007-01-15 Bruno Haible + * modules/mbsstr-tests: New file. + * tests/test-mbsstr1.c: New file. + * tests/test-mbsstr2.sh: New file. + * tests/test-mbsstr2.c: New file. + * tests/test-mbsstr3.sh: New file. + * tests/test-mbsstr3.c: New file. + * m4/locale-fr.m4: New file. - * doc/gnulib-intro.texi (Copyright): Explain the different license - terms for module descriptions, autoconf macros, tests, documentation. +2007-02-11 Bruno Haible -2007-01-14 Bruno Haible + * lib/mbsrchr.c (mbsrchr): Fix bug. - * modules/striconv-tests: New file. - * tests/test-striconv.c: New file. + * modules/mbsrchr-tests: New file. + * tests/test-mbsrchr.sh: New file. + * tests/test-mbsrchr.c: New file. -2007-01-14 Bruno Haible +2007-02-11 Bruno Haible - * modules/iconv-tests: New file. - * tests/test-iconv.c: New file. + * lib/mbschr.c (mbschr): Fix bug. -2007-01-14 Bruno Haible + * modules/mbschr-tests: New file. + * tests/test-mbschr.sh: New file. + * tests/test-mbschr.c: New file. + * m4/locale-zh.m4: New file. - * gnulib-tool (func_get_license): For test modules, use the license of - the main module. +2007-02-11 Bruno Haible -2007-01-14 Bruno Haible + Support for copying multibyte string iterators. + * lib/mbiter.h: Include . + (mbiter_multi_copy): New function. + (mbi_copy): New macro. + * lib/mbuiter.h: Include . + (mbuiter_multi_copy): New function. + (mbui_copy): New macro. - * modules/iconv (Include): Clarify that can only be included - if iconv is found to exist. +2007-02-11 Bruno Haible -2007-01-14 Bruno Haible + New module mbslen. + * modules/mbslen: New file. + * lib/mbslen.c: New file. + * lib/string_.h (mbslen): New declaration. + * m4/mbslen.m4: New file. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize + GNULIB_MBSLEN. + * modules/string (string.h): Also substitute GNULIB_MBSLEN. + * MODULES.html.sh (Internationalization functions): Add mbslen. - * modules/c-ctype-tests: New file. - * tests/test-c-ctype.c: New file. +2007-02-11 Bruno Haible -2007-01-14 Bruno Haible + Ensure O(n) worst-case complexity of strcasestr substitute. + * lib/strcasestr.c: Include stdbool.h. + (knuth_morris_pratt): New function. + (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the + bookkeeping indicates that it's worth it. + * modules/strcasestr (Depends-on): Add stdbool, strnlen. - * modules/binary-io-tests: New file. - * tests/test-binary-io.sh: New file. - * tests/test-binary-io.c: New file. + * modules/strcasestr-tests: New file. + * tests/test-strcasestr.c: New file. -2007-01-14 Bruno Haible +2007-02-11 Bruno Haible - * modules/array-oset-tests: New file. - * tests/test-array_oset.c: New file. + Ensure O(n) worst-case complexity of c_strcasestr. + * lib/c-strcasestr.c: Include stdbool.h, string.h. + (knuth_morris_pratt): New function. + (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when + the bookkeeping indicates that it's worth it. + * modules/c-strcasestr (Depends-on): Add stdbool, strnlen. -2007-01-14 Bruno Haible + * modules/c-strcasestr-tests: New file. + * tests/test-c-strcasestr.c: New file. - * modules/array-list-tests: New file. - * tests/test-array_list.c: New file. +2007-02-11 Bruno Haible -2007-01-14 Bruno Haible + Ensure O(n) worst-case complexity of c_strstr. + * lib/c-strstr.c: Include stdbool.h, string.h. + (knuth_morris_pratt): New function. + (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the + bookkeeping indicates that it's worth it. + * modules/c-strstr (Depends-on): Add stdbool, strnlen. - * gnulib-tool (func_create_testdir): Don't unnecessarily run configure - and make. - Reported by Simon Josefsson in - + * lib/c-strstr.c: Complete rewrite for maintainability. -2007-01-14 Bruno Haible + * modules/c-strstr-tests: New file. + * tests/test-c-strstr.c: New file. - * modules/allocsa-tests: New file. - * tests/test-allocsa.c: New file. +2007-02-11 Bruno Haible -2007-01-14 Bruno Haible + * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils + 5.2.1 and earlier, whereby \055 was treated just like the range + delimiter '-'. + Reported by Joel E. Denny . - * modules/fchdir (Depends-on): Add absolute-header. - * modules/unistd (Depends-on): Likewise. +2007-02-08 Bruno Haible -2006-12-30 Bruno Haible + * modules/regex (Depends-on): Add stdbool. + Reported by Dalibor Topic . - * modules/fchdir: New file. - * modules/unistd (Files): Add lib/unistd_.h. - (Makefile.am): Generate unistd.h from unistd_.h. - * lib/fchdir.c: New file. - * lib/dirent_.h: New file. - * lib/unistd_.h: New file. - * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement. - * m4/fchdir.m4: New file. - * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro. - (gl_HEADER_UNISTD): Invoke it. - * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup - function. - * lib/backupfile.c (opendir, closedir): Undefine. - * lib/chown.c (open, close): Undefine. - * lib/clean-temp.c (open, close): Undefine. - * lib/copy-file.c (open, close): Undefine. - * lib/execute.c (open, close): Undefine. - * lib/fsusage.c (open, close): Undefine. - * lib/gc-gnulib.c (open, close): Undefine. - * lib/getcwd.c (opendir, closedir): Undefine. - * lib/glob.c (opendir, closedir): Undefine. - * lib/javacomp.c (open, close): Undefine. - * lib/mountlist.c (open, close, opendir, closedir): Undefine. - * lib/openat-proc.c (open, close): Undefine. - * lib/pagealign_alloc.c (open, close): Undefine. - * lib/pipe.c (open, close): Undefine. - * lib/progreloc.c (open, close): Undefine. - * lib/savedir.c (opendir, closedir): Undefine. - * lib/utime.c (open, close): Undefine. - * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir. +2007-02-05 Paul Eggert -2007-01-10 Bruno Haible + * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957. + Prefer returning from main to exiting from it. + Remove unnecessary parens after sizeof. - * lib/striconv.c (mem_cd_iconv): Align the temporary buffer. +2007-02-05 Bruno Haible -2007-01-12 Eric Blake + New module mbssep. + * modules/mbssep: New file. + * lib/mbssep.c: New file. + * lib/string_.h (strsep): Add a conditional link warning. + (mbssep): New declaration. + * m4/mbssep.m4: New file. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize + GNULIB_MBSSEP. + * modules/string (string.h): Also substitute GNULIB_MBSSEP. + * MODULES.html.sh (Internationalization functions): Add mbssep. - Provide a robust . Further simplifications are now - possible in other modules, but not included here. - * modules/wchar: New module. - * m4/wchar.m4: New file. - * lib/wchar_.h: Likewise. - * modules/mbchar (Depends-on): Depend on wchar, as the first use - of the new module. - * MODULES.html.sh (Extended multibyte and wide character utilities): - New section. +2007-02-05 Bruno Haible -2007-01-12 Paul Eggert + * lib/strsep.c (strsep): Fix actions in case of no delimiters. + Optimize search in case of 1 delimiter. - * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define - to a reasonable default for memory allocation. - (xreadlink): Don't allocate a huge buffer, to work around a buggy - file system that reports garbage st_size values for symlinks. - Problem reported by Liyang Hu. +2007-02-05 Paolo Bonzini -2007-01-11 Simon Josefsson + * lib/acl.h: Include sys/types.h before sys/acl.h. - * gnulib-tool (func_all_modules): Exclude all .* files (e.g., - Emacs .#* auto-save files). +2007-02-05 Paolo Bonzini -2007-01-11 Bruno Haible + Merge upstream fix for glibc bugzilla #3957: - * gnulib-tool (func_all_modules): Exclude all files inside the CVS - directory. + 2007-02-05 Jakub Jelinek -2007-01-10 Paul Eggert + * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0' + bit for RE_HAT_LISTS_NOT_NEWLINE. + (build_charclass_op): Remove bogus comment. - Use @...@ consistently in lib/wctype_.h. - * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely - on it being set to 1 or 0. - * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and - go back to AC_SUBSTing it. - * modules/wctype (Makefile.am): Undo previous change. +2007-02-05 Simon Josefsson -2007-01-10 Eric Blake + * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512. - * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE. - * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T). - * modules/wctype (Makefile.am): Likewise. - Reported by Chris McGuire. +2007-02-04 Paul Eggert -2007-01-10 Jim Meyering + * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h. + * lib/memmem.c [!defined _LIBC]: Include config.h. - fts.c: a small readability/maintainability improvement - * lib/fts.c (fts_read): Make this code slightly more readable and - maintainable by hoisting the "sp->fts_cur = p" assignments to - immediately follow the statements that set P. Derived from - the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089. +2007-02-04 Bruno Haible -2007-01-10 Eric Blake + * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the + warning message. - * lib/wctype_.h [HAVE_WINT_T]: Include before - , to work around BSDI bug in BSD/OS 4.0.1. - * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise. - * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise. - Reported by Chris McGuire. +2007-02-04 Bruno Haible -2007-01-09 Ralf Wildenhues + New module mbstok_r. + * modules/mbstok_r: New file. + * lib/mbstok_r.c: New file. + * lib/string_.h (strtok_r): Change argument names to match the + comments. Add a conditional link warning. + (mbstok_r): New declaration. + * m4/mbstok_r.m4: New file. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize + GNULIB_MBSTOK_R. + * modules/string (string.h): Also substitute GNULIB_MBSTOK_R. + * MODULES.html.sh (Internationalization functions): Add mbstok_r. - * gnulib-tool (func_all_modules): Use POSIX conforming escaping - in sed script. +2007-02-04 Bruno Haible -2007-01-09 Bruno Haible - - * MODULES.html.sh: Accept options --cvs-urls, --git-urls. - (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New - variables. - (func_module): Use them. + New module mbsspn. + * modules/mbsspn: New file. + * lib/mbsspn.c: New file. + * lib/string_.h (strspn): Add a conditional link warning. + (mbsspn): New declaration. + * m4/mbsspn.m4: New file. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize + GNULIB_MBSSPN. + * modules/string (string.h): Also substitute GNULIB_MBSSPN. + * MODULES.html.sh (Internationalization functions): Add mbsspn. -2007-01-09 Bruno Haible +2007-02-04 Bruno Haible - * modules/unistr/base: New file. - * lib/unistr.h: New file. + New module mbspbrk. + * modules/mbspbrk: New file. + * lib/mbspbrk.c: New file. + * lib/string_.h (strpbrk): Add a conditional link warning. + (mbspbrk): New declaration. + * m4/mbspbrk.m4: New file. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize + GNULIB_MBSPBRK. + * modules/string (string.h): Also substitute GNULIB_MBSPBRK. + * MODULES.html.sh (Internationalization functions): Add mbspbrk. - * modules/unistr/u8-to-u16: New file. - * lib/unistr/u8-to-u16.c: New file. +2007-02-04 Bruno Haible - * modules/unistr/u8-to-u32: New file. - * lib/unistr/u8-to-u32.c: New file. + New module mbscspn. + * modules/mbscspn: New file. + * lib/mbscspn.c: New file. + * lib/string_.h (strcspn): Add a conditional link warning. + (mbscspn): New declaration. + * m4/mbscspn.m4: New file. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize + GNULIB_MBSCSPN. + * modules/string (string.h): Also substitute GNULIB_MBSCSPN. + * MODULES.html.sh (Internationalization functions): Add mbscspn. - * modules/unistr/u16-to-u8: New file. - * lib/unistr/u16-to-u8.c: New file. +2007-02-04 Bruno Haible - * modules/unistr/u16-to-u32: New file. - * lib/unistr/u16-to-u32.c: New file. + New module mbscasestr, reduced goal of strcasestr. + * modules/mbscasestr: New file. + * lib/mbscasestr.c: New file, copied from lib/strcasestr.c. + (mbscasestr): Renamed from strcasestr. + * lib/strcasestr.c: Don't include mbuiter.h. + (strcasestr): Remove support for multibyte locales. + * lib/string_.h (strcasestr): Don`t rename. Declare only if missing. + Change the conditional link warning. + (mbscasestr): New declaration. + * m4/mbscasestr.m4: New file. + * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if + the system does not have strcasestr. Set HAVE_STRCASESTR instead of + REPLACE_STRCASESTR. + (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC. + * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize + HAVE_STRCASESTR instead of REPLACE_STRCASESTR. + (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR. + * modules/string (string.h): Also substitute GNULIB_MBSCASESTR. + Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR. + * modules/strcasestr (Files): Remove m4/mbrtowc.m4. + (Depends-on): Remove mbuiter. + * MODULES.html.sh (Internationalization functions): Add mbscasestr. - * modules/unistr/u32-to-u8: New file. - * lib/unistr/u32-to-u8.c: New file. +2007-02-04 Bruno Haible - * modules/unistr/u32-to-u16: New file. - * lib/unistr/u32-to-u16.c: New file. + Simplify handling of strncasecmp. + * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change + the conditional link warning. + * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize + HAVE_STRCASECMP, not REPLACE_STRCASECMP. + (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE. + * modules/strcase (configure.ac): Don't invoke + gl_STRING_MODULE_INDICATOR. + * modules/string (string.h): Don't substitute GNULIB_STRCASE. - * modules/unistr/u8-check: New file. - * modules/unistr/u16-check: New file. - * modules/unistr/u32-check: New file. - * lib/unistr/u8-check.c: New file. - * lib/unistr/u16-check.c: New file. - * lib/unistr/u32-check.c: New file. +2007-02-04 Bruno Haible - * modules/unistr/u8-chr: New file. - * modules/unistr/u16-chr: New file. - * modules/unistr/u32-chr: New file. - * lib/unistr/u8-chr.c: New file. - * lib/unistr/u16-chr.c: New file. - * lib/unistr/u32-chr.c: New file. + New module mbscasecmp, reduced goal of strcasecmp. + * modules/mbscasecmp: New file. + * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c. + (mbscasecmp): Renamed from strcasecmp. + * lib/strcasecmp.c: Don't include mbuiter.h. + (strcasecmp): Remove support for multibyte locales. + * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing. + Change the conditional link warning. + (mbscasecmp): New declaration. + * m4/mbscasecmp.m4: New file. + * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if + the system lacks strcasecmp. Set HAVE_STRCASECMP instead of + REPLACE_STRCASECMP. + (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize + GNULIB_MBSCASECMP. + * modules/string (string.h): Also substitute GNULIB_MBSCASECMP. + Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP. + * modules/strcase (Files): Remove m4/mbrtowc.m4. + (Depends-on): Remove mbuiter. + * MODULES.html.sh (Internationalization functions): Add mbscasecmp. - * modules/unistr/u8-cmp: New file. - * modules/unistr/u16-cmp: New file. - * modules/unistr/u32-cmp: New file. - * lib/unistr/u8-cmp.c: New file. - * lib/unistr/u16-cmp.c: New file. - * lib/unistr/u32-cmp.c: New file. +2007-02-04 Bruno Haible - * modules/unistr/u8-cpy: New file. - * modules/unistr/u16-cpy: New file. - * modules/unistr/u32-cpy: New file. - * lib/unistr/u8-cpy.c: New file. - * lib/unistr/u16-cpy.c: New file. - * lib/unistr/u32-cpy.c: New file. - * lib/unistr/u-cpy.h: New file. + New module mbsstr. Remove module strstr. + * modules/mbsstr: New file. + * modules/strstr: Remove file. + * lib/mbsstr.c: Renamed from lib/strstr.c. + (mbsstr): Renamed from strstr. + * lib/string_.h (strstr): Remove declaration. Change the conditional + link warning. + (mbsstr): New declaration. + * m4/mbsstr.m4: New file. + * m4/strstr.m4: Remove file. + * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize + REPLACE_STRSTR. + (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR. + Don't initialize GNULIB_STRSTR. + * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't + substitute GNULIB_STRSTR and REPLACE_STRSTR. + * MODULES.html.sh (Internationalization functions): Add mbsstr. + (Support for systems lacking ANSI C 89): Remove strstr. - * modules/unistr/u8-cpy-alloc: New file. - * modules/unistr/u16-cpy-alloc: New file. - * modules/unistr/u32-cpy-alloc: New file. - * lib/unistr/u8-cpy-alloc.c: New file. - * lib/unistr/u16-cpy-alloc.c: New file. - * lib/unistr/u32-cpy-alloc.c: New file. - * lib/unistr/u-cpy-alloc.h: New file. +2007-02-04 Bruno Haible - * modules/unistr/u8-endswith: New file. - * modules/unistr/u16-endswith: New file. - * modules/unistr/u32-endswith: New file. - * lib/unistr/u8-endswith.c: New file. - * lib/unistr/u16-endswith.c: New file. - * lib/unistr/u32-endswith.c: New file. - * lib/unistr/u-endswith.h: New file. + New module mbsrchr. + * modules/mbsrchr: New file. + * lib/mbsrchr.c: New file. + * lib/string_.h (strrchr): Add a conditional link warning. + (mbsrchr): New declaration. + * m4/mbsrchr.m4: New file. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize + GNULIB_MBSRCHR. + * modules/string (string.h): Also substitute GNULIB_MBSRCHR. + * MODULES.html.sh (Internationalization functions): Add mbsrchr. - * modules/unistr/u8-mblen: New file. - * modules/unistr/u16-mblen: New file. - * modules/unistr/u32-mblen: New file. - * lib/unistr/u8-mblen.c: New file. - * lib/unistr/u16-mblen.c: New file. - * lib/unistr/u32-mblen.c: New file. +2007-02-04 Bruno Haible - * modules/unistr/u8-mbtouc: New file. - * modules/unistr/u16-mbtouc: New file. - * modules/unistr/u32-mbtouc: New file. - * lib/unistr/u8-mbtouc.c: New file. - * lib/unistr/u16-mbtouc.c: New file. - * lib/unistr/u32-mbtouc.c: New file. + New module mbschr. + * modules/mbschr: New file. + * lib/mbschr.c: New file. + * lib/string_.h (strchr): Add a conditional link warning. + (mbschr): New declaration. + * m4/mbschr.m4: New file. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize + GNULIB_MBSCHR. + * modules/string (string.h): Also substitute GNULIB_MBSCHR. + * MODULES.html.sh (Internationalization functions): Add mbschr. - * modules/unistr/u8-mbtouc-safe: New file. - * modules/unistr/u16-mbtouc-safe: New file. - * modules/unistr/u32-mbtouc-safe: New file. - * lib/unistr/u8-mbtouc-safe.c: New file. - * lib/unistr/u16-mbtouc-safe.c: New file. - * lib/unistr/u32-mbtouc-safe.c: New file. +2007-02-04 Paul Eggert - * modules/unistr/u8-move: New file. - * modules/unistr/u16-move: New file. - * modules/unistr/u32-move: New file. - * lib/unistr/u8-move.c: New file. - * lib/unistr/u16-move.c: New file. - * lib/unistr/u32-move.c: New file. - * lib/unistr/u-move.h: New file. + * lib/stdbool_.h: Mention that bool bit-fields aren't supported. - * modules/unistr/u8-next: New file. - * modules/unistr/u16-next: New file. - * modules/unistr/u32-next: New file. - * lib/unistr/u8-next.c: New file. - * lib/unistr/u16-next.c: New file. - * lib/unistr/u32-next.c: New file. + * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC. - * modules/unistr/u8-prev: New file. - * modules/unistr/u16-prev: New file. - * modules/unistr/u32-prev: New file. - * lib/unistr/u8-prev.c: New file. - * lib/unistr/u16-prev.c: New file. - * lib/unistr/u32-prev.c: New file. +2007-02-04 Bruno Haible - * modules/unistr/u8-set: New file. - * modules/unistr/u16-set: New file. - * modules/unistr/u32-set: New file. - * lib/unistr/u8-set.c: New file. - * lib/unistr/u16-set.c: New file. - * lib/unistr/u32-set.c: New file. - * lib/unistr/u-set.h: New file. + New module description section 'configure.ac-early'. + * gnulib-tool (sed_extract_prog): Recognize configure.ac-early. + (func_get_autoconf_early_snippet): New function. + (func_import, func_create_testdir): Use it. Remove special cases for + modules 'extensions' and 'lock'. + * modules/extensions (configure.ac-early): Require + gl_USE_SYSTEM_EXTENSIONS. + * modules/lock (configure.ac-early): Require gl_LOCK_EARLY. - * modules/unistr/u8-startswith: New file. - * modules/unistr/u16-startswith: New file. - * modules/unistr/u32-startswith: New file. - * lib/unistr/u8-startswith.c: New file. - * lib/unistr/u16-startswith.c: New file. - * lib/unistr/u32-startswith.c: New file. - * lib/unistr/u-startswith.h: New file. +2007-02-04 Bruno Haible - * modules/unistr/u8-stpcpy: New file. - * modules/unistr/u16-stpcpy: New file. - * modules/unistr/u32-stpcpy: New file. - * lib/unistr/u8-stpcpy.c: New file. - * lib/unistr/u16-stpcpy.c: New file. - * lib/unistr/u32-stpcpy.c: New file. - * lib/unistr/u-stpcpy.h: New file. + Make use of gcj-4.3's -fsource and -ftarget option. + * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3, + and if so try the options -fsource and -ftarget. + * lib/javacomp.c (compile_using_gcj): Add fsource_option, + source_version, ftarget_option, target_version arguments. + (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions. + (is_envjavac_oldgcj_14_14_usable): Renamed from + is_envjavac_gcj_14_14_usable. + (is_envjavac_oldgcj_14_13_usable): Renamed from + is_envjavac_gcj_14_13_usable. + (is_gcj_present): Update. + (is_gcj_43, is_gcj43_usable): New functions. + (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update. + (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update. + (compile_java_class): Test whether gcj is in version >= 4.3, and if so + try the options -fsource and -ftarget. - * modules/unistr/u8-stpncpy: New file. - * modules/unistr/u16-stpncpy: New file. - * modules/unistr/u32-stpncpy: New file. - * lib/unistr/u8-stpncpy.c: New file. - * lib/unistr/u16-stpncpy.c: New file. - * lib/unistr/u32-stpncpy.c: New file. - * lib/unistr/u-stpncpy.h: New file. +2007-02-03 Paul Eggert - * modules/unistr/u8-strcat: New file. - * modules/unistr/u16-strcat: New file. - * modules/unistr/u32-strcat: New file. - * lib/unistr/u8-strcat.c: New file. - * lib/unistr/u16-strcat.c: New file. - * lib/unistr/u32-strcat.c: New file. - * lib/unistr/u-strcat.h: New file. + * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow + checking code. Set N = ceil (1.5 * N) rather than to a slightly + larger value. - * modules/unistr/u8-strchr: New file. - * modules/unistr/u16-strchr: New file. - * modules/unistr/u32-strchr: New file. - * lib/unistr/u8-strchr.c: New file. - * lib/unistr/u16-strchr.c: New file. - * lib/unistr/u32-strchr.c: New file. +2007-02-03 Jim Meyering - * modules/unistr/u8-strcmp: New file. - * modules/unistr/u16-strcmp: New file. - * modules/unistr/u32-strcmp: New file. - * lib/unistr/u8-strcmp.c: New file. - * lib/unistr/u16-strcmp.c: New file. - * lib/unistr/u32-strcmp.c: New file. + Give tools a better chance to allocate space for very large buffers. + * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor. - * modules/unistr/u8-strcpy: New file. - * modules/unistr/u16-strcpy: New file. - * modules/unistr/u32-strcpy: New file. - * lib/unistr/u8-strcpy.c: New file. - * lib/unistr/u16-strcpy.c: New file. - * lib/unistr/u32-strcpy.c: New file. - * lib/unistr/u-strcpy.h: New file. + Make pwd and readlink work also when run with an unreadable parent dir + on systems with openat support. + * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system + provided getcwd function, even when we have openat support. + Reported by Dmitry V. Levin in . - * modules/unistr/u8-strcspn: New file. - * modules/unistr/u16-strcspn: New file. - * modules/unistr/u32-strcspn: New file. - * lib/unistr/u8-strcspn.c: New file. - * lib/unistr/u16-strcspn.c: New file. - * lib/unistr/u32-strcspn.c: New file. - * lib/unistr/u-strcspn.h: New file. +2007-02-02 Bruno Haible - * modules/unistr/u8-strdup: New file. - * modules/unistr/u16-strdup: New file. - * modules/unistr/u32-strdup: New file. - * lib/unistr/u8-strdup.c: New file. - * lib/unistr/u16-strdup.c: New file. - * lib/unistr/u32-strdup.c: New file. - * lib/unistr/u-strdup.h: New file. + * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul, + strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link + error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial + portability problems if one of these functions is only used on specific + platforms. + Reported by Paul Eggert. - * modules/unistr/u8-strlen: New file. - * modules/unistr/u16-strlen: New file. - * modules/unistr/u32-strlen: New file. - * lib/unistr/u8-strlen.c: New file. - * lib/unistr/u16-strlen.c: New file. - * lib/unistr/u32-strlen.c: New file. - * lib/unistr/u-strlen.h: New file. +2007-02-02 Paul Eggert - * modules/unistr/u8-strmblen: New file. - * modules/unistr/u16-strmblen: New file. - * modules/unistr/u32-strmblen: New file. - * lib/unistr/u8-strmblen.c: New file. - * lib/unistr/u16-strmblen.c: New file. - * lib/unistr/u32-strmblen.c: New file. + Avoid mempcpy in the regex code, as the string.h mempcpy stuff + is causing more trouble than it's curing. + * lib/regex_internal.h (__mempcpy): Remove. + * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy + (and make the code a tad smaller to boot). + * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy. - * modules/unistr/u8-strmbtouc: New file. - * modules/unistr/u16-strmbtouc: New file. - * modules/unistr/u32-strmbtouc: New file. - * lib/unistr/u8-strmbtouc.c: New file. - * lib/unistr/u16-strmbtouc.c: New file. - * lib/unistr/u32-strmbtouc.c: New file. +2007-02-02 Jim Meyering - * modules/unistr/u8-strncat: New file. - * modules/unistr/u16-strncat: New file. - * modules/unistr/u32-strncat: New file. - * lib/unistr/u8-strncat.c: New file. - * lib/unistr/u16-strncat.c: New file. - * lib/unistr/u32-strncat.c: New file. - * lib/unistr/u-strncat.h: New file. + * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac: + section, not in the Makefile.am: one. - * modules/unistr/u8-strncmp: New file. - * modules/unistr/u16-strncmp: New file. - * modules/unistr/u32-strncmp: New file. - * lib/unistr/u8-strncmp.c: New file. - * lib/unistr/u16-strncmp.c: New file. - * lib/unistr/u32-strncmp.c: New file. +2007-02-02 Eric Blake - * modules/unistr/u8-strncpy: New file. - * modules/unistr/u16-strncpy: New file. - * modules/unistr/u32-strncpy: New file. - * lib/unistr/u8-strncpy.c: New file. - * lib/unistr/u16-strncpy.c: New file. - * lib/unistr/u32-strncpy.c: New file. - * lib/unistr/u-strncpy.h: New file. + * lib/strchrnul.c: Always include config.h first. - * modules/unistr/u8-strnlen: New file. - * modules/unistr/u16-strnlen: New file. - * modules/unistr/u32-strnlen: New file. - * lib/unistr/u8-strnlen.c: New file. - * lib/unistr/u16-strnlen.c: New file. - * lib/unistr/u32-strnlen.c: New file. - * lib/unistr/u-strnlen.h: New file. + * modules/mountlist (Depends-on): Revert 2007-01-31 change, + gnulib strstr is not necessary here. - * modules/unistr/u8-strpbrk: New file. - * modules/unistr/u16-strpbrk: New file. - * modules/unistr/u32-strpbrk: New file. - * lib/unistr/u8-strpbrk.c: New file. - * lib/unistr/u16-strpbrk.c: New file. - * lib/unistr/u32-strpbrk.c: New file. - * lib/unistr/u-strpbrk.h: New file. +2007-02-02 Simon Josefsson - * modules/unistr/u8-strrchr: New file. - * modules/unistr/u16-strrchr: New file. - * modules/unistr/u32-strrchr: New file. - * lib/unistr/u8-strrchr.c: New file. - * lib/unistr/u16-strrchr.c: New file. - * lib/unistr/u32-strrchr.c: New file. + * m4/socklen.m4: Fix typo. - * modules/unistr/u8-strspn: New file. - * modules/unistr/u16-strspn: New file. - * modules/unistr/u32-strspn: New file. - * lib/unistr/u8-strspn.c: New file. - * lib/unistr/u16-strspn.c: New file. - * lib/unistr/u32-strspn.c: New file. - * lib/unistr/u-strspn.h: New file. +2007-02-02 Eric Blake - * modules/unistr/u8-strstr: New file. - * modules/unistr/u16-strstr: New file. - * modules/unistr/u32-strstr: New file. - * lib/unistr/u8-strstr.c: New file. - * lib/unistr/u16-strstr.c: New file. - * lib/unistr/u32-strstr.c: New file. - * lib/unistr/u-strstr.h: New file. + * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races. + * modules/netinet_in (Makefile.am): Likewise. - * modules/unistr/u8-strtok: New file. - * modules/unistr/u16-strtok: New file. - * modules/unistr/u32-strtok: New file. - * lib/unistr/u8-strtok.c: New file. - * lib/unistr/u16-strtok.c: New file. - * lib/unistr/u32-strtok.c: New file. - * lib/unistr/u-strtok.h: New file. +2007-02-01 Bruno Haible - * modules/unistr/u8-uctomb: New file. - * modules/unistr/u16-uctomb: New file. - * modules/unistr/u32-uctomb: New file. - * lib/unistr/u8-uctomb.c: New file. - * lib/unistr/u16-uctomb.c: New file. - * lib/unistr/u32-uctomb.c: New file. + * lib/string_.h (GL_LINK_WARNING): New macro. + (strcasecmp, strstr, strcasestr): If provided by the system, + conditionally define as a macro that leads to a warning instead of to + an error. + (strncasecmp): Conditionally define as a macro that leads to a warning. - * MODULES.html.sh (Unicode string functions): Add the new modules. +2007-02-01 Karl Berry -2007-01-08 Bruno Haible + * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h. - * gnulib-tool (func_all_modules): Use find, not ls, to traverse the - modules directory. Filter out CVS, ChangeLog, COPYING, README also from - subdirectories. +2007-02-01 Bruno Haible -2007-01-08 Karl Berry + * MODULES.html.sh (Unicode string functions): Update after 2007-01-27 + renamings. - * doc/error.texi: mention that main() fns must set program_name - when progname is used. +2007-02-01 Eric Blake -2007-01-08 Paul Eggert + * modules/regex (Depends-on): Revert dependence on mempcpy. + * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string + module's definition of mempcpy. + Reported by Paul Eggert. - * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if - WCTYPE_H is empty, for the benefit of builds from non-distclean - directories. Problem reported by Eric Blake in - . +2007-02-01 Paul Eggert -2007-01-08 Bruno Haible + * lib/string_.h: If the gnulib module XYZ is not present, undefine + the symbol XYZ before redefining it. This fixes a problem with + programs that don't use XYZ, when compiled on systems that define + XYZ to something else. - * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove - PROVIDE_CANONICALIZE_FILENAME_MODE macro definition. - * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of - PROVIDE_CANONICALIZE_FILENAME_MODE. - * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR. +2007-01-31 Paul Eggert -2007-01-08 Bruno Haible + * lib/mkdir-p.c (make_dir_parents): Close a race condition that + occurs when "mkdir -m foo" creates a setgid directory that is (1) + writeable to group or other and (2) is intended to have a special + mode bit that is set or cleared. In such a case, the directory + should be neither group- nor other-writeable until the special + mode bits are right. - * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition. - * lib/fts_.h (_LGPL_PACKAGE): Remove macro. - Use !GNULIB_FTS instead of _LGPL_PACKAGE. - * lib/fts.c: Likewise. - * modules/fts (configure.ac): Use gl_MODULE_INDICATOR. +2007-01-31 Eric Blake -2006-12-25 Bruno Haible + * modules/mountlist (Depends-on): Add strstr. - * modules/utf8-ucs4-safe: New file. - * lib/utf8-ucs4-safe.h: New file. - * lib/unistr/utf8-ucs4-safe.c: New file. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage + bug. + * modules/string (Makefile.am): Remove redundant replacement. + * modules/regex (Depends-on): Add mempcpy. - * modules/utf16-ucs4-safe: New file. - * lib/utf16-ucs4-safe.h: New file. - * lib/unistr/utf16-ucs4-safe.c: New file. +2007-01-31 Bruno Haible - * MODULES.html.sh (Unicode string functions): Add the new modules. + New module description field 'Link'. + * gnulib-tool (func_usage): Document --extract-link-directive. + (sed_extract_prog): Recognize 'Link' directive. + (func_get_link_directive): New function. + (func_import): Show summary of link directives. + Handle --extract-link-directive option. + * modules/acl (Link): New section. + * modules/clock-time (Link): New section. + * modules/euidaccess (Link): New section. + * modules/gettext (Link): New section. + * modules/iconv (Link): New section. + * modules/lock (Link): New section. + * modules/nanosleep (Link): New section. + * modules/readline (Link): New section. -2007-01-08 Bruno Haible +2007-01-27 Bruno Haible - * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c. - (Depends-on): Add unitypes. - * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h. - (u8_mbtouc_aux): Move out to separate file. - (u8_mbtouc): Use ucs4_t, uint8_t types. - * lib/unistr/utf8-ucs4.c: New file. + Enforce the use of gnulib modules for unportable functions. + * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro. + (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro. + (gl_HEADER_STRING_H_BODY): Require it. + * lib/string_.h: If the gnulib module XYZ is not present, redefine + the symbol XYZ to one that gives a link error. + * modules/string (Makefile.am): Also substitute the GNULIB_* variables. + * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR. + * modules/mempcpy (configure.ac): Likewise. + * modules/memrchr (configure.ac): Likewise. + * modules/stpcpy (configure.ac): Likewise. + * modules/stpncpy (configure.ac): Likewise. + * modules/strcase (configure.ac): Likewise. + * modules/strcasestr (configure.ac): Likewise. + * modules/strchrnul (configure.ac): Likewise. + * modules/strdup (configure.ac): Likewise. + * modules/strndup (configure.ac): Likewise. + * modules/strnlen (configure.ac): Likewise. + * modules/strpbrk (configure.ac): Likewise. + * modules/strsep (configure.ac): Likewise. + * modules/strstr (configure.ac): Likewise. + * modules/strtok_r (configure.ac): Likewise. - * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c. - (Depends-on): Add unitypes. - * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h. - (u16_mbtouc_aux): Move out to separate file. - (u16_mbtouc): Use ucs4_t, uint16_t types. - * lib/unistr/utf16-ucs4.c: New file. +2007-01-31 Jean-Louis Martineau (tiny change) - * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c. - (Depends-on): Add unitypes. - * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h. - (u8_uctomb_aux): Move out to separate file. - (u8_uctomb): Use ucs4_t, uint8_t types. - * lib/unistr/ucs4-utf8.c: New file. + * lib/gai_strerror.c (values): Add EAI_OVERFLOW. - * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c. - (Depends-on): Add unitypes. - * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h. - (u16_uctomb_aux): Move out to separate file. - (u16_uctomb): Use ucs4_t, uint16_t types. - * lib/unistr/ucs4-utf16.c: New file. +2007-01-30 Jim Meyering -2006-12-25 Bruno Haible + * lib/mpsort.c (mpsort): Remove spurious "return" in void function. - * modules/unitypes: New file. - * lib/unitypes.h: New file. - * MODULES.html.sh (func_all_modules): New section "Unicode string - functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to - this section. Add unitypes. +2007-01-29 Bruno Haible -2007-01-08 Bruno Haible + * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'. + * lib/execute.c: Likewise. + * lib/pipe.c: Likewise. + * lib/printf-args.h: Likewise. + * lib/printf-args.c: Likewise. + * lib/printf-parse.c: Likewise. + * lib/vasnprintf.c: Likewise. - Avoid variable names that conflict with those from libtool. - * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY, - AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext, - shlibext to acl_shlibext, libname_spec to acl_libname_spec, - library_names_spec to acl_library_names_spec, hardcode_* to - acl_hardcode_*. - Reported by Ralf Wildenhues. +2007-01-29 Eric Blake -2007-01-08 Bruno Haible + * lib/memrchr.c: Assume unconditionally, to pull in + declaration. - * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro - definition. - * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro - definition. - * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition. - * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro - definition. - * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro - definition. - * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition. - * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition. - * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition. - * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro - definition. - * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro - definition. - * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition. - * lib/gc-gnulib.c: Use GNULIB_GC_ instead of - GC_USE_. - * lib/gc-libgcrypt.c: Likewise. - * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR. - * modules/gc-arctwo (configure.ac): Likewise. - * modules/gc-des (configure.ac): Likewise. - * modules/gc-hmac-md5 (configure.ac): Likewise. - * modules/gc-hmac-sha1 (configure.ac): Likewise. - * modules/gc-md2 (configure.ac): Likewise. - * modules/gc-md4 (configure.ac): Likewise. - * modules/gc-md5 (configure.ac): Likewise. - * modules/gc-random (configure.ac): Likewise. - * modules/gc-rijndael (configure.ac): Likewise. - * modules/gc-sha1 (configure.ac): Likewise. +2007-01-29 Paul Eggert -2007-01-08 Bruno Haible + * lib/strptime.h (strptime): Use 'restrict' for args where + POSIX requires this. + * lib/strptime.c (strptime): Likewise. + Change license notice from LGPL to GPL, since gnulib-tool will + change this as needed. + Include if _LIBC is not defined, not if HAVE_CONFIG_H is + defined. + Include "strptime.h" first, to check interface. + Do not #undef _LIBC and _NL_CURRENT. + Do not include ; no longer needed. + Include "time_r.h" and declare ptime_locale_status + only if _LIBC is not defined. + (__P): Remove unused macro. + (match_string): Bring back glibc version, but use it only if _LIBC + is defined. + (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too. + Remove unnecessary assertion and abort() call. + Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc. + * m4/strptime.m4: Fix serial number comment. + (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF. + * modules/strptime (Files): Add m4/tm_gmtoff.m4. + (Depends-on): Add time_r. - * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM - macro definition. - * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro - definition. - * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro - definition. - * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR. - * modules/fcntl-safer (configure.ac): Likewise. - * modules/fopen-safer (configure.ac): Likewise. - * modules/fwriteerror (configure.ac): Likewise. Remove explicit - GNULIB_FWRITEERROR macro definition. +2007-01-29 Bruno Haible -2007-01-08 Bruno Haible + * MODULES.html.sh (Support for systems lacking POSIX:2001): Add + strptime. + * modules/strptime (Depends-on): Add stdbool. + * lib/strptime.h: Include always. Add comments. - * m4/gnulib-common.m4: New file. - * gnulib-tool (func_get_autoconf_snippet): Undo last change. - (func_get_filelist): Add m4/gnulib-common.m4. +2007-01-29 Yoann Vandoorselaere -2007-01-08 Bruno Haible + * modules/strptime: New file. + * lib/strptime.h: New file. + * lib/strptime.c: New file. + * m4/strptime.m4: New file. - * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting - command. +2007-01-28 Paul Eggert -2007-01-08 Jim Meyering + * MODULES.html.sh: New module mpsort. + * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files. - Use a more robust test for a "can't happen" condition. - * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it - narrowed the st_size value. Presuming the "can't happen" condition - is true, that narrowing could conceivably convert an invalid st_size - value into a valid one. Instead, use a change based on Matthew - Woehlke's original patch. + * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid + a circularity problem with HP-UX ia64 reported by Bob Proulx in + . + All uses changed. + (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons. + All uses changed. + * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict + to _Restrict_. + * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that + the parameter matches the prototype. - Slight readability improvement: use an assert-like macro - in place of literal "abort ()" uses. - * lib/fts.c (fts_assert): Define. - (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check): - Use this macro instead of a bare 'abort'. +2007-01-28 Jim Meyering -2007-01-05 Paul Eggert + * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use + sys/time.h here, reverting that part of the previous patch: + . - Don't worry about using IRIX 5.3's wctype.h broken definitions; - simply work around them. - * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG. - (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower): - (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before declaring. - Don't bother to define as macros, since the standard doesn't require it. - * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no - longer worry about IRIX 5.3. - (HAVE_WCTYPE_CTMP_BUG): Remove. +2007-01-28 Bruno Haible -2007-01-04 Paul Eggert + * modules/sys_time (Makefile.am): Build sys/time.h only when it's the + value of $(SYS_TIME_H). + [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed, + remove it conditionally, too. [added by Jim Meyering] + * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H. + * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): + (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting + GETTIMEOFDAY_REPLACEMENT to 1. - * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t, - not wint_t. Also, include , to fix another IRIX bug. - * m4/wctype.m4 (gl_WCTYPE_H): Likewise. - Problems reported by Georg Schwarz for IRIX 5.3. +2007-01-28 Bruno Haible - * gnulib-tool (autoconf_minversion): Take the maximum version number - found, not the minimum. Problem reported by James Youngman. + * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro. + (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here. + * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS. + Set UNISTD_H instead of UNISTD_H2. + * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2). -2007-01-03 Karl Berry +2007-01-28 Bruno Haible - * doc/error.texi: new file, explaining interaction with progname. - * doc/gnulib.texi: include it. Update copyright. + * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES. + * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation. -2007-01-03 Simon Josefsson +2007-01-28 Ralf Wildenhues - * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and - AC_CANONICAL_HOST, to improve autobuild outputs. + * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update) + (func_create_testdir): Ensure C locale for `grep' and `tr' + character ranges. + (func_create_megatestdir): Avoid one `grep'. Fix bug in + ACLOCAL_AMFLAGS parsing state machine. -2007-01-03 Paolo Bonzini - Yoann Vandoorselaere +2007-01-27 Bruno Haible - * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected - sockets, server sockets, and other file descriptors. Count errors - to compute the return value. Reorder the code a bit to be easier - to follow. Don't set event bits that were not requested (except - POLLERR and POLLHUP). + * modules/unistr/base: Update. -2007-01-01 Bruno Haible +2007-01-27 Bruno Haible - * modules/lchmod (Include): Require lchmod.h, not lchown.h. + Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc, + u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc. + * modules/unistr/u32-mbtouc-unsafe: Renamed from + modules/unistr/u32-mbtouc. + * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c. + * lib/unistr.h: Update. + * lib/linebreak.c: Update. + * modules/unistr/u32-mbtouc: Renamed from + modules/unistr/u32-mbtouc-safe. + * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c. + * lib/unistr.h: Update. + * lib/unistr/u32-to-u8.c: Update. + * lib/unistr/u32-to-u16.c: Update. -2007-01-03 Jim Meyering +2007-01-27 Bruno Haible - * modules/fts-lgpl (Depends-on): Add i-ring. Reported by Bruno Haible. + Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4, + u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc. + * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4. + * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h. + * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c. + * modules/unistr/u16-mbtouc-unsafe: Renamed from + modules/unistr/u16-mbtouc. + * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c. + * lib/unistr.h: Update. + * lib/linebreak.c: Update. + * modules/linebreak: Update. + * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe. + * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h. + * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c. + * modules/unistr/u16-mbtouc: Renamed from + modules/unistr/u16-mbtouc-safe. + * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c. + * lib/unistr.h: Update. + * lib/unistr/u16-to-u8.c: Update. + * modules/unistr/u16-to-u8: Update. + * lib/unistr/u16-to-u32.c: Update. + * modules/unistr/u16-to-u32: Update. -2007-01-02 Bruno Haible +2007-01-27 Bruno Haible - * modules/settime (Include): Require timespec.h. - * modules/nanosleep (Include): Likewise. + Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4, + u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc. + * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4. + * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h. + * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c. + * modules/unistr/u8-mbtouc-unsafe: Renamed from + modules/unistr/u8-mbtouc. + * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c. + * lib/unistr.h: Update. + * lib/striconveh.c: Update. + * modules/striconveh: Update. + * lib/linebreak.c: Update. + * modules/linebreak: Update. + * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe. + * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h. + * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c. + * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe. + * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c. + * lib/unistr.h: Update. + * lib/striconveh.c: Update. + * modules/striconveh: Update. + * lib/unistr/u8-to-u16.c: Update. + * modules/unistr/u8-to-u16: Update. + * lib/unistr/u8-to-u32.c: Update. + * modules/unistr/u8-to-u32: Update. -2007-01-01 Bruno Haible +2007-01-27 Ralf Wildenhues - * gnulib-tool (func_emit_copyright_notice): Bump year. - (func_get_autoconf_snippet): Emit a GNULIB_ macro. + Sync from Libtool. + * lib/argz.c: Do not include strings.h nor memory.h, include + string.h unconditionally. Patch by Simon Josefsson. -2007-01-01 Bruno Haible +2007-01-27 Bruno Haible - Improve support for OpenBSD. - * build-aux/config.rpath (libname_spec): Export. - (library_names_spec): New variable. Export. - * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and - library_names_spec from the config.rpath output. Locate shared library - through the name pattern in library_names_spec. + * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted + from gl_HEADER_STRING_H_BODY. + (gl_HEADER_STRING_H_BODY): Require it. + * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS. + * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise. + * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise. + * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise. + * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise. + * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise. + * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise. + * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise. + * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise. + * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise. + * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise. + * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise. + * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise. + * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise. + * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise. -2007-01-01 Eric Blake +2007-01-27 Bruno Haible - * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year. + * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn + check_PROGRAMS into noinst_PROGRAMS. + (func_emit_tests_Makefile_am): Likewise. Also don't initialize + check_PROGRAMS in this case. + (func_import): Set for_test to false. + (func_create_testdir): Set for_test to true. -2006-12-30 Paul Eggert +2007-01-27 Yoann Vandoorselaere + Bruno Haible - * gnulib-tool (SORT): Remove, since we no longer assume GNU sort. - Rewrite so as not to assume GNU sort or "tail -1". Also, don't - assume the C locale, and avoid an "eval" that could cause trouble. - Problem with SORT reported by Bob Proulx. + * modules/strcasestr (Files): Remove lib/strcasestr.h. + (Depends-on): Add string. + (Includes): Use instead of strcasestr.h. + * modules/string (Makefile.am): Also substitute the value of + REPLACE_STRCASESTR. + * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here; + assume strcasestr is declared in not . Also + set REPLACE_STRCASESTR. + * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for + REPLACE_STRCASESTR. + * lib/strcasestr.h: Remove file. + * lib/strcasestr.c: Include instead of strcasestr.h. + * lib/string_.h (strcasestr): New declaration. - * lib/getpagesize.h (getpagesize) [defined __amigaos4__]: - Define. Trivial patch from Henning Nielsen Lund, originally - sent to bug-grep@gnu.org today. +2007-01-27 Bruno Haible -2006-12-29 Paul Eggert + * lib/string_.h: Use 'extern'. - * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and - struct stat. Problem reported by Henning Nielsen Lund. - * lib/acl.c: Include acl.h first, to check interface. Don't - bother to include sys/types.h and sys/stat.h again. +2007-01-27 Jim Meyering -2006-12-28 Paul Eggert + * lib/regex_internal.c (re_string_reconstruct): Remove declaration + of set-but-not-used local, "q". - Import the following change from libc; problem reported by - Sven Verdoolaege. + * lib/mempcpy.c: Include before . + This fixes a compilation error on HP-UX, due to the system's + "restrict"-using mempcpy prototype. - 2005-10-13 Ulrich Drepper +2007-01-26 Bruno Haible - [BZ #1373] - * lib/argp.h: Remove __NTH for __argp_usage inline function. + Small optimization. + * lib/javacomp.c: Include c-strstr.h. + (is_envjavac_gcj): Use c_strstr instead of strstr. + * modules/javacomp (Depends-on): Add c-strstr, remove strstr. -2006-12-28 Jim Meyering +2007-01-26 Bruno Haible - * build-aux/announce-gen: Do not assume that the package - builds any of tar.gz, tar.bz2, and .xdelta files. - Suggestion from Simon Josefsson. + * MODULES.html.sh (Unicode string functions): Add the new modules. -2006-12-28 Simon Josefsson + * modules/uniconv/u32-strconv-to-locale: New file. + * lib/uniconv/u32-strconv-to-locale.c: New file. - * modules/announce-gen: New file. + * modules/uniconv/u16-strconv-to-locale: New file. + * lib/uniconv/u16-strconv-to-locale.c: New file. -2006-12-27 Paul Eggert + * modules/uniconv/u8-strconv-to-locale: New file. + * lib/uniconv/u8-strconv-to-locale.c: New file. - * lib/mbchar.h: Just include ; the wctype module - handles its gotchas now. - * lib/mbswidth.c: Likewise. - * lib/wcwidth.h: Likewise. - * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h - and iswcntrl; the wctype module does this stuff now. - * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise. - * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise. - * modules/mbchar (Depends-on): Add wctype. - * modules/mbswidth (Depends-on): Likewise. - * modules/wcwidth (Depends-on): Likewise. + * modules/uniconv/u32-strconv-from-locale: New file. + * lib/uniconv/u32-strconv-from-locale.c: New file. -2006-12-27 Eric Blake + * modules/uniconv/u16-strconv-from-locale: New file. + * lib/uniconv/u16-strconv-from-locale.c: New file. - * lib/fnmatch.c: Reinstate inclusion of , since this - module uses more than what is required to provide. + * modules/uniconv/u8-strconv-from-locale: New file. + * lib/uniconv/u8-strconv-from-locale.c: New file. -2006-12-26 Eric Blake + * modules/uniconv/u32-strconv-to-enc: New file. + * lib/uniconv/u32-strconv-to-enc.c: New file. + * modules/uniconv/u32-strconv-to-enc-tests: New file. + * tests/uniconv/test-u32-strconv-to-enc.c: New file. - * gnulib-tool (sed_extract_prog): Avoid space-tab. + * modules/uniconv/u16-strconv-to-enc: New file. + * lib/uniconv/u16-strconv-to-enc.c: New file. + * lib/uniconv/u-strconv-to-enc.h: New file. + * modules/uniconv/u16-strconv-to-enc-tests: New file. + * tests/uniconv/test-u16-strconv-to-enc.c: New file. -2006-12-26 Eric Blake + * modules/uniconv/u8-strconv-to-enc: New file. + * lib/uniconv/u8-strconv-to-enc.c: New file. + * modules/uniconv/u8-strconv-to-enc-tests: New file. + * tests/uniconv/test-u8-strconv-to-enc.c: New file. - * modules/absolute-header: New module. - * modules/fcntl (Depends-on): Depend on it. - * modules/inttypes (Depends-on): Likewise. - * modules/stdint (Depends-on): Likewise. - * modules/sys_stat (Depends-on): Likewise. - * modules/wctype (Depends-on): Likewise. - * MODULES.html.sh (Support for building libraries and - executables): Document it. + * modules/uniconv/u32-strconv-from-enc: New file. + * lib/uniconv/u32-strconv-from-enc.c: New file. + * modules/uniconv/u32-strconv-from-enc-tests: New file. + * tests/uniconv/test-u32-strconv-from-enc.c: New file. -2006-12-25 Paul Eggert + * modules/uniconv/u16-strconv-from-enc: New file. + * lib/uniconv/u16-strconv-from-enc.c: New file. + * modules/uniconv/u16-strconv-from-enc-tests: New file. + * tests/uniconv/test-u16-strconv-from-enc.c: New file. - * gnulib-tool (SED): Remove, undoing previous change. - The problem was that it broke coreutils on Solaris, because - "sed --posix" leaked into a makefile. - (sed): New alias, if 'alias' and GNU sed. + * modules/uniconv/u8-strconv-from-enc: New file. + * lib/uniconv/u8-strconv-from-enc.c: New file. + * lib/uniconv/u-strconv-from-enc.h: New file. + * modules/uniconv/u8-strconv-from-enc-tests: New file. + * tests/uniconv/test-u8-strconv-from-enc.c: New file. -2006-12-24 Jim Meyering + * modules/uniconv/u32-conv-from-enc: New file. + * lib/uniconv/u32-conv-from-enc.c: New file. + * modules/uniconv/u32-conv-from-enc-tests: New file. + * tests/uniconv/test-u32-conv-from-enc.c: New file. - Work around an fchownat bug in glibc-2.4: - http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html - This bug would cause "chown -RP ... DIR" to follow symlinks in DIR, - in spite of the -P option. - * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG): - New macros. - (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT. - * modules/openat (Files): Add lib/fchownat.c. - * lib/openat.c (fchownat): Don't define here. Move to... - * lib/fchownat.c: ...this new file. - -2006-12-23 Paul Eggert - - Fix bug reported by Bruno Haible in - - where quotearg.c didn't compile on Mac OS X 10.2 because it - lacks and wint_t. - * lib/wctype_.h (__wctype_wint_t): New type. - Include , , only if HAVE_WINT_T. - (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph): - (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit): - Arg is now of type __wctype_wint_t, not wint_t. - * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and - substitute HAVE_WINT_T. - * modules/wctype (Files): Add m4/wint_t.m4. - (wctype.h): Substitute HAVE_WINT_T. + * modules/uniconv/u16-conv-from-enc: New file. + * lib/uniconv/u16-conv-from-enc.c: New file. + * lib/uniconv/u-conv-from-enc.h: New file. + * modules/uniconv/u16-conv-from-enc-tests: New file. + * tests/uniconv/test-u16-conv-from-enc.c: New file. -2006-12-23 Bruno Haible + * modules/uniconv/u8-conv-from-enc: New file. + * lib/uniconv/u8-conv-from-enc.c: New file. + * modules/uniconv/u8-conv-from-enc-tests: New file. + * tests/uniconv/test-u8-conv-from-enc.c: New file. - * lib/safe-read.h [C++]: Wrap declarations in extern "C". + * modules/uniconv/base: New file. + * lib/uniconv.h: New file. -2006-12-23 Bruno Haible +2007-01-26 Paul Eggert - * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of - S_ISLNK. - Needed because gnulib's sys/stat.h replacement defines S_ISLNK on - mingw. + * doc/gnulib-tool.texi (Initial import): Update to match current + behavior with strdup module. + * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h. + * lib/memmem.h: Remove; all uses removed. This is now done + by . + * lib/mempcpy.h: Likewise. + * lib/memrchr.h: Likewise. + * lib/stpcpy.h: Likewise. + * lib/stpncpy.h: Likewise. + * lib/strcase.h: Likewise. + * lib/strchrnul.h: Likewise. + * lib/strdup.h: Likewise. + * lib/strndup.h: Likewise. + * lib/strnlen.h: Likewise. + * lib/strpbrk.h: Likewise. + * lib/strsep.h: Likewise. + * lib/strstr.h: Likewise. + * lib/strtok_r.h: Likewise. + * lib/string_.h: New file. + * lib/argp-namefrob.h: Don't include no-longer-existent include files. + Rely on instead. + * lib/canon-host.c: Likewise. + * lib/chdir-long.c: Likewise. + * lib/concatpath.c: Likewise. + * lib/exclude.c: Likewise. + * lib/fchdir.c: Likewise. + * lib/getaddrinfo.c: Likewise. + * lib/getcwd.c: Likewise. + * lib/getsubopt.c: Likewise. + * lib/glob.c: Likewise. + * lib/hard-locale.c: Likewise. + * lib/iconvme.c: Likewise. + * lib/javacomp.c: Likewise. + * lib/mempcpy.c: Likewise. + * lib/memrchr.c: Likewise. + * lib/regex_internal.h: Likewise. + * lib/stpncpy.c: Likewise. + * lib/strcasecmp.c: Likewise. + * lib/strchrnul.c: Likewise. + * lib/strdup.c: Likewise. + * lib/striconv.c: Likewise. + * lib/striconveh.c: Likewise. + * lib/striconveha.c: Likewise. + * lib/strncasecmp.c: Likewise. + * lib/strndup.c: Likewise. + * lib/strnlen.c: Likewise. + * lib/strsep.c: Likewise. + * lib/strstr.c: Likewise. + * lib/strtok_r.c: Likewise. + * lib/userspec.c: Likewise. + * lib/w32spawn.h: Likewise. + * lib/xstrndup.c: Likewise. + * lib/mountlist.c (strstr): Remove decl. + * m4/string_h.m4: New file. + * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary. + * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary. + * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR + * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary. + * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary. + * m4/strcase.m4 (gl_FUNC_STRCASECMP): + Set REPLACE_STRCASECMP if necessary. + (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary. + * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary. + * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary. + * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and + HAVE_DECL_STRDUP if necessary. + (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl, + since gl_FUNC_STRNDUP does that now. + * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary. + Check for decl here... + (gl_PREREQ_STRNLEN): ... not here. + * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary. + * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary. + * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary. + * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if + necessary. + * modules/string: New file. + * modules/memmem (Files): Remove special-purpose include file. + (Depends-on): Add string. + (Include): Include , not the removed file. + * modules/mempcpy: Likewise. + * modules/memrchr: Likewise. + * modules/stpcpy: Likewise. + * modules/stpncpy: Likewise. + * modules/strcase: Likewise. + * modules/strchrnul: Likewise. + * modules/strdup: Likewise. + * modules/strndup: Likewise. + * modules/strnlen: Likewise. + * modules/strpbrk: Likewise. + * modules/strsep: Likewise. + * modules/strstr: Likewise. + * modules/strtok_r: Likewise. + * tests/test-dirname.c: Don't include "strdup.h", since + now suffices. + * tests/test-memmem.c: Don't include "memmem.h", since + now suffices. -2006-12-22 Bruno Haible +2007-01-25 Bruno Haible - * lib/copy-file.c: Include acl.h. - (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod. - Close the file descriptors only after being done with copy_acl. - * modules/copy-file (Depends-on): Add acl. + * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if + *resultp is 0. -2006-12-22 Bruno Haible + * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation. + * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise. + * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation. + * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise. - * gnulib-tool (SED): New variable. - Use $SED instead of sed everywhere. + * modules/unistr/u8-to-u16 (Depends-on): Add missing modules. + * modules/unistr/u8-to-u32 (Depends-on): Add missing modules. + * modules/unistr/u16-to-u8 (Depends-on): Add missing modules. + * modules/unistr/u16-to-u32 (Depends-on): Add missing modules. + * modules/unistr/u32-to-u8 (Depends-on): Add missing modules. + * modules/unistr/u32-to-u16 (Depends-on): Add missing modules. -2006-12-22 Bruno Haible +2007-01-24 Bruno Haible - * modules/no-c++: New file. - * m4/no-c++.m4: New file. - * MODULES.html.sh (Support for building libraries and executables): - Add no-c++. + Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See + . + * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE. + * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require, + gl_FUNC_FTS_CORE. + (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT. + * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require, + AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. + * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP. + * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME. + * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require, + gl_FUNC_FCHOWNAT. + * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require, + gl_FUNC_STRFTIME. + * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD. + Reported by Ralf Wildenhues. -2006-12-22 Paul Eggert +2007-01-24 Bruno Haible - * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf. - Include , and use its INT_MAX to rewrite the - j loop so that it does not overflow 'int'. Problem reported by - Ralf Wildenhues in - . - Play it safe by shifting left by 1 rather than multiplying by 2, - as GCC is less likely to optimize this away when the value - is signed (when it assumes overflow leads to undefined behavior). - Also, don't assume time_t uses two's complement. + Drop AC_REQUIRE calls that are redundant with the module dependencies. + * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require + gl_GETADDRINFO. + * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H, + gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR. + * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD. -2006-12-21 Paul Eggert +2007-01-24 Paul Eggert - * MODULES.html.sh: New module wctype. - * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files. - * lib/fnmatch.c: Don't bother to include before - , since the new wctype module should fix this. - * lib/quotearg.c: Include unconditionally, since - the wctype module should arrange for it. - * lib/regex_internal.h: Likewise. - * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint, - since the wctype module should handle this now. - * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h. - * modules/fnmatch (Depends-on): Add wctype. - * modules/quotearg (Depends-on): Likewise. - * modules/regex (Depends-on): Likewise. + * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361. + Don't use 'exit'; just return from 'main'. + (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once. -2006-12-19 Bruno Haible + * lib/fnmatch_.h: Readjust white space and comments to match + glibc, to avoid spurious diffs. - * lib/strdup.h [C++]: Wrap definitions in extern "C". - Suggested by Lorenzo Bettini . +2007-01-23 Paul Eggert -2006-12-19 Ralf Wildenhues + * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the + 2004-12-01 change by Jakub Jelinek, since this code won't compile + if !LIBC. Problem reported by Bob Proulx. - * modules/savewd (Depends-on): Fix dependency on fcntl. +2007-01-23 Bruno Haible -2006-12-18 Paul Eggert + * lib/striconveh.c: Include c-strcaseeq.h. + (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp. + * modules/striconveh (Depends-on): Add c-strcaseeq. - * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h - conforms to C99, rather than relying on the user's environment - setting of STDINT_H. +2007-01-23 Bruno Haible -2006-12-18 Paul Eggert - and Eric Blake + * MODULES.html.sh (String handling): Add streq, c-strcaseeq. - * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1. - This is more consistent with the other defines here. - * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): - Port to z/OS. Problem reported by Paul Gilmartin. - Change local vars to use gl_ prefix rather than ac_. - Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency - with other defines. - * modules/double-slash-root: New module. - * modules/dirname (Files): Remove m4/double-slash-root.m4. - (Depends-on): Add double-slash-root. - * MODULES.html.sh (File system functions): Mention new module. + * modules/c-strcaseeq: New file. + * lib/c-strcaseeq.h: New file. -2006-12-14 Paul Eggert + * modules/streq: New file. + * lib/streq.h: New file. - * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h. - (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch. - This is for the benefit of gzip, which doesn't do i18n. +2007-01-23 Bruno Haible -2006-12-12 Jim Meyering + * modules/striconveha-tests: New file. + * tests/test-striconveha.c: New file. - * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error. - Reported by Andreas Schwab . - -2006-12-12 Bruno Haible + * lib/striconveha.h: Include . + (mem_iconveha, str_iconveha): Add 'transliterate' argument. + * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h. + (mem_iconveha_notranslit): Renamed from mem_iconveha. + (mem_iconveha): New function. + (str_iconveha_notranslit): Renamed from str_iconveha. + (str_iconveha): New function. + * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup, + c-strcase. - Merge these changes. - 2006-09-05 Bruno Haible - * lib/iconvme.c (iconv_string): No need to save and restore errno when - iconv_alloc succeeded. - (iconv_alloc): Don't assume that malloc() or realloc(), when failing, - sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to - test for " && dest " at the end - dest is always != NULL there. Call - iconv with 4xNULL arguments initially, to reset the state. Call iconv - with 2xNULL arguments, also to flush the state storage. Handle the - IRIX iconv behaviour. Realloc the final result, to throw away unused - memory. +2007-01-23 Bruno Haible -2006-12-11 Paul Eggert + * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all + encodings without forgiving before trying any encoding with handler. + (str_iconveha): Try all encodings without forgiving before trying any + encoding with handler. - * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat - and fchmodat unconditionally, since glibc 2.4 has them. - Problem reported by Arkadiusz Miskiewicz. +2007-01-23 Paul Eggert -2006-12-10 Bruno Haible + Import the following changes from libc. - * gnulib-tool (func_import): Show the include files only for those - modules that are copied and specified. - Reported by Karl Berry. + 2005-10-14 Ulrich Drepper -2006-12-08 Jim Meyering + * lib/fnmatch_loop.c: Adjust for changed secondary hash function. - * build-aux/announce-gen ($VERSION): Don't use of $Revision...$. - Instead, use Emacs' time-stamp write hook. Note that the time is UTC. + 2004-12-01 Jakub Jelinek - * build-aux/announce-gen: Add two new options, both optional: - --bootstrap-tools=TOOL_LIST - a comma-separated list of tools, e.g., - autoconf,automake,bison,gnulib - --gnulib-snapshot-date=DATE - if gnulib is in the bootstrap tool list, - then report this as the snapshot date. - If not specified, use the current date/time. - If you specify a date here, be sure it's UTC. + * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after + normal_bracket label. -2006-12-05 Ralf Wildenhues + 2004-09-01 Jakub Jelinek - * tests/test-argp-2.sh: Fix test to match actual output. - (func_compare): Fix sed script to be portable. + [BZ #361] + * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch + to normal_bracket after fetching the next character. -2006-12-05 Paul Eggert +2007-01-22 Bruno Haible - * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a - workaround for this case. It is not autoconfigured now; offhand - it's hard to see how to autoconfigure it. + * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets' + argument. + * lib/striconveh.c (iconv_carefully_1): New function. + (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets' + argument. + (str_cd_iconveh): Update. + * lib/striconveha.h (mem_iconveha): Add 'offsets' argument. + * lib/striconveha.c (mem_iconveha): Add 'offsets' argument. + * tests/test-striconveh.c (MAGIC): New macro. + (new_offsets): New function. + (main): Test call with and without offsets. -2006-12-03 Paul Eggert +2007-01-22 Bruno Haible - * lib/mkdir-p.c (make_dir_parents): Fix race condition when making - a directory that is about to be chowned. Such a directory's - initial file permissions should permit the owner only and this - should not be changed until after the chown, since the group and - other bits would be incorrect if they granted permission before - the chown. + * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P). + * modules/sys_select (Makefile.am): Likewise. + * modules/sys_socket (Makefile.am): Likewise. + * modules/sys_time (Makefile.am): Likewise. - Fix porting problem for iswctype reported by Georg Schwarz in: - http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html - * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too. - * lib/regex_internal.h (RE_ENABLE_I18N): Likewise. - * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too. - * m4/regex.m4 (gl_PREREQ_REGEX): Likewise. +2007-01-22 Paul Eggert -2006-12-03 Jim Meyering + * modules/gettimeofday (License): Change from GPL to LGPL, since + gettimeofday is a library function. - * lib/fts.c (fts_load): Don't set sp->fts_dev here, since - p->fts_statp may not yet be defined. - (fts_read): Instead, set it in the caller, once p->fts_statp is - sure to be defined, and corresponds to a top-level directory. - This bug made du -x fail. Here's the coreutils test case: - http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f - Reported by Mike Frysinger. +2007-01-22 Yoann Vandoorselaere -2006-12-01 Jim Meyering + * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32. - * modules/savewd (Depends-on): Add fcntl_h to avoid self-test - build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW. - Reported by Simon Josefsson. +2007-01-21 Bruno Haible -2006-11-30 Jim Meyering + * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro. - * m4/warning.m4: Use the all-permissive copyright notice - recommended by RMS (rather than LGPL). - * m4/vararrays.m4: Likewise. - * m4/flexmember.m4: Likewise. +2007-01-21 Bruno Haible -2006-11-29 Bruno Haible + * modules/striconveha: New file. + * lib/striconveha.h: New file. + * lib/striconveha.c: New file. + * MODULES.html.sh (Internationalization functions): Add striconveha. + * lib/striconv.c (str_iconv): Optimize the case of an empty input + string. + * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise. - * gnulib-tool (func_emit_lib_Makefile_am): Initialize also - noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES - using +=. - Reported by Simon Josefsson . +2007-01-21 Bruno Haible -2006-11-28 James Youngman + * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails. + * lib/striconveh.c (str_iconveh): Likewise. - * README: Advise users that they might find the bug-gnulib@gnu.org - and autotools-announce@gnu.org mailing lists useful. +2007-01-21 Bruno Haible -2006-11-28 Bruno Haible + * lib/striconveh.h (mem_iconveh): New declaration. + * lib/striconveh.c (mem_iconveh): New function. + * tests/test-striconveh.c (main): Add tests for mem_iconveh. - * m4/ptrdiff_max.m4: Remove file. +2007-01-21 Bruno Haible -2006-11-21 Bruno Haible + * lib/xstriconv.h (xmem_cd_iconv): Change specification. - * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of - _AC_COMPUTE_INT. - (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61. - * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of - _AC_COMPUTE_INT. - (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61. - * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of - _AC_COMPUTE_INT. - (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61. + * lib/striconveh.h (mem_cd_iconveh): Change specification. + * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied + original result buffer. + (str_cd_iconveh): Update. + * tests/test-striconveh.c (main): Update. -2006-11-28 Jim Meyering + * lib/striconv.h (mem_cd_iconv): Change specification. + * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original + result buffer. + (str_cd_iconv): Update. + * tests/test-striconv.c (main): Update. - * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid - warning from "gcc -Wshadow" about shadowing the builtin. +2007-01-21 Bruno Haible -2006-11-27 Bruno Haible + * gnulib-tool: Fix test whether sed is GNU sed supporting --posix. - * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of - _AC_COMPUTE_INT. - (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61. +2007-01-20 Jim Meyering -2006-11-27 Bruno Haible - Paul Eggert + * lib/userspec.c (parse_with_separator): If a user or group string + starts with "+", skip the corresponding name-to-ID look-up, since + such a look-up must fail: user and group names may not include "+". - * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity. +2007-01-19 Paul Eggert -2006-11-26 Bruno Haible + * lib/poll.c: Include sys/time.h and time.h unconditionally, + since we now assume the sys_time module. + * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or + check for sys/time.h; no longer needed. + * modules/poll (Depends-on): Depend on sys_time. - * gnulib-tool (func_emit_lib_Makefile_am): Initialize also - noinst_LTLIBRARIES. +2007-01-18 Bruno Haible -2006-11-27 Paul Eggert - Bruno Haible + * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for . + * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise. - * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0 - if compiling with "gcc -ansi". + * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and + gettimeofday. -2006-11-26 Paul Eggert + * tests/test-gettimeofday.c: Include . + (dummy): Remove variable. - Fix some incompatibilities with gcc -ansi -pedantic. - * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax - if compiling pedantically with GCC, unless it's C99 or later. - Don't trust sys/cdefs.h's definition of __restrict_arr, either, as - it mishandles gcc -ansi -pedantic as well. - * lib/regex_internal.h (re_token_t): Don't use enum bitfields - if gcc -pedantic. - * lib/regexec.c (check_node_accept_bytes): Don't use auto - initializers for struct if -pedantic, unless it's C99 or later. + * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from + gl_HEADER_SYS_TIME_H. + (gl_HEADER_SYS_TIME_H): New macro. -2006-11-25 Nix (tiny change) + * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of + HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME. + * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY, + gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of + HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME. + * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize + GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE + and GETTIMEOFDAY_CLOBBERS_LOCALTIME. + * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT + instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and + GETTIMEOFDAY_CLOBBERS_LOCALTIME. - * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime. - Don't close an fd more than once. Identical atimes indicate - success, not failure. + * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the + last change; it caused a compilation error when cross-compiling to + Cygwin. -2006-11-22 Robinson Mittmann (tiny change) +2007-01-18 Jim Meyering - * lib/sincosl.c (kernel_sinl): Fix typo in threshold. + Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys". + * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather + than the race-prone "test -d sys || mkdir sys". + (configure.ac): Use AC_PROG_MKDIR_P. + * modules/sys_select: Likewise. + * modules/sys_socket: Likewise. + * modules/sys_time: Likewise. -2006-11-23 Jim Meyering +2007-01-18 Eric Blake - * build-aux/announce-gen: New file. From coreutils. + * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also + replace gettimeofday. + * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement + name, to avoid infinite recursion. -2006-11-22 Jim Meyering +2007-01-17 Paul Eggert - Work around a compile-time error from the HP-UX 11.00 /bin/cc. - * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name. - (fts_read): Use a temporary to narrow the overused st_size member - before using it in a switch statement. Reported by Matthew Woehlke. + * MODULES.html.sh (Support for systems lacking POSIX:2001): New + module sys_time. + * lib/gethrxtime.c: Include , since we can no longer + assume timespec.h defines struct timeval. + * lib/settime.c: Likewise. + * lib/utimens.c: Likewise. + * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY, + since we now assume the gettimeofday module. + * lib/tempname.c (__gen_tempname): Likewise. + * lib/gettimeofday.h: Remove. + * lib/gettimeofday.c: Include instead of "gettimeofday.h". + Don't include and ; shouldn't be needed. + Include , for 'time()'. + (localtime_buffer_addr): Also use this workaround if + TZSET_CLOBBERS_LOCALTIME. Set to a dummy static variable by default, + to simplify the uses. All uses changed. + (localtime, gmtime, tzset, gettimeofday): Reformat slightly so + that #undef is inside {}, and 'const' follows type name consistently. + (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME. + (gettimeofday): Do not use the maximum possible value for + tv->tv_usec, since that might break usages other than ls.c. + Instead, we'll leave ls.c alone. This undoes today's patch + by Bruno. Add a compile-time warning for 1s-clock resolution; + we've never observed the problem but might as well keep the + canary. + * lib/nanosleep.c: Include timespec.h first, for interface check. + * lib/nanosleep.c: Include unconditionally, since we + now assume the sys_time module. + * lib/tempname.c: Likewise. + * lib/timespec.h: Likewise. + * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer + needed. + * lib/strftime.c: Likewise. + * lib/timespec.h: Likewise. + * lib/posixtm.c: Include posixtm.h first, for interface check. + Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete. + * lib/posixtm.h: Include stdbool.h and time.h, for proper interface. + * lib/strftime.c: Don't include ; shouldn't be needed. + * lib/sys_time_.h: New file. + * lib/timespec.h (struct timespec): Use long int, not long. + * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): + (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY): + Remove obsolescent call to AC_HEADER_TIME. + * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise. + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise. + * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise. + * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC): + Likewise. + * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise. + * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise. + * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests + into the sys_time module. Check for gettimeofday just once. + Prefix our variables with gl_, not with ac_ or jm_. Tighten test + for gettimeofday signature to just check the signature. Merely + compile it, since linking doesn't test signature. Improve test for + whether gettimeofday.o is actually needed. + (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from + AC_FUNC_GETTIMEOFDAY_CLOBBER. All uses changed. Use + AC_RUN_IFELSE rather than AC_TRY_RUN. If clobbering, set + and define GETTIMEOFDAY_CLOBBERS_LOCALTIME. + (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define + GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's + job. Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job. + * m4/mktime.m4 (AC_FUNC_MKTIME): Just include rather + than worrying about sys/time.h. + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): + Don't bother worrying about TIME_WITH_SYS_TIME. + * m4/stat-time.m4 (gl_STAT_TIME): Likewise. + * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM. + * m4/sys_time_h.m4: New file. + * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H. + Don't include sys/time.h. Return from main rather than exiting. + Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names; + all uses changed. + * modules/gethrxtime (Depends-on): Add sys_time. + * modules/gettime (Depends-on): Likewise. + * modules/gettimeofday (Depends-on): Likewise. + * modules/nanosleep (Depends-on): Likewise. + * modules/settime (Depends-on): Likewise. + * modules/tempname (Depends-on): Likewise. + * modules/utimens (Depends-on): Likewise. + * modules/gettimeofday (Files): Remove lib/gettimeofday.h. + (Include:) Change back to . + (Maintainer:) Add self. + * modules/sys_time: New file. + * modules/tempname (Depends-on): Add gettimeofday. + * tests/test-gettimeofday.c: Include + rather than gettimeofday.h. - * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument. - * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise. +2007-01-17 Bruno Haible -2006-11-20 Bruno Haible + * gnulib-tool (func_get_license): Revert last patch. Instead, let + the license default to GPL. + (func_create_testdir): Don't complain if a module is LGPL and its + tests module depends on GPLed modules. - * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use - changequote instead of pairs of brackets. - Reported by Andreas Schwab . +2007-01-17 Bruno Haible -2006-11-21 Jim Meyering + * lib/gettimeofday.c (gettimeofday): Add code for the case + HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the + maximum possible value for tv->tv_usec, rather than the minimum one. - * lib/fts.c (fts_safe_changedir): Move a declaration "up", - so as to remain compatible with older compilers. - Patch from Michael Deutschmann. +2005-10-08 Martin Lambers +2005-10-08 Paul Eggert +2007-01-16 Bruno Haible -2006-11-20 Paul Eggert + * modules/gettimeofday (Files): Add lib/gettimeofday.h. + (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add + gl_FUNC_GETTIMEOFDAY. + (Include): Add gettimeofday.h. + * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro. + (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY. + (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define + GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here. + (gl_PREREQ_GETTIMEOFDAY): Check for and _ftime. + * lib/gettimeofday.h: New file. + * lib/gettimeofday.c: Include . + (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define + only if GETTIMEOFDAY_CLOBBERS_LOCALTIME. + (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available; + fall back on time(). - * MODULES.html.sh (File system functions): Add openat. + * tests/test-gettimeofday.c: New file. + * modules/gettimeofday-tests: New file. - * lib/openat.h (rpl_fstatat): New macro, if - [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK. - (fstatat): Define to rpl_fstatat under the same conditions, - unless COMPILING_FSTATAT. - * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat - seems to have the bug. - * lib/fstatat.c: New file. - * modules/openat (Files): Add it. +2007-01-16 Eric Blake -2006-11-20 Bruno Haible + * modules/fnmatch (Depends-on): Depend on wchar. + * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume . + * m4/fnmatch.m4: Likewise. + * modules/mbchar (Makefile.am): Assume . + * m4/mbchar.m4: Likewise. + * modules/mbswidth (Depends-on): Depend on wchar. + * lib/mbswidth.c: Assume . + * m4/mbswidth.m4: Likewise. + * modules/quotearg (Depends-on): Depend on wchar. + * lib/quotearg.c: Assume . + * m4/quotearg.m4: Likewise. + * modules/regex (Depends-on): Depend on wchar. + * lib/regex_internal.h: Assume . + * m4/regex.m4: Likewise. + * modules/stdint (Depends-on): Depend on wchar. + * lib/stdint_.h [!defined WCHAR_MIN]: Assume . + * m4/stdint.m4: Likewise. + * tests/test-stdint.c [HAVE_WINT_T]: Likewise. + * modules/strftime (Depends-on): Depend on wchar. + * lib/strftime.c (DO_MULTIBYTE): Assume . + * modules/strtol (Depends-on): Depend on wchar. + * lib/strtol.c: Assume . + * modules/wcwidth (Depends-on): Depend on wchar. + * lib/wcwidth.h: Assume . + * m4/wcwidth.m4: Likewise. - * Makefile: New file. +2007-01-16 Bruno Haible -2006-11-20 Jim Meyering + * modules/csharpexec-script: New, created from... + * modules/csharpexec: ... this. - The beginnings of syntax-related checks for gnulib. - * lib/Makefile: New file. - * lib/t-idcache: New script. Ensure that the two halves of - idcache.c stay in sync. +2007-01-16 Paolo Bonzini - * lib/idcache.c: Adjust comments in user- and group- portions to - be more accurate, and to be consistent with one another. + * modules/javaexec-script: New, created from... + * modules/javaexec: ... this. -2006-11-20 Jim Meyering +2007-01-16 Yoann Vandoorselaere - * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to - continue using the flexible array member (thus, this module performs - half as many malloc calls), with the addition that... - (getgroup, getuser): Consistently record a non-match via an empty - "name" string, and map an empty string match to a NULL return value. - * modules/idcache (Depends-on): Re-add flexmember. + * modules/poll (Dependencies): Add sys_select. - * lib/idcache.c (getuser): Remove all uses of the register keyword. - (getuidbyname, getgroup, getgidbyname): Likewise. +2007-01-15 Jim Meyering - Use cleaner syntax: NULL rather than 0. - * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0. + * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct- + redefinition bug when using both and headers. + * lib/readutmp.h: Likewise. Reported by Daniel Richard G. in + . -2006-11-20 Paul Eggert +2007-01-15 Bruno Haible - * lib/idcache.c: Undo most recent patch, dated 2006-11-06. - It mishandled the case where the group was missing. - Problem reported by Greg Schafer. - * modules/idcache: Likewise. + * modules/striconveh: New file. + * lib/striconveh.h: New file. + * lib/striconveh.c: New file. + * MODULES.html.sh (Internationalization functions): Add striconveh. -2006-11-18 Jim Meyering + * modules/striconveh-tests: New file. + * tests/test-striconveh.c: New file. - * check-module (%exempt_header): Add exception for some - conditionally-included headers. +2007-01-15 Bruno Haible - * modules/i-ring (Depends-on): Add verify. - (License): Change to LGPL. + * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is + not from GNU libiconv or GNU libc. -2006-11-16 Paul Eggert +2007-01-15 Bruno Haible - * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf. - * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h - and inttostr.h. Use snprintf rather than uinttostr, so that - LGPLed code doesn't depend on GPLed. + * doc/gnulib-intro.texi (Copyright): Explain the different license + terms for module descriptions, autoconf macros, tests, documentation. -2006-11-17 Paul Eggert +2007-01-14 Bruno Haible - * modules/inline (License): Change from GPL to LGPL. + * modules/striconv-tests: New file. + * tests/test-striconv.c: New file. -2006-11-17 Jim Meyering +2007-01-14 Bruno Haible - * modules/d-type (License): Switch to LGPL. + * modules/iconv-tests: New file. + * tests/test-iconv.c: New file. -2006-11-15 Bruno Haible +2007-01-14 Bruno Haible - * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message. + * gnulib-tool (func_get_license): For test modules, use the license of + the main module. -2006-11-15 Eric Blake +2007-01-14 Bruno Haible - * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by - the module dependency. + * modules/iconv (Include): Clarify that can only be included + if iconv is found to exist. -2006-11-15 Yoann Vandoorselaere - Bruno Haible +2007-01-14 Bruno Haible - * gnulib-tool (func_create_testdir): Add license consistency check. + * modules/c-ctype-tests: New file. + * tests/test-c-ctype.c: New file. -2006-11-15 Eric Blake +2007-01-14 Bruno Haible - * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a - random "(cached)" in configure output. + * modules/binary-io-tests: New file. + * tests/test-binary-io.sh: New file. + * tests/test-binary-io.c: New file. -2006-11-14 Ralf Wildenhues +2007-01-14 Bruno Haible - * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the - test for conforming inttypes.h is both announced and cached. + * modules/array-oset-tests: New file. + * tests/test-array_oset.c: New file. - * MODULES.html.sh (seen_modules, seen_files): New variables. - (func_module): Rewrite to use a few less gnulib-tool and sed - invocations. Avoid a couple of quadratic algorithms for ... - (missed_modules, missed_files): ... these, with ... - (func_append, func_tmpdir): ... these new functions, from - gnulib-tool. Analogously, install traps for cleanup. +2007-01-14 Bruno Haible - * tests/test-gc.c (main): Remove unused variables. - * tests/test-read-file.c: Include stdlib.h, for 'free'. + * modules/array-list-tests: New file. + * tests/test-array_list.c: New file. -2006-11-14 Paul Eggert +2007-01-14 Bruno Haible - * modules/inttostr (License): Change to LGPL. + * gnulib-tool (func_create_testdir): Don't unnecessarily run configure + and make. + Reported by Simon Josefsson in + -2006-11-14 Eric Blake +2007-01-14 Bruno Haible - * modules/tempname (License): Change to LGPL. + * modules/allocsa-tests: New file. + * tests/test-allocsa.c: New file. -2006-11-14 Eric Blake +2007-01-14 Bruno Haible - * doc/functions.texi (Function Portability): *printf functions on - Cygwin now understand all POSIX size specifiers. + * modules/fchdir (Depends-on): Add absolute-header. + * modules/unistd (Depends-on): Likewise. -2006-11-14 Bruno Haible +2006-12-30 Bruno Haible - * modules/c-ctype (License): Change to LGPL. + * modules/fchdir: New file. + * modules/unistd (Files): Add lib/unistd_.h. + (Makefile.am): Generate unistd.h from unistd_.h. + * lib/fchdir.c: New file. + * lib/dirent_.h: New file. + * lib/unistd_.h: New file. + * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement. + * m4/fchdir.m4: New file. + * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro. + (gl_HEADER_UNISTD): Invoke it. + * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup + function. + * lib/backupfile.c (opendir, closedir): Undefine. + * lib/chown.c (open, close): Undefine. + * lib/clean-temp.c (open, close): Undefine. + * lib/copy-file.c (open, close): Undefine. + * lib/execute.c (open, close): Undefine. + * lib/fsusage.c (open, close): Undefine. + * lib/gc-gnulib.c (open, close): Undefine. + * lib/getcwd.c (opendir, closedir): Undefine. + * lib/glob.c (opendir, closedir): Undefine. + * lib/javacomp.c (open, close): Undefine. + * lib/mountlist.c (open, close, opendir, closedir): Undefine. + * lib/openat-proc.c (open, close): Undefine. + * lib/pagealign_alloc.c (open, close): Undefine. + * lib/pipe.c (open, close): Undefine. + * lib/progreloc.c (open, close): Undefine. + * lib/savedir.c (opendir, closedir): Undefine. + * lib/utime.c (open, close): Undefine. + * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir. -2006-11-12 Bruno Haible +2007-01-10 Bruno Haible - * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS, - AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed - for GNOME libraries, for which the include files are installed in - subdirectories of $prefix/include. + * lib/striconv.c (mem_cd_iconv): Align the temporary buffer. -2006-11-12 Bruno Haible +2007-01-12 Eric Blake - * m4/lib-link.m4: Require at least autoconf-2.54. - (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library - name to underscores for the --with option. + Provide a robust . Further simplifications are now + possible in other modules, but not included here. + * modules/wchar: New module. + * m4/wchar.m4: New file. + * lib/wchar_.h: Likewise. + * modules/mbchar (Depends-on): Depend on wchar, as the first use + of the new module. + * MODULES.html.sh (Extended multibyte and wide character utilities): + New section. -2006-11-13 Bruno Haible +2007-01-12 Paul Eggert - * gnulib-tool (func_create_testdir): Set gl_source_base correctly in - the tests directory. - Reported by Ralf Wildenhues. + * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define + to a reasonable default for memory allocation. + (xreadlink): Don't allocate a huge buffer, to work around a buggy + file system that reports garbage st_size values for symlinks. + Problem reported by Liyang Hu. -2006-11-13 Bruno Haible +2007-01-11 Simon Josefsson - * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES. - (func_emit_initmacro_end): Undo the override here. - (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES. - Works around the famous automake error in coreutils. + * gnulib-tool (func_all_modules): Exclude all .* files (e.g., + Emacs .#* auto-save files). -2006-11-13 Eric Blake +2007-01-11 Bruno Haible - * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the - element, not its node. + * gnulib-tool (func_all_modules): Exclude all files inside the CVS + directory. -2006-11-12 Bruno Haible +2007-01-10 Paul Eggert - * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of - '$(top_srcdir)/build-aux/', taking into account the real auxdir. + Use @...@ consistently in lib/wctype_.h. + * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely + on it being set to 1 or 0. + * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and + go back to AC_SUBSTing it. + * modules/wctype (Makefile.am): Undo previous change. -2006-11-12 Bruno Haible +2007-01-10 Eric Blake - * gnulib-tool: New option --local-symlink. - (func_usage): Document it. - (lsymbolic): New variable. - (func_import, func_create_testdir): If --symlink was not specified, - test whether --local-symlink was specified and the file comes from - the local_gnulib_dir. + * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE. + * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T). + * modules/wctype (Makefile.am): Likewise. + Reported by Chris McGuire. -2006-11-12 Bruno Haible +2007-01-10 Jim Meyering - * gnulib-tool (func_ln): New function. - (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s". + fts.c: a small readability/maintainability improvement + * lib/fts.c (fts_read): Make this code slightly more readable and + maintainable by hoisting the "sp->fts_cur = p" assignments to + immediately follow the statements that set P. Derived from + the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089. -2006-11-12 Bruno Haible +2007-01-10 Eric Blake - Finish support for source files in subdirectories. - * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files - are in subdirectories, set uses_subdirs and add 'subdir-objects' to - AUTOMAKE_OPTIONS. - (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case. + * lib/wctype_.h [HAVE_WINT_T]: Include before + , to work around BSDI bug in BSD/OS 4.0.1. + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise. + * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise. + Reported by Chris McGuire. -2006-11-12 Bruno Haible +2007-01-09 Ralf Wildenhues - * gnulib-tool (func_get_automake_snippet): Synthesize also an - EXTRA_lib_SOURCES augmentation. - (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty. + * gnulib-tool (func_all_modules): Use POSIX conforming escaping + in sed script. -2006-11-12 Jim Meyering +2007-01-09 Bruno Haible - Make fts (in FTS_CWDFD mode) more efficient by caching a few open - file descriptors. This also averts a failure on systems with - native openat support when a traversed directory lacks "x" access. - * lib/fts_.h: Include "i-ring.h" - (struct FTS) [fts_fd_ring]: New member. - * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear. - (FCHDIR): Add parentheses. - (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away. - (cwd_advance_fd): Add a 3rd parameter. Adjust all callers. - When descending, rather than simply closing the previous - fts_cwd_fd value, push that file descriptor onto the ring. - (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions. - (fts_open): Initialize the new fd_ring member. - (fts_close): Clear the ring. - (fts_safe_changedir): When possible, use our new fd_ring to skip - the diropen and fstat and dev/ino comparison that would normally - accompany a virtual `chdir ("..")'. + * MODULES.html.sh: Accept options --cvs-urls, --git-urls. + (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New + variables. + (func_module): Use them. - * modules/fts (Depends-on): Add i-ring. - * modules/i-ring: New module. - * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files. - * m4/i-ring.m4: New file. +2007-01-09 Bruno Haible -2006-11-12 Ralf Wildenhues + * modules/unistr/base: New file. + * lib/unistr.h: New file. - * gnulib-tool (func_create_testdir): Fix replacement of - `build-aux' in configure.ac. Run autotools in gltests - subdirectory. - (func_create_testdir, func_create_megatestdir, test): There is - no need for '--force' in most autotool invocations in a new - tree. Actually fail the whole test if any of the tools, or the - configure or make stages fail. + * modules/unistr/u8-to-u16: New file. + * lib/unistr/u8-to-u16.c: New file. - Sync from Automake. - * build-aux/gnupload: Revert last change. Add pointer to upload - instructions of the GNU Maintenance Instructions. - Suggestion by Karl Berry. + * modules/unistr/u8-to-u32: New file. + * lib/unistr/u8-to-u32.c: New file. -2006-11-10 Jim Meyering + * modules/unistr/u16-to-u8: New file. + * lib/unistr/u16-to-u8.c: New file. - * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s. + * modules/unistr/u16-to-u32: New file. + * lib/unistr/u16-to-u32.c: New file. -2006-11-09 Paul Eggert + * modules/unistr/u32-to-u8: New file. + * lib/unistr/u32-to-u8.c: New file. - * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]: - (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]: - (bind_textdomain_codeset) [! ENABLE_NLS]: - Evaluate all the arguments. That way, callers get compatible behavior - if the arguments have side effects. Also, it avoids some GCC - diagnostics in some cases; Joel E. Denny reported problems when Bison - was configured with --enable-gcc-warnigs. + * modules/unistr/u32-to-u16: New file. + * lib/unistr/u32-to-u16.c: New file. -2006-11-10 Jim Meyering + * modules/unistr/u8-check: New file. + * modules/unistr/u16-check: New file. + * modules/unistr/u32-check: New file. + * lib/unistr/u8-check.c: New file. + * lib/unistr/u16-check.c: New file. + * lib/unistr/u32-check.c: New file. - * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that - relevant options in CFLAGS (like -O, -fno-inline) are taken into - account. + * modules/unistr/u8-chr: New file. + * modules/unistr/u16-chr: New file. + * modules/unistr/u32-chr: New file. + * lib/unistr/u8-chr.c: New file. + * lib/unistr/u16-chr.c: New file. + * lib/unistr/u32-chr.c: New file. -2006-11-10 Jim Meyering + * modules/unistr/u8-cmp: New file. + * modules/unistr/u16-cmp: New file. + * modules/unistr/u32-cmp: New file. + * lib/unistr/u8-cmp.c: New file. + * lib/unistr/u16-cmp.c: New file. + * lib/unistr/u32-cmp.c: New file. - * modules/inline: New file/module. - * modules/xalloc (Files): Remove m4/inline.m4. - (Depends-on): Add inline, instead. - * modules/oset: Likewise. - * modules/list: Likewise. - -2006-11-09 Paul Eggert - - * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t. - Problem reported by Matthew Woehlke. + * modules/unistr/u8-cpy: New file. + * modules/unistr/u16-cpy: New file. + * modules/unistr/u32-cpy: New file. + * lib/unistr/u8-cpy.c: New file. + * lib/unistr/u16-cpy.c: New file. + * lib/unistr/u32-cpy.c: New file. + * lib/unistr/u-cpy.h: New file. -2006-11-09 Bruno Haible + * modules/unistr/u8-cpy-alloc: New file. + * modules/unistr/u16-cpy-alloc: New file. + * modules/unistr/u32-cpy-alloc: New file. + * lib/unistr/u8-cpy-alloc.c: New file. + * lib/unistr/u16-cpy-alloc.c: New file. + * lib/unistr/u32-cpy-alloc.c: New file. + * lib/unistr/u-cpy-alloc.h: New file. - * lib/tempname.c (gen_tempname): Remove variant that invokes - __gen_tempname. - * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for - __gen_tempname. + * modules/unistr/u8-endswith: New file. + * modules/unistr/u16-endswith: New file. + * modules/unistr/u32-endswith: New file. + * lib/unistr/u8-endswith.c: New file. + * lib/unistr/u16-endswith.c: New file. + * lib/unistr/u32-endswith.c: New file. + * lib/unistr/u-endswith.h: New file. -2006-11-08 Bruno Haible + * modules/unistr/u8-mblen: New file. + * modules/unistr/u16-mblen: New file. + * modules/unistr/u32-mblen: New file. + * lib/unistr/u8-mblen.c: New file. + * lib/unistr/u16-mblen.c: New file. + * lib/unistr/u32-mblen.c: New file. - * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int - to 'yes' instead of 'cross-compiling'. + * modules/unistr/u8-mbtouc: New file. + * modules/unistr/u16-mbtouc: New file. + * modules/unistr/u32-mbtouc: New file. + * lib/unistr/u8-mbtouc.c: New file. + * lib/unistr/u16-mbtouc.c: New file. + * lib/unistr/u32-mbtouc.c: New file. -2006-11-08 Paul Eggert + * modules/unistr/u8-mbtouc-safe: New file. + * modules/unistr/u16-mbtouc-safe: New file. + * modules/unistr/u32-mbtouc-safe: New file. + * lib/unistr/u8-mbtouc-safe.c: New file. + * lib/unistr/u16-mbtouc-safe.c: New file. + * lib/unistr/u32-mbtouc-safe.c: New file. - * lib/quotearg.h (quotearg_free): New decl. - * lib/quotearg.c (quotearg_free): New function. - (slot0, nslots, slotvec0, slotvec): - Now file-scope so that quotearg_free can get at them. + * modules/unistr/u8-move: New file. + * modules/unistr/u16-move: New file. + * modules/unistr/u32-move: New file. + * lib/unistr/u8-move.c: New file. + * lib/unistr/u16-move.c: New file. + * lib/unistr/u32-move.c: New file. + * lib/unistr/u-move.h: New file. -2006-11-08 Ralf Wildenhues + * modules/unistr/u8-next: New file. + * modules/unistr/u16-next: New file. + * modules/unistr/u32-next: New file. + * lib/unistr/u8-next.c: New file. + * lib/unistr/u16-next.c: New file. + * lib/unistr/u32-next.c: New file. - Sync from Automake. - * build-aux/gnupload: Add missing 'gnu' to example URL. - Report by Karl Berry. + * modules/unistr/u8-prev: New file. + * modules/unistr/u16-prev: New file. + * modules/unistr/u32-prev: New file. + * lib/unistr/u8-prev.c: New file. + * lib/unistr/u16-prev.c: New file. + * lib/unistr/u32-prev.c: New file. -2006-11-08 Bruno Haible + * modules/unistr/u8-set: New file. + * modules/unistr/u16-set: New file. + * modules/unistr/u32-set: New file. + * lib/unistr/u8-set.c: New file. + * lib/unistr/u16-set.c: New file. + * lib/unistr/u32-set.c: New file. + * lib/unistr/u-set.h: New file. - * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__. - Suggested by Paul Eggert. + * modules/unistr/u8-startswith: New file. + * modules/unistr/u16-startswith: New file. + * modules/unistr/u32-startswith: New file. + * lib/unistr/u8-startswith.c: New file. + * lib/unistr/u16-startswith.c: New file. + * lib/unistr/u32-startswith.c: New file. + * lib/unistr/u-startswith.h: New file. -2006-11-08 Jim Meyering + * modules/unistr/u8-stpcpy: New file. + * modules/unistr/u16-stpcpy: New file. + * modules/unistr/u32-stpcpy: New file. + * lib/unistr/u8-stpcpy.c: New file. + * lib/unistr/u16-stpcpy.c: New file. + * lib/unistr/u32-stpcpy.c: New file. + * lib/unistr/u-stpcpy.h: New file. - * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice. - It's already included if !_LIBC. - (fts_safe_changedir): Add a comment. + * modules/unistr/u8-stpncpy: New file. + * modules/unistr/u16-stpncpy: New file. + * modules/unistr/u32-stpncpy: New file. + * lib/unistr/u8-stpncpy.c: New file. + * lib/unistr/u16-stpncpy.c: New file. + * lib/unistr/u32-stpncpy.c: New file. + * lib/unistr/u-stpncpy.h: New file. -2006-11-07 Paul Eggert + * modules/unistr/u8-strcat: New file. + * modules/unistr/u16-strcat: New file. + * modules/unistr/u32-strcat: New file. + * lib/unistr/u8-strcat.c: New file. + * lib/unistr/u16-strcat.c: New file. + * lib/unistr/u32-strcat.c: New file. + * lib/unistr/u-strcat.h: New file. - * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in - Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by - Matthew Woehlke. + * modules/unistr/u8-strchr: New file. + * modules/unistr/u16-strchr: New file. + * modules/unistr/u32-strchr: New file. + * lib/unistr/u8-strchr.c: New file. + * lib/unistr/u16-strchr.c: New file. + * lib/unistr/u32-strchr.c: New file. - * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move - definitions up, to avoid colliding with change below. - (static_inline) [HAVE_INLINE]: New macro. - (xnmalloc, xnrealloc, x2nrealloc, xcharalloc): - Provide extern decls when !HAVE_INLINE. Do not define unless - static_inline is defined, either by us or by xmalloc.c. Use - static_inline rather than static inline. - (XCALLOC): Optimize sizeof(T) = 1 case. - * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro. + * modules/unistr/u8-strcmp: New file. + * modules/unistr/u16-strcmp: New file. + * modules/unistr/u32-strcmp: New file. + * lib/unistr/u8-strcmp.c: New file. + * lib/unistr/u16-strcmp.c: New file. + * lib/unistr/u32-strcmp.c: New file. -2006-11-07 Bruno Haible + * modules/unistr/u8-strcpy: New file. + * modules/unistr/u16-strcpy: New file. + * modules/unistr/u32-strcpy: New file. + * lib/unistr/u8-strcpy.c: New file. + * lib/unistr/u16-strcpy.c: New file. + * lib/unistr/u32-strcpy.c: New file. + * lib/unistr/u-strcpy.h: New file. - * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case. - * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of - AC_C_INLINE. - * modules/xalloc (Files): Add m4/inline.m4. + * modules/unistr/u8-strcspn: New file. + * modules/unistr/u16-strcspn: New file. + * modules/unistr/u32-strcspn: New file. + * lib/unistr/u8-strcspn.c: New file. + * lib/unistr/u16-strcspn.c: New file. + * lib/unistr/u32-strcspn.c: New file. + * lib/unistr/u-strcspn.h: New file. -2006-11-07 Ralf Wildenhues + * modules/unistr/u8-strdup: New file. + * modules/unistr/u16-strdup: New file. + * modules/unistr/u32-strdup: New file. + * lib/unistr/u8-strdup.c: New file. + * lib/unistr/u16-strdup.c: New file. + * lib/unistr/u32-strdup.c: New file. + * lib/unistr/u-strdup.h: New file. - * README: Fix typo. - * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename... - (Miscellanous Notes): ...from this. + * modules/unistr/u8-strlen: New file. + * modules/unistr/u16-strlen: New file. + * modules/unistr/u32-strlen: New file. + * lib/unistr/u8-strlen.c: New file. + * lib/unistr/u16-strlen.c: New file. + * lib/unistr/u32-strlen.c: New file. + * lib/unistr/u-strlen.h: New file. -2006-11-07 Paul Eggert + * modules/unistr/u8-strmblen: New file. + * modules/unistr/u16-strmblen: New file. + * modules/unistr/u32-strmblen: New file. + * lib/unistr/u8-strmblen.c: New file. + * lib/unistr/u16-strmblen.c: New file. + * lib/unistr/u32-strmblen.c: New file. - * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER): - Mention that offsetof should be used instead of sizeof. - From Bruno Haible. + * modules/unistr/u8-strmbtouc: New file. + * modules/unistr/u16-strmbtouc: New file. + * modules/unistr/u32-strmbtouc: New file. + * lib/unistr/u8-strmbtouc.c: New file. + * lib/unistr/u16-strmbtouc.c: New file. + * lib/unistr/u32-strmbtouc.c: New file. -2006-11-07 Bruno Haible + * modules/unistr/u8-strncat: New file. + * modules/unistr/u16-strncat: New file. + * modules/unistr/u32-strncat: New file. + * lib/unistr/u8-strncat.c: New file. + * lib/unistr/u16-strncat.c: New file. + * lib/unistr/u32-strncat.c: New file. + * lib/unistr/u-strncat.h: New file. - * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc. + * modules/unistr/u8-strncmp: New file. + * modules/unistr/u16-strncmp: New file. + * modules/unistr/u32-strncmp: New file. + * lib/unistr/u8-strncmp.c: New file. + * lib/unistr/u16-strncmp.c: New file. + * lib/unistr/u32-strncmp.c: New file. -2006-11-06 Paul Eggert + * modules/unistr/u8-strncpy: New file. + * modules/unistr/u16-strncpy: New file. + * modules/unistr/u32-strncpy: New file. + * lib/unistr/u8-strncpy.c: New file. + * lib/unistr/u16-strncpy.c: New file. + * lib/unistr/u32-strncpy.c: New file. + * lib/unistr/u-strncpy.h: New file. - Simplify xmalloc expressions. Add overflow check in xmalloc arguments. - * lib/gl_anyavltree_list2.h (create_subtree_with_contents): - (gl_tree_create, gl_tree_add_first, gl_tree_add_last): - (gl_tree_add_before, gl_tree_add_after): - Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc. - * lib/gl_anyhash_list2.h (hash_resize): Likewise. - * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create): - (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before): - (gl_linked_add_after, gl_linked_add_at): Likewise. - * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): - (gl_tree_create, gl_tree_add_first, gl_tree_add_last): - (gl_tree_add_before, gl_tree_add_after): Likewise. - * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise. - * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise. - * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise. + * modules/unistr/u8-strnlen: New file. + * modules/unistr/u16-strnlen: New file. + * modules/unistr/u32-strnlen: New file. + * lib/unistr/u8-strnlen.c: New file. + * lib/unistr/u16-strnlen.c: New file. + * lib/unistr/u32-strnlen.c: New file. + * lib/unistr/u-strnlen.h: New file. -2006-11-06 Ralf Wildenhues + * modules/unistr/u8-strpbrk: New file. + * modules/unistr/u16-strpbrk: New file. + * modules/unistr/u32-strpbrk: New file. + * lib/unistr/u8-strpbrk.c: New file. + * lib/unistr/u16-strpbrk.c: New file. + * lib/unistr/u32-strpbrk.c: New file. + * lib/unistr/u-strpbrk.h: New file. - * lib/gl_oset.h: Use C comment style, not C++ comment style. - -2006-11-06 Bruno Haible + * modules/unistr/u8-strrchr: New file. + * modules/unistr/u16-strrchr: New file. + * modules/unistr/u32-strrchr: New file. + * lib/unistr/u8-strrchr.c: New file. + * lib/unistr/u16-strrchr.c: New file. + * lib/unistr/u32-strrchr.c: New file. - * m4/inline.m4: New file. - * m4/gl_list.m4 (gl_LIST): Require gl_INLINE. - * modules/list (Files): Add m4/inline.m4. - * modules/oset (Files): Likewise. + * modules/unistr/u8-strspn: New file. + * modules/unistr/u16-strspn: New file. + * modules/unistr/u32-strspn: New file. + * lib/unistr/u8-strspn.c: New file. + * lib/unistr/u16-strspn.c: New file. + * lib/unistr/u32-strspn.c: New file. + * lib/unistr/u-strspn.h: New file. -2006-11-06 Paul Eggert + * modules/unistr/u8-strstr: New file. + * modules/unistr/u16-strstr: New file. + * modules/unistr/u32-strstr: New file. + * lib/unistr/u8-strstr.c: New file. + * lib/unistr/u16-strstr.c: New file. + * lib/unistr/u32-strstr.c: New file. + * lib/unistr/u-strstr.h: New file. - * lib/idcache.c: Include , for offsetof. - (struct userid.name): Change from char * to a flexible array member. - All uses changed. - * modules/idcache (Depends-on): Add flexmember. + * modules/unistr/u8-strtok: New file. + * modules/unistr/u16-strtok: New file. + * modules/unistr/u32-strtok: New file. + * lib/unistr/u8-strtok.c: New file. + * lib/unistr/u16-strtok.c: New file. + * lib/unistr/u32-strtok.c: New file. + * lib/unistr/u-strtok.h: New file. - * MODULES.html.sh (Core language properties): New module flexmember. - * modules/flexmember, m4/flexmember.m4: New files. + * modules/unistr/u8-uctomb: New file. + * modules/unistr/u16-uctomb: New file. + * modules/unistr/u32-uctomb: New file. + * lib/unistr/u8-uctomb.c: New file. + * lib/unistr/u16-uctomb.c: New file. + * lib/unistr/u32-uctomb.c: New file. - * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static - inline functions that are identical with the old xnmalloc_inline, - xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c. This is so - that we can avoid some unnecessary integer multiplications and - divisions in the common case where the element size is known at - compile time. - (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer - needed. - (xnboundedmalloc): Remove. - (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for - arguments, for consistency with rest of this header. - (xcharalloc): Rewrite using XNMALLOC. - * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline): - (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove. The *_inline - versions have been moved to lib/xalloc.h and renamed to be the - non-*_inline versions. - (xmalloc, xrealloc): Implement without reference to the xnmalloc - and xnrealloc functions, since those functions are now inline and - now call us. - (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate - renaming described above. - * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since - xmalloc.c no longer uses inline directly. gl_PREREQ_XALLOC now - captures the dependency in AC_C_INLINE. + * MODULES.html.sh (Unicode string functions): Add the new modules. - New module canonicalize-lgpl, proposed by Charles Wilson in - - with a few small changes afterwards. - * MODULES.html.sh (File system functions): New module - canonicalize-lgpl. - * lib/canonicalize.h: Add comments for canonicalize_filename_mode - and canonicalize_file_name. - * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4: - * modules/canonicalize-lgpl: New files. +2007-01-08 Bruno Haible -2006-11-05 Bruno Haible + * gnulib-tool (func_all_modules): Use find, not ls, to traverse the + modules directory. Filter out CVS, ChangeLog, COPYING, README also from + subdirectories. - * gnulib-tool (func_import, func_create_testdir): Create directories - also for files in subdirectories of lib/. +2007-01-08 Karl Berry -2006-11-05 Bruno Haible + * doc/error.texi: mention that main() fns must set program_name + when progname is used. - * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement - ANSI C compliant. +2007-01-08 Paul Eggert -2006-11-03 Bruno Haible + * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if + WCTYPE_H is empty, for the benefit of builds from non-distclean + directories. Problem reported by Eric Blake in + . - Simplify xmalloc expressions. Add overflow check in xmalloc arguments. - * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE. - * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros. - (xnboundedmalloc): New inline function. - * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc. - * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of - xmalloc. - * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of - xmalloc. - * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc. - * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc. - * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of - xmalloc. - (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc. - * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of - xmalloc. - * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before, - gl_tree_add_after): Use XMALLOC instead of xmalloc. - * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of - xmalloc. - (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc. - * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before, - gl_tree_add_after): Use XMALLOC instead of xmalloc. - * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc. - * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc. - * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc. - * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc. +2007-01-08 Bruno Haible -2006-11-03 Bruno Haible + * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove + PROVIDE_CANONICALIZE_FILENAME_MODE macro definition. + * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of + PROVIDE_CANONICALIZE_FILENAME_MODE. + * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR. - * lib/c-ctype.h [C++]: Define functions without name mangling. - * lib/fwriteerror.h [C++]: Likewise. - * lib/gcd.h [C++]: Likewise. - * lib/linebreak.h [C++]: Likewise. +2007-01-08 Bruno Haible -2006-11-03 Paul Eggert + * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition. + * lib/fts_.h (_LGPL_PACKAGE): Remove macro. + Use !GNULIB_FTS instead of _LGPL_PACKAGE. + * lib/fts.c: Likewise. + * modules/fts (configure.ac): Use gl_MODULE_INDICATOR. - * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING): - (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode): - Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined. - * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): - Check for functions and headers just once. - Check for declaration of canonicalize_file_name. - Define PROVIDE_CANONICALIZE_FILENAME_MODE. +2006-12-25 Bruno Haible -2006-11-02 Charles Wilson + * modules/utf8-ucs4-safe: New file. + * lib/utf8-ucs4-safe.h: New file. + * lib/unistr/utf8-ucs4-safe.c: New file. - * gnulib-tool (func_import): Fix typo in actioncmd. + * modules/utf16-ucs4-safe: New file. + * lib/utf16-ucs4-safe.h: New file. + * lib/unistr/utf16-ucs4-safe.c: New file. -2006-11-02 Bruno Haible + * MODULES.html.sh (Unicode string functions): Add the new modules. - * gnulib-tool (func_get_automake_snippet): Interpret a backslash- - newline sequence in the Makefile.am snippet as a space, like "make" - does. - Reported by Roger Persson . +2007-01-08 Bruno Haible -2006-11-01 Bruno Haible + * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c. + (Depends-on): Add unitypes. + * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h. + (u8_mbtouc_aux): Move out to separate file. + (u8_mbtouc): Use ucs4_t, uint8_t types. + * lib/unistr/utf8-ucs4.c: New file. - * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is - already declared in . - * lib/strcase.h (strncasecmp): Don't declare it if yes. + * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c. + (Depends-on): Add unitypes. + * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h. + (u16_mbtouc_aux): Move out to separate file. + (u16_mbtouc): Use ucs4_t, uint16_t types. + * lib/unistr/utf16-ucs4.c: New file. -2006-11-01 Bruno Haible + * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c. + (Depends-on): Add unitypes. + * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h. + (u8_uctomb_aux): Move out to separate file. + (u8_uctomb): Use ucs4_t, uint8_t types. + * lib/unistr/ucs4-utf8.c: New file. - * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here. - * lib/strcase.h: Include . - (strcasecmp): Define to rpl_strcasecmp here. + * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c. + (Depends-on): Add unitypes. + * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h. + (u16_uctomb_aux): Move out to separate file. + (u16_uctomb): Use ucs4_t, uint16_t types. + * lib/unistr/ucs4-utf16.c: New file. -2006-11-01 Bruno Haible +2006-12-25 Bruno Haible - * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results. + * modules/unitypes: New file. + * lib/unitypes.h: New file. + * MODULES.html.sh (func_all_modules): New section "Unicode string + functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to + this section. Add unitypes. -2006-11-01 Eric Blake +2007-01-08 Bruno Haible - * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation. + Avoid variable names that conflict with those from libtool. + * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY, + AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext, + shlibext to acl_shlibext, libname_spec to acl_libname_spec, + library_names_spec to acl_library_names_spec, hardcode_* to + acl_hardcode_*. + Reported by Ralf Wildenhues. - * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration. +2007-01-08 Bruno Haible -2006-10-29 Bruno Haible + * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro + definition. + * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro + definition. + * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition. + * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro + definition. + * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro + definition. + * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition. + * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition. + * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition. + * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro + definition. + * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro + definition. + * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition. + * lib/gc-gnulib.c: Use GNULIB_GC_ instead of + GC_USE_. + * lib/gc-libgcrypt.c: Likewise. + * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR. + * modules/gc-arctwo (configure.ac): Likewise. + * modules/gc-des (configure.ac): Likewise. + * modules/gc-hmac-md5 (configure.ac): Likewise. + * modules/gc-hmac-sha1 (configure.ac): Likewise. + * modules/gc-md2 (configure.ac): Likewise. + * modules/gc-md4 (configure.ac): Likewise. + * modules/gc-md5 (configure.ac): Likewise. + * modules/gc-random (configure.ac): Likewise. + * modules/gc-rijndael (configure.ac): Likewise. + * modules/gc-sha1 (configure.ac): Likewise. - Make it compile in C++ mode. - * lib/full-write.c (full_rw): Add a cast. +2007-01-08 Bruno Haible -2006-11-01 Bruno Haible - - * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to - be POSIX compliant. - Reported by Roger Persson . - -2006-11-01 Eric Blake + * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM + macro definition. + * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro + definition. + * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro + definition. + * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR. + * modules/fcntl-safer (configure.ac): Likewise. + * modules/fopen-safer (configure.ac): Likewise. + * modules/fwriteerror (configure.ac): Likewise. Remove explicit + GNULIB_FWRITEERROR macro definition. - * lib/getopt_.h: Fix comments. +2007-01-08 Bruno Haible -2006-10-31 Eric Blake + * m4/gnulib-common.m4: New file. + * gnulib-tool (func_get_autoconf_snippet): Undo last change. + (func_get_filelist): Add m4/gnulib-common.m4. - * modules/tmpdir (Depends-on): Add sys_stat. - * modules/mkdtemp (Depends-on): Add tempname, drop unistd. - * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this. - * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat. - * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to - tempname. +2007-01-08 Bruno Haible -2006-10-31 Paul Eggert + * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting + command. - Avoid some C++ diagnostics reported by Bruno Haible. - * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than - xmalloc. - (quotearg_alloc): Use xcharalloc rather than xmalloc. - (struct slotvec): Move to top level. - (quotearg_n_options): Rewrite to avoid xmalloc. - * lib/xalloc.h (xcharalloc): New function. - * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup): - [defined __cplusplus]: Add function template that provides result - type propagation. This part of the change is from Bruno Haible. +2007-01-08 Jim Meyering -2006-10-29 Bruno Haible + Use a more robust test for a "can't happen" condition. + * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it + narrowed the st_size value. Presuming the "can't happen" condition + is true, that narrowing could conceivably convert an invalid st_size + value into a valid one. Instead, use a change based on Matthew + Woehlke's original patch. - Make it compile in C++ mode. - * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result. - * lib/strnlen1.c (strnlen1): Cast memchr result. - * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'. - * lib/clean-temp.c (string_equals, string_hash): Add casts. - (create_temp_dir): Rename local variable 'template'. - (compile_csharp_using_sscli): Add cast. - * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result. - * lib/findprog.c (find_in_path): Likewise. - * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result. - * lib/wait-process.c (register_slave_subprocess): Likewise. + Slight readability improvement: use an assert-like macro + in place of literal "abort ()" uses. + * lib/fts.c (fts_assert): Define. + (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check): + Use this macro instead of a bare 'abort'. -2006-10-22 Bruno Haible +2007-01-05 Paul Eggert - * modules/tsearch: New file. - * lib/tsearch.h: New file. - * lib/tsearch.c: New file, from glibc-2.5 with small modifications. - * m4/tsearch.m4: New file. - * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch. + Don't worry about using IRIX 5.3's wctype.h broken definitions; + simply work around them. + * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG. + (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower): + (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before + declaring. + Don't bother to define as macros, since the standard doesn't require it. + * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no + longer worry about IRIX 5.3. + (HAVE_WCTYPE_CTMP_BUG): Remove. -2006-10-29 Eric Blake +2007-01-04 Paul Eggert - * lib/arcfour.c: Assume config.h. - * lib/arctwo.c: Likewise. - * lib/base64.c: Likewise. - * lib/check-version.c: Likewise. - * lib/crc.c: Likewise. - * lib/des.c: Likewise. - * lib/gc-gnulib.c: Likewise. - * lib/gc-libgcrypt.c: Likewise. - * lib/gc-pbkdf2-sha1.c: Likewise. - * lib/getaddrinfo.c: Likewise. - * lib/getdelim.c: Likewise. - * lib/getline.c: Likewise. - * lib/hmac-md5.c: Likewise. - * lib/hmac-sha1.c: Likewise. - * lib/iconvme.c: Likewise. - * lib/md2.c: Likewise. - * lib/md4.c: Likewise. - * lib/memxor.c: Likewise. - * lib/read-file.c: Likewise. - * lib/readline.c: Likewise. - * lib/rijndael-alg-fst.c: Likewise. - * lib/rijndael-api-fst.c: Likewise. - * lib/xgetdomainname.c: Likewise. + * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t, + not wint_t. Also, include , to fix another IRIX bug. + * m4/wctype.m4 (gl_WCTYPE_H): Likewise. + Problems reported by Georg Schwarz for IRIX 5.3. -2006-10-28 Eric Blake + * gnulib-tool (autoconf_minversion): Take the maximum version number + found, not the minimum. Problem reported by James Youngman. - * lib/xstrndup.c: Assume config.h. +2007-01-03 Karl Berry -2006-10-27 Paul Eggert + * doc/error.texi: new file, explaining interaction with progname. + * doc/gnulib.texi: include it. Update copyright. - Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h. - stat-macros.h is now for our own macros, whereas stat_h is for - macros in the name space. - * lib/stat-macros.h: Remove copyright notice, as this file is now tiny. - (STAT_MACROS_H): Remove. - (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM): - (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT): - (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD): - (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP): - (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH): - (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO): - Move these macros to ... - * lib/stat_.h: here. Don't include stat-macros.h. - * lib/canonicalize.c: Don't include stat-macros.h. - * lib/chown.c: Likewise. - * lib/euidaccess.c: Likewise. - * lib/file-type.c: Likewise. - * lib/filemode.c: Likewise. - * lib/glob.c: Likewise. - * lib/isapipe.c: Likewise. - * lib/lchown.c: Likewise. - * lib/lstat.c: Likewise. - * lib/mkdir-p.c: Likewise. - * lib/rmdir.c: Likewise. - * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS. - * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h - unless mkdir isn't declared, to speed up 'configure'. - Always create sys/stat.h, since it's unlikely any real sys/stat.h - would define all the S_* symbols. - * modules/canonicalize (Depends-on): - Depend on sys_stat, not stat-macros. - * modules/chown: Likewise. - * modules/euidaccess: Likewise. - * modules/filemode: Likewise. - * modules/file-type: Likewise. - * modules/glob: Likewise. - * modules/isapipe: Likewise. - * modules/lchown: Likewise. - * modules/lstat: Likewise. - * modules/mkancesdirs: Likewise. - * modules/rmdir: Likewise. - * modules/mkdir-p (Depends-on): Also depend on sys_stat. - * modules/modechange: Likewise. - * modules/stat-macros (Files): Remove m4/stat-macros.m4. - (configure.ac): Remove gl_STAT_MACROS. - * modules/sys_stat (Depends-on): Remove stat-macros. +2007-01-03 Simon Josefsson -2006-10-27 Bruno Haible + * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and + AC_CANONICAL_HOST, to improve autobuild outputs. - * m4/signed.m4: Remove file. - * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED - invocation. - * modules/vasnprintf (Files): Remove m4/signed.m4. +2007-01-03 Paolo Bonzini + Yoann Vandoorselaere -2006-10-27 Bruno Haible + * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected + sockets, server sockets, and other file descriptors. Count errors + to compute the return value. Reorder the code a bit to be easier + to follow. Don't set event bits that were not requested (except + POLLERR and POLLHUP). - Update to GNU gettext 0.16. - * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove - m4/inttypes-h.m4, m4/signed.m4. - * m4/gettext.m4: Update to GNU gettext 0.16. - * m4/intl.m4: New file, from GNU gettext. - * m4/intldir.m4: New file, from GNU gettext. - * config/srclist.txt: Update +2007-01-01 Bruno Haible -2006-10-27 Eric Blake + * modules/lchmod (Include): Require lchmod.h, not lchown.h. - * MODULES.html.sh: Document tempname. - * modules/mkstemp (Depends-on): Add tempname, and drop transitive - dependencies. - (Files): Move lib/tempname.c... - * modules/tempname: ...to this new module. - * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks. - (gl_PREREQ_TEMPNAME): Move... - * m4/tempname.m4: ...to this new file. - * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h. - * modules/sys_stat (Depends-on): Add stat-macros. - * lib/stat_.h (includes): Pick up stat macros. - * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace - if stat macros are broken. - * lib/tempname.c (includes): No need to include "stat-macros.h". - (__gen_tempname) [!_LIBC]: Expose as gen_tempname. - (direxists, __path_search) [!_LIBC]: Don't compile these in - gnulib; the tmpdir module covers that. - * lib/tempname.h: New file. +2007-01-03 Jim Meyering -2006-10-26 Paul Eggert + * modules/fts-lgpl (Depends-on): Add i-ring. Reported by Bruno Haible. - * COPYING: Explain how gnulib-tool converts licence headers. - Almost all wording by Eric Blake. +2007-01-02 Bruno Haible -2006-10-25 Paul Eggert + * modules/settime (Include): Require timespec.h. + * modules/nanosleep (Include): Likewise. - * lib/mbchar.h (is_basic_table): Make read-only. - * lib/mbchar.c (is_basic_table): Likewise. - Reported by John Darrington. +2007-01-01 Bruno Haible -2006-10-25 Bruno Haible + * gnulib-tool (func_emit_copyright_notice): Bump year. + (func_get_autoconf_snippet): Emit a GNULIB_ macro. - * lib/progname.h (set_program_name): Undefine before defining. +2007-01-01 Bruno Haible -2006-10-25 Bruno Haible + Improve support for OpenBSD. + * build-aux/config.rpath (libname_spec): Export. + (library_names_spec): New variable. Export. + * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and + library_names_spec from the config.rpath output. Locate shared library + through the name pattern in library_names_spec. - * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to - false for non-gcc C++ compilers. - Reported by Nelson H. F. Beebe . +2007-01-01 Eric Blake -2006-10-24 Bruno Haible + * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year. - * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU - iconv implementations like Irix iconv. +2006-12-30 Paul Eggert -2006-10-24 Paul Eggert + * gnulib-tool (SORT): Remove, since we no longer assume GNU sort. + Rewrite so as not to assume GNU sort or "tail -1". Also, don't + assume the C locale, and avoid an "eval" that could cause trouble. + Problem with SORT reported by Bob Proulx. - * modules/vararrays: New file. - * m4/vararrays.m4: New file, taken from diffutils. - * MODULES.html.sh: New module vararrays. + * lib/getpagesize.h (getpagesize) [defined __amigaos4__]: + Define. Trivial patch from Henning Nielsen Lund, originally + sent to bug-grep@gnu.org today. -2006-10-24 Karl Berry +2006-12-29 Paul Eggert - * doc/gnulib-intro.texi: --- instead of --; non-naive naive. - Don't call GNU Unix. + * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and + struct stat. Problem reported by Henning Nielsen Lund. + * lib/acl.c: Include acl.h first, to check interface. Don't + bother to include sys/types.h and sys/stat.h again. -2006-10-24 Ralf Wildenhues +2006-12-28 Paul Eggert - * users.txt: Add Libtool. + Import the following change from libc; problem reported by + Sven Verdoolaege. - Sync from Libtool: + 2005-10-13 Ulrich Drepper - 2006-10-24 Paul Eggert + [BZ #1373] + * lib/argp.h: Remove __NTH for __argp_usage inline function. - * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform - to gnulib's policy of including config.h unconditionally. +2006-12-28 Jim Meyering -2006-10-24 Bruno Haible + * build-aux/announce-gen: Do not assume that the package + builds any of tar.gz, tar.bz2, and .xdelta files. + Suggestion from Simon Josefsson. - * modules/wcwidth (Files): Add m4/wint_t.m4. - * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T. - * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined. +2006-12-28 Simon Josefsson -2006-10-24 Paul Eggert + * modules/announce-gen: New file. - * lib/getdate.y (yyerror): Make the arguments pointer-to-const, - to pacify GCC with some -W flags enabled. Problem reported by - Bruno Haible. +2006-12-27 Paul Eggert -2006-10-24 Jim Meyering + * lib/mbchar.h: Just include ; the wctype module + handles its gotchas now. + * lib/mbswidth.c: Likewise. + * lib/wcwidth.h: Likewise. + * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h + and iswcntrl; the wctype module does this stuff now. + * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise. + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise. + * modules/mbchar (Depends-on): Add wctype. + * modules/mbswidth (Depends-on): Likewise. + * modules/wcwidth (Depends-on): Likewise. - * MODULES.html.sh: Remove uinttostr. It's not a module. - Reported by Karl Berry. +2006-12-27 Eric Blake -2006-10-23 Bruno Haible + * lib/fnmatch.c: Reinstate inclusion of , since this + module uses more than what is required to provide. - * lib/fts.c (fts_build): Move variable declaration, for C89 compliance. +2006-12-26 Eric Blake -2006-10-24 Bruno Haible + * gnulib-tool (sed_extract_prog): Avoid space-tab. - * lib/gl_list.h: Use C comment style, not C++ comment style. +2006-12-26 Eric Blake -2006-10-23 Eric Blake + * modules/absolute-header: New module. + * modules/fcntl (Depends-on): Depend on it. + * modules/inttypes (Depends-on): Likewise. + * modules/stdint (Depends-on): Likewise. + * modules/sys_stat (Depends-on): Likewise. + * modules/wctype (Depends-on): Likewise. + * MODULES.html.sh (Support for building libraries and + executables): Document it. - * lib/getaddrinfo.c (includes): Add missing include. +2006-12-25 Paul Eggert -2006-10-23 Bruno Haible - Paul Eggert + * gnulib-tool (SED): Remove, undoing previous change. + The problem was that it broke coreutils on Solaris, because + "sed --posix" leaked into a makefile. + (sed): New alias, if 'alias' and GNU sed. - Ability to rename obstack_free. - * lib/obstack.h (__obstack_free): New macro. Declare instead of - obstack_free. - (obstack_free): Invoke the __obstack_free macro. - * lib/obstack.c (obstack_free): Use __obstack_free macro. +2006-12-24 Jim Meyering -2006-10-23 Bruno Haible - Paul Eggert + Work around an fchownat bug in glibc-2.4: + http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html + This bug would cause "chown -RP ... DIR" to follow symlinks in DIR, + in spite of the -P option. + * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG): + New macros. + (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT. + * modules/openat (Files): Add lib/fchownat.c. + * lib/openat.c (fchownat): Don't define here. Move to... + * lib/fchownat.c: ...this new file. - * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers - __argc, __argv from the declaration. (They are defined as macros on - mingw.) +2006-12-23 Paul Eggert -2006-10-22 Bruno Haible + Fix bug reported by Bruno Haible in + + where quotearg.c didn't compile on Mac OS X 10.2 because it + lacks and wint_t. + * lib/wctype_.h (__wctype_wint_t): New type. + Include , , only if HAVE_WINT_T. + (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph): + (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit): + Arg is now of type __wctype_wint_t, not wint_t. + * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and + substitute HAVE_WINT_T. + * modules/wctype (Files): Add m4/wint_t.m4. + (wctype.h): Substitute HAVE_WINT_T. - * doc/gnulib-intro.texi: New file. - * doc/gnulib.texi: Include it. +2006-12-23 Bruno Haible -2006-10-21 Bruno Haible + * lib/safe-read.h [C++]: Wrap declarations in extern "C". - * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters - "Introduction", "Miscellanous Notes", "Particular Modules". +2006-12-23 Bruno Haible -2006-10-21 Bruno Haible + * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of + S_ISLNK. + Needed because gnulib's sys/stat.h replacement defines S_ISLNK on + mingw. - * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): - Change mostlyclean-local rule to avoid sh syntax error from bash - versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty. +2006-12-22 Bruno Haible -2006-10-23 Jim Meyering + * lib/copy-file.c: Include acl.h. + (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod. + Close the file descriptors only after being done with copy_acl. + * modules/copy-file (Depends-on): Add acl. - * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr, - in place of snprintf. +2006-12-22 Bruno Haible - * modules/inttostr (Files): Add lib/uinttostr.c. - * lib/uinttostr.c (inttostr): New file/function. - * lib/inttostr.h (uinttostr): Declare. - * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]). - * MODULES.html.sh (Numeric conversion functions ): - Add uinttostr. - * modules/getaddrinfo (Depends-on): Remove snprintf. Add inttostr. + * gnulib-tool (SED): New variable. + Use $SED instead of sed everywhere. -2006-10-21 Paul Eggert +2006-12-22 Bruno Haible - * lib/canonicalize.c (ELOOP): Define if not already defined. - Problem reported by Bruno Haible in - . + * modules/no-c++: New file. + * m4/no-c++.m4: New file. + * MODULES.html.sh (Support for building libraries and executables): + Add no-c++. -2006-10-21 Paul Eggert +2006-12-22 Paul Eggert - * lib/stdint_.h [defined _AIX]: Don't include . - Problem reported by Perry Smith and Ville Laurikari. + * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf. + Include , and use its INT_MAX to rewrite the + j loop so that it does not overflow 'int'. Problem reported by + Ralf Wildenhues in + . + Play it safe by shifting left by 1 rather than multiplying by 2, + as GCC is less likely to optimize this away when the value + is signed (when it assumes overflow leads to undefined behavior). + Also, don't assume time_t uses two's complement. - * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c - uses. +2006-12-21 Paul Eggert -2006-10-19 Bruno Haible + * MODULES.html.sh: New module wctype. + * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files. + * lib/fnmatch.c: Don't bother to include before + , since the new wctype module should fix this. + * lib/quotearg.c: Include unconditionally, since + the wctype module should arrange for it. + * lib/regex_internal.h: Likewise. + * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint, + since the wctype module should handle this now. + * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h. + * modules/fnmatch (Depends-on): Add wctype. + * modules/quotearg (Depends-on): Likewise. + * modules/regex (Depends-on): Likewise. - * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed - for mingw. +2006-12-19 Bruno Haible -2006-10-19 Bruno Haible + * lib/strdup.h [C++]: Wrap definitions in extern "C". + Suggested by Lorenzo Bettini . - * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition. - Needed for mingw. +2006-12-19 Ralf Wildenhues -2006-10-19 Bruno Haible + * modules/savewd (Depends-on): Fix dependency on fcntl. - * m4/size_max.m4 (gl_SIZE_MAX): Cache the result. +2006-12-18 Paul Eggert -2006-10-19 Bruno Haible + * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h + conforms to C99, rather than relying on the user's environment + setting of STDINT_H. - * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE - it. +2006-12-18 Paul Eggert + and Eric Blake -2006-10-19 Bruno Haible + * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1. + This is more consistent with the other defines here. + * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): + Port to z/OS. Problem reported by Paul Gilmartin. + Change local vars to use gl_ prefix rather than ac_. + Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency + with other defines. + * modules/double-slash-root: New module. + * modules/dirname (Files): Remove m4/double-slash-root.m4. + (Depends-on): Add double-slash-root. + * MODULES.html.sh (File system functions): Mention new module. - * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP - invocation. +2006-12-14 Paul Eggert -2006-10-19 Bruno Haible + * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h. + (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch. + This is for the benefit of gzip, which doesn't do i18n. - * gnulib-tool (func_create_testdir): Don't include ftruncate and - mountlist by default. +2006-12-12 Jim Meyering -2006-10-16 Bruno Haible + * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error. + Reported by Andreas Schwab . - * lib/c-strstr.c: Include c-strstr.h. +2006-12-12 Bruno Haible -2006-10-18 Charles Wilson + Merge these changes. + 2006-09-05 Bruno Haible + * lib/iconvme.c (iconv_string): No need to save and restore errno when + iconv_alloc succeeded. + (iconv_alloc): Don't assume that malloc() or realloc(), when failing, + sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to + test for " && dest " at the end - dest is always != NULL there. Call + iconv with 4xNULL arguments initially, to reset the state. Call iconv + with 2xNULL arguments, also to flush the state storage. Handle the + IRIX iconv behaviour. Realloc the final result, to throw away unused + memory. - * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends - in a slash. +2006-12-11 Paul Eggert -2006-10-18 Bruno Haible + * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat + and fchmodat unconditionally, since glibc 2.4 has them. + Problem reported by Arkadiusz Miskiewicz. - * lib/lock.h [C++]: Wrap definitions in extern "C". +2006-12-10 Bruno Haible -2006-10-18 Bruno Haible + * gnulib-tool (func_import): Show the include files only for those + modules that are copied and specified. + Reported by Karl Berry. - * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the - gl_LIBOBJS list. +2006-12-08 Jim Meyering -2006-10-18 Bruno Haible + * build-aux/announce-gen ($VERSION): Don't use of $Revision...$. + Instead, use Emacs' time-stamp write hook. Note that the time is UTC. - * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning. + * build-aux/announce-gen: Add two new options, both optional: + --bootstrap-tools=TOOL_LIST + a comma-separated list of tools, e.g., + autoconf,automake,bison,gnulib + --gnulib-snapshot-date=DATE + if gnulib is in the bootstrap tool list, + then report this as the snapshot date. + If not specified, use the current date/time. + If you specify a date here, be sure it's UTC. -2006-10-19 Paul Eggert +2006-12-05 Ralf Wildenhues - * lib/xstrtol.h: Include gettext.h. - (_STRTOL_ERROR): Wrap English-language formats inside gettext. - Problem reported by Eric Blake. - * modules/xstrtol (Depends-on): Add gettext-h. + * tests/test-argp-2.sh: Fix test to match actual output. + (func_compare): Fix sed script to be portable. -2006-10-19 Paul Eggert (tiny change) +2006-12-05 Paul Eggert - * lib/strftime.c (advance): New macro. - (add): Use it to avoid adding 0 to a FILE *. FILE can be an - incomplete type, so you can't add 0 to it. Problem and patch - reported by Eelco Dolstra for dietlibc. + * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a + workaround for this case. It is not autoconfigured now; offhand + it's hard to see how to autoconfigure it. -2006-10-18 Jim Meyering +2006-12-03 Paul Eggert - * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the - type for a local, and rename it: s/up/user_proc/. + * lib/mkdir-p.c (make_dir_parents): Fix race condition when making + a directory that is about to be chowned. Such a directory's + initial file permissions should permit the owner only and this + should not be changed until after the chown, since the group and + other bits would be incorrect if they granted permission before + the chown. -2006-10-18 Sergey Poznyakoff + Fix porting problem for iswctype reported by Georg Schwarz in: + http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html + * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too. + * lib/regex_internal.h (RE_ENABLE_I18N): Likewise. + * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too. + * m4/regex.m4 (gl_PREREQ_REGEX): Likewise. - * lib/readutmp.c (desirable_utmp_entry): Implement new flag: - READ_UTMP_USER_PROCESS. - * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag +2006-12-03 Jim Meyering -2006-10-17 Paul Eggert + * lib/fts.c (fts_load): Don't set sp->fts_dev here, since + p->fts_statp may not yet be defined. + (fts_read): Instead, set it in the caller, once p->fts_statp is + sure to be defined, and corresponds to a top-level directory. + This bug made du -x fail. Here's the coreutils test case: + http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f + Reported by Mike Frysinger. - * lib/localcharset.c: Do not check HAVE_SETLOCALE. - * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale. +2006-12-01 Jim Meyering -2006-10-17 Eric Blake + * modules/savewd (Depends-on): Add fcntl_h to avoid self-test + build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW. + Reported by Simon Josefsson. - * lib/sigprocmask.c (sigprocmask): Fix typo. +2006-11-30 Jim Meyering - * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo. + * m4/warning.m4: Use the all-permissive copyright notice + recommended by RMS (rather than LGPL). + * m4/vararrays.m4: Likewise. + * m4/flexmember.m4: Likewise. - * modules/clean-temp (Makefile.am): Don't add to make output... - (configure.ac): ...instead define SIGNAL_SAFE_LIST inside - config.h. +2006-11-29 Bruno Haible -2006-10-17 Bruno Haible + * gnulib-tool (func_emit_lib_Makefile_am): Initialize also + noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES + using +=. + Reported by Simon Josefsson . - * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define - differently if DEFAULT_TEXT_DOMAIN is set. +2006-11-28 James Youngman -2006-10-16 Bruno Haible + * README: Advise users that they might find the bug-gnulib@gnu.org + and autotools-announce@gnu.org mailing lists useful. - * lib/clean-temp.c: Include fwriteerror.h. +2006-11-28 Bruno Haible -2006-10-16 Bruno Haible + * m4/ptrdiff_max.m4: Remove file. - * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack. +2006-11-21 Bruno Haible -2006-10-16 Bruno Haible + * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of + _AC_COMPUTE_INT. + (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61. + * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of + _AC_COMPUTE_INT. + (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61. + * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of + _AC_COMPUTE_INT. + (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61. - * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t. - * lib/sigprocmask.h: Include . - (sigset_t): Use the system's definition if present. +2006-11-28 Jim Meyering -2006-10-17 Eric Blake + * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid + warning from "gcc -Wshadow" about shadowing the builtin. - * lib/xvasprintf.c (includes): Assume config.h. - * lib/xasprintf.c (includes): Likewise. +2006-11-27 Bruno Haible -2006-10-16 Paul Eggert + * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of + _AC_COMPUTE_INT. + (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61. - * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is - at least as wide as intmax_t. +2006-11-27 Bruno Haible + Paul Eggert -2006-10-16 Alexandre Duret-Lutz + * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity. - (Imported from Automake.) - * build-aux/gnupload: Update to version 1.1 of directive file. +2006-11-26 Bruno Haible -2006-10-16 Eric Blake + * gnulib-tool (func_emit_lib_Makefile_am): Initialize also + noinst_LTLIBRARIES. - * modules/configmake (Makefile.am): Add pkglibexecdir support, to - match Automake 1.10a. +2006-11-27 Paul Eggert + Bruno Haible -2006-10-14 Bruno Haible + * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0 + if compiling with "gcc -ansi". - * modules/sigprocmask: New file. - * lib/sigprocmask.h: New file. - * lib/sigprocmask.c: New file. - * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from - gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING, - request sigprocmask.o. - (gl_PREREQ_SIGPROCMASK): New macro. - * modules/fatal-signal (Files): Remove m4/signalblocking.m4. - (Depends-on): Add sigprocmask. - * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require - gt_SIGNALBLOCKING. Test for 'raise' only once. - * lib/fatal-signal.c: Include sigprocmask.h. - (fatal_signal_set, init_fatal_signal_set, block_fatal_signals, - unblock_fatal_signals): Define always. - * MODULES.html.sh (Support for systems lacking POSIX:2001): Add - sigprocmask. +2006-11-26 Paul Eggert -2006-10-14 Paul Eggert + Fix some incompatibilities with gcc -ansi -pedantic. + * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax + if compiling pedantically with GCC, unless it's C99 or later. + Don't trust sys/cdefs.h's definition of __restrict_arr, either, as + it mishandles gcc -ansi -pedantic as well. + * lib/regex_internal.h (re_token_t): Don't use enum bitfields + if gcc -pedantic. + * lib/regexec.c (check_node_accept_bytes): Don't use auto + initializers for struct if -pedantic, unless it's C99 or later. - Sync from Automake. - * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m, - which incorrectly sets the mode of an existing destination - directory. In some cases the unpatched install-sh could do the - equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD - system. We hope this is rare in practice, but it's clearly worth - fixing. Problem reported by Alex Unleashed in - . - Also, don't bother to check for -m bugs unless we're using -m; - suggested by Stepan Kasal. +2006-11-25 Nix (tiny change) -2006-10-14 Ralf Wildenhues + * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime. + Don't close an fd more than once. Identical atimes indicate + success, not failure. - Sync from Automake. - * build-aux/depcomp (gcc3): Put dependency extraction flags before the - `-c' flag, so they appear at the same position as in %FASTDEP% - mode in depend2.am. Fixes build failure for FreeBSD's c89, - which ignores unknown options only after the first non-option. - Bug report against M4 by Nelson H. F. Beebe. +2006-11-22 Robinson Mittmann (tiny change) -2006-10-13 Jim Meyering + * lib/sincosl.c (kernel_sinl): Fix typo in threshold. - Fix a bug in yesterday's change. - * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT, - p->fts_statp->st_dev would be used uninitialized. - Ensures that we always call fts_stat on the very first entry. - Miklos Szeredi reported that find -xdev stopped working. +2006-11-23 Jim Meyering -2006-10-12 Bruno Haible + * build-aux/announce-gen: New file. From coreutils. - * gnulib-tool (func_get_automake_snippet): Append an automatically - computed EXTRA_DIST augmentation. - * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation. - * modules/alloca-opt (Makefile.am): Likewise. - * modules/allocsa (Makefile.am): Likewise. - * modules/arcfour (Makefile.am): Likewise. - * modules/arctwo (Makefile.am): Likewise. - * modules/argmatch (Makefile.am): Likewise. - * modules/argz (Makefile.am): Likewise. - * modules/atexit (Makefile.am): Likewise. - * modules/backupfile (Makefile.am): Likewise. - * modules/byteswap (Makefile.am): Likewise. - * modules/c-strtod (Makefile.am): Likewise. - * modules/c-strtold (Makefile.am): Likewise. - * modules/calloc (Makefile.am): Likewise. - * modules/canon-host (Makefile.am): Likewise. - * modules/canonicalize (Makefile.am): Likewise. - * modules/chdir-long (Makefile.am): Likewise. - * modules/chdir-safer (Makefile.am): Likewise. - * modules/check-version (Makefile.am): Likewise. - * modules/chown (Makefile.am): Likewise. - * modules/cloexec (Makefile.am): Likewise. - * modules/close-stream (Makefile.am): Likewise. - * modules/closeout (Makefile.am): Likewise. - * modules/crc (Makefile.am): Likewise. - * modules/csharpexec (Makefile.am): Likewise. - * modules/cycle-check (Makefile.am): Likewise. - * modules/des (Makefile.am): Likewise. - * modules/dev-ino (Makefile.am): Likewise. - * modules/dirfd (Makefile.am): Likewise. - * modules/dirname (Makefile.am): Likewise. - * modules/dup2 (Makefile.am): Likewise. - * modules/eealloc (Makefile.am): Likewise. - * modules/error (Makefile.am): Likewise. - * modules/euidaccess (Makefile.am): Likewise. - * modules/exclude (Makefile.am): Likewise. - * modules/exitfail (Makefile.am): Likewise. - * modules/fcntl-safer (Makefile.am): Likewise. - * modules/fcntl (Makefile.am): Likewise. - * modules/file-type (Makefile.am): Likewise. - * modules/fileblocks (Makefile.am): Likewise. - * modules/filemode (Makefile.am): Likewise. - * modules/filenamecat (Makefile.am): Likewise. - * modules/fnmatch (Makefile.am): Likewise. - * modules/fopen-safer (Makefile.am): Likewise. - * modules/fpending (Makefile.am): Likewise. - * modules/fprintftime (Makefile.am): Likewise. - * modules/free (Makefile.am): Likewise. - * modules/fsusage (Makefile.am): Likewise. - * modules/ftruncate (Makefile.am): Likewise. - * modules/fts (Makefile.am): Likewise. - * modules/gc-arcfour (Makefile.am): Likewise. - * modules/gc-des (Makefile.am): Likewise. - * modules/gc-hmac-md5 (Makefile.am): Likewise. - * modules/gc-hmac-sha1 (Makefile.am): Likewise. - * modules/gc-md4 (Makefile.am): Likewise. - * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise. +2006-11-22 Jim Meyering + + Work around a compile-time error from the HP-UX 11.00 /bin/cc. + * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name. + (fts_read): Use a temporary to narrow the overused st_size member + before using it in a switch statement. Reported by Matthew Woehlke. + + * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument. + * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise. + +2006-11-20 Bruno Haible + + * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use + changequote instead of pairs of brackets. + Reported by Andreas Schwab . + +2006-11-21 Jim Meyering + + * lib/fts.c (fts_safe_changedir): Move a declaration "up", + so as to remain compatible with older compilers. + Patch from Michael Deutschmann. + +2006-11-20 Paul Eggert + + * MODULES.html.sh (File system functions): Add openat. + + * lib/openat.h (rpl_fstatat): New macro, if + [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK. + (fstatat): Define to rpl_fstatat under the same conditions, + unless COMPILING_FSTATAT. + * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat + seems to have the bug. + * lib/fstatat.c: New file. + * modules/openat (Files): Add it. + +2006-11-20 Bruno Haible + + * Makefile: New file. + +2006-11-20 Jim Meyering + + The beginnings of syntax-related checks for gnulib. + * lib/Makefile: New file. + * lib/t-idcache: New script. Ensure that the two halves of + idcache.c stay in sync. + + * lib/idcache.c: Adjust comments in user- and group- portions to + be more accurate, and to be consistent with one another. + +2006-11-20 Jim Meyering + + * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to + continue using the flexible array member (thus, this module performs + half as many malloc calls), with the addition that... + (getgroup, getuser): Consistently record a non-match via an empty + "name" string, and map an empty string match to a NULL return value. + * modules/idcache (Depends-on): Re-add flexmember. + + * lib/idcache.c (getuser): Remove all uses of the register keyword. + (getuidbyname, getgroup, getgidbyname): Likewise. + + Use cleaner syntax: NULL rather than 0. + * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0. + +2006-11-20 Paul Eggert + + * lib/idcache.c: Undo most recent patch, dated 2006-11-06. + It mishandled the case where the group was missing. + Problem reported by Greg Schafer. + * modules/idcache: Likewise. + +2006-11-18 Jim Meyering + + * check-module (%exempt_header): Add exception for some + conditionally-included headers. + + * modules/i-ring (Depends-on): Add verify. + (License): Change to LGPL. + +2006-11-16 Paul Eggert + + * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf. + * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h + and inttostr.h. Use snprintf rather than uinttostr, so that + LGPLed code doesn't depend on GPLed. + +2006-11-17 Paul Eggert + + * modules/inline (License): Change from GPL to LGPL. + +2006-11-17 Jim Meyering + + * modules/d-type (License): Switch to LGPL. + +2006-11-15 Bruno Haible + + * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message. + +2006-11-15 Eric Blake + + * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by + the module dependency. + +2006-11-15 Yoann Vandoorselaere + Bruno Haible + + * gnulib-tool (func_create_testdir): Add license consistency check. + +2006-11-15 Eric Blake + + * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a + random "(cached)" in configure output. + +2006-11-14 Ralf Wildenhues + + * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the + test for conforming inttypes.h is both announced and cached. + + * MODULES.html.sh (seen_modules, seen_files): New variables. + (func_module): Rewrite to use a few less gnulib-tool and sed + invocations. Avoid a couple of quadratic algorithms for ... + (missed_modules, missed_files): ... these, with ... + (func_append, func_tmpdir): ... these new functions, from + gnulib-tool. Analogously, install traps for cleanup. + + * tests/test-gc.c (main): Remove unused variables. + * tests/test-read-file.c: Include stdlib.h, for 'free'. + +2006-11-14 Paul Eggert + + * modules/inttostr (License): Change to LGPL. + +2006-11-14 Eric Blake + + * modules/tempname (License): Change to LGPL. + +2006-11-14 Eric Blake + + * doc/functions.texi (Function Portability): *printf functions on + Cygwin now understand all POSIX size specifiers. + +2006-11-14 Bruno Haible + + * modules/c-ctype (License): Change to LGPL. + +2006-11-12 Bruno Haible + + * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS, + AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed + for GNOME libraries, for which the include files are installed in + subdirectories of $prefix/include. + +2006-11-12 Bruno Haible + + * m4/lib-link.m4: Require at least autoconf-2.54. + (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library + name to underscores for the --with option. + +2006-11-13 Bruno Haible + + * gnulib-tool (func_create_testdir): Set gl_source_base correctly in + the tests directory. + Reported by Ralf Wildenhues. + +2006-11-13 Bruno Haible + + * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES. + (func_emit_initmacro_end): Undo the override here. + (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES. + Works around the famous automake error in coreutils. + +2006-11-13 Eric Blake + + * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the + element, not its node. + +2006-11-12 Bruno Haible + + * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of + '$(top_srcdir)/build-aux/', taking into account the real auxdir. + +2006-11-12 Bruno Haible + + * gnulib-tool: New option --local-symlink. + (func_usage): Document it. + (lsymbolic): New variable. + (func_import, func_create_testdir): If --symlink was not specified, + test whether --local-symlink was specified and the file comes from + the local_gnulib_dir. + +2006-11-12 Bruno Haible + + * gnulib-tool (func_ln): New function. + (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s". + +2006-11-12 Bruno Haible + + Finish support for source files in subdirectories. + * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files + are in subdirectories, set uses_subdirs and add 'subdir-objects' to + AUTOMAKE_OPTIONS. + (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case. + +2006-11-12 Bruno Haible + + * gnulib-tool (func_get_automake_snippet): Synthesize also an + EXTRA_lib_SOURCES augmentation. + (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty. + +2006-11-12 Jim Meyering + + Make fts (in FTS_CWDFD mode) more efficient by caching a few open + file descriptors. This also averts a failure on systems with + native openat support when a traversed directory lacks "x" access. + * lib/fts_.h: Include "i-ring.h" + (struct FTS) [fts_fd_ring]: New member. + * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear. + (FCHDIR): Add parentheses. + (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away. + (cwd_advance_fd): Add a 3rd parameter. Adjust all callers. + When descending, rather than simply closing the previous + fts_cwd_fd value, push that file descriptor onto the ring. + (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions. + (fts_open): Initialize the new fd_ring member. + (fts_close): Clear the ring. + (fts_safe_changedir): When possible, use our new fd_ring to skip + the diropen and fstat and dev/ino comparison that would normally + accompany a virtual `chdir ("..")'. + + * modules/fts (Depends-on): Add i-ring. + * modules/i-ring: New module. + * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files. + * m4/i-ring.m4: New file. + +2006-11-12 Ralf Wildenhues + + * gnulib-tool (func_create_testdir): Fix replacement of + `build-aux' in configure.ac. Run autotools in gltests + subdirectory. + (func_create_testdir, func_create_megatestdir, test): There is + no need for '--force' in most autotool invocations in a new + tree. Actually fail the whole test if any of the tools, or the + configure or make stages fail. + + Sync from Automake. + * build-aux/gnupload: Revert last change. Add pointer to upload + instructions of the GNU Maintenance Instructions. + Suggestion by Karl Berry. + +2006-11-10 Jim Meyering + + * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s. + +2006-11-09 Paul Eggert + + * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]: + (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]: + (bind_textdomain_codeset) [! ENABLE_NLS]: + Evaluate all the arguments. That way, callers get compatible behavior + if the arguments have side effects. Also, it avoids some GCC + diagnostics in some cases; Joel E. Denny reported problems when Bison + was configured with --enable-gcc-warnigs. + +2006-11-10 Jim Meyering + + * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that + relevant options in CFLAGS (like -O, -fno-inline) are taken into + account. + +2006-11-10 Jim Meyering + + * modules/inline: New file/module. + * modules/xalloc (Files): Remove m4/inline.m4. + (Depends-on): Add inline, instead. + * modules/oset: Likewise. + * modules/list: Likewise. + +2006-11-09 Paul Eggert + + * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t. + Problem reported by Matthew Woehlke. + +2006-11-09 Bruno Haible + + * lib/tempname.c (gen_tempname): Remove variant that invokes + __gen_tempname. + * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for + __gen_tempname. + +2006-11-08 Bruno Haible + + * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int + to 'yes' instead of 'cross-compiling'. + +2006-11-08 Paul Eggert + + * lib/quotearg.h (quotearg_free): New decl. + * lib/quotearg.c (quotearg_free): New function. + (slot0, nslots, slotvec0, slotvec): + Now file-scope so that quotearg_free can get at them. + +2006-11-08 Ralf Wildenhues + + Sync from Automake. + * build-aux/gnupload: Add missing 'gnu' to example URL. + Report by Karl Berry. + +2006-11-08 Bruno Haible + + * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__. + Suggested by Paul Eggert. + +2006-11-08 Jim Meyering + + * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice. + It's already included if !_LIBC. + (fts_safe_changedir): Add a comment. + +2006-11-07 Paul Eggert + + * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in + Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by + Matthew Woehlke. + + * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move + definitions up, to avoid colliding with change below. + (static_inline) [HAVE_INLINE]: New macro. + (xnmalloc, xnrealloc, x2nrealloc, xcharalloc): + Provide extern decls when !HAVE_INLINE. Do not define unless + static_inline is defined, either by us or by xmalloc.c. Use + static_inline rather than static inline. + (XCALLOC): Optimize sizeof(T) = 1 case. + * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro. + +2006-11-07 Bruno Haible + + * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case. + * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of + AC_C_INLINE. + * modules/xalloc (Files): Add m4/inline.m4. + +2006-11-07 Ralf Wildenhues + + * README: Fix typo. + * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename... + (Miscellanous Notes): ...from this. + +2006-11-07 Paul Eggert + + * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER): + Mention that offsetof should be used instead of sizeof. + From Bruno Haible. + +2006-11-07 Bruno Haible + + * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc. + +2006-11-06 Paul Eggert + + Simplify xmalloc expressions. Add overflow check in xmalloc arguments. + * lib/gl_anyavltree_list2.h (create_subtree_with_contents): + (gl_tree_create, gl_tree_add_first, gl_tree_add_last): + (gl_tree_add_before, gl_tree_add_after): + Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc. + * lib/gl_anyhash_list2.h (hash_resize): Likewise. + * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create): + (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before): + (gl_linked_add_after, gl_linked_add_at): Likewise. + * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): + (gl_tree_create, gl_tree_add_first, gl_tree_add_last): + (gl_tree_add_before, gl_tree_add_after): Likewise. + * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise. + * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise. + * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise. + +2006-11-06 Ralf Wildenhues + + * lib/gl_oset.h: Use C comment style, not C++ comment style. + +2006-11-06 Bruno Haible + + * m4/inline.m4: New file. + * m4/gl_list.m4 (gl_LIST): Require gl_INLINE. + * modules/list (Files): Add m4/inline.m4. + * modules/oset (Files): Likewise. + +2006-11-06 Paul Eggert + + * lib/idcache.c: Include , for offsetof. + (struct userid.name): Change from char * to a flexible array member. + All uses changed. + * modules/idcache (Depends-on): Add flexmember. + + * MODULES.html.sh (Core language properties): New module flexmember. + * modules/flexmember, m4/flexmember.m4: New files. + + * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static + inline functions that are identical with the old xnmalloc_inline, + xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c. This is so + that we can avoid some unnecessary integer multiplications and + divisions in the common case where the element size is known at + compile time. + (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer + needed. + (xnboundedmalloc): Remove. + (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for + arguments, for consistency with rest of this header. + (xcharalloc): Rewrite using XNMALLOC. + * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline): + (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove. The *_inline + versions have been moved to lib/xalloc.h and renamed to be the + non-*_inline versions. + (xmalloc, xrealloc): Implement without reference to the xnmalloc + and xnrealloc functions, since those functions are now inline and + now call us. + (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate + renaming described above. + * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since + xmalloc.c no longer uses inline directly. gl_PREREQ_XALLOC now + captures the dependency in AC_C_INLINE. + + New module canonicalize-lgpl, proposed by Charles Wilson in + + with a few small changes afterwards. + * MODULES.html.sh (File system functions): New module + canonicalize-lgpl. + * lib/canonicalize.h: Add comments for canonicalize_filename_mode + and canonicalize_file_name. + * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4: + * modules/canonicalize-lgpl: New files. + +2006-11-05 Bruno Haible + + * gnulib-tool (func_import, func_create_testdir): Create directories + also for files in subdirectories of lib/. + +2006-11-05 Bruno Haible + + * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement + ANSI C compliant. + +2006-11-03 Bruno Haible + + Simplify xmalloc expressions. Add overflow check in xmalloc arguments. + * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE. + * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros. + (xnboundedmalloc): New inline function. + * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc. + * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of + xmalloc. + * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of + xmalloc. + * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc. + * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc. + * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of + xmalloc. + (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc. + * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of + xmalloc. + * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before, + gl_tree_add_after): Use XMALLOC instead of xmalloc. + * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of + xmalloc. + (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc. + * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before, + gl_tree_add_after): Use XMALLOC instead of xmalloc. + * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc. + * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc. + * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc. + * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc. + +2006-11-03 Bruno Haible + + * lib/c-ctype.h [C++]: Define functions without name mangling. + * lib/fwriteerror.h [C++]: Likewise. + * lib/gcd.h [C++]: Likewise. + * lib/linebreak.h [C++]: Likewise. + +2006-11-03 Paul Eggert + + * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING): + (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode): + Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined. + * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): + Check for functions and headers just once. + Check for declaration of canonicalize_file_name. + Define PROVIDE_CANONICALIZE_FILENAME_MODE. + +2006-11-02 Charles Wilson + + * gnulib-tool (func_import): Fix typo in actioncmd. + +2006-11-02 Bruno Haible + + * gnulib-tool (func_get_automake_snippet): Interpret a backslash- + newline sequence in the Makefile.am snippet as a space, like "make" + does. + Reported by Roger Persson . + +2006-11-01 Bruno Haible + + * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is + already declared in . + * lib/strcase.h (strncasecmp): Don't declare it if yes. + +2006-11-01 Bruno Haible + + * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here. + * lib/strcase.h: Include . + (strcasecmp): Define to rpl_strcasecmp here. + +2006-11-01 Bruno Haible + + * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results. + +2006-11-01 Eric Blake + + * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation. + + * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration. + +2006-10-29 Bruno Haible + + Make it compile in C++ mode. + * lib/full-write.c (full_rw): Add a cast. + +2006-11-01 Bruno Haible + + * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to + be POSIX compliant. + Reported by Roger Persson . + +2006-11-01 Eric Blake + + * lib/getopt_.h: Fix comments. + +2006-10-31 Eric Blake + + * modules/tmpdir (Depends-on): Add sys_stat. + * modules/mkdtemp (Depends-on): Add tempname, drop unistd. + * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this. + * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat. + * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to + tempname. + +2006-10-31 Paul Eggert + + Avoid some C++ diagnostics reported by Bruno Haible. + * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than + xmalloc. + (quotearg_alloc): Use xcharalloc rather than xmalloc. + (struct slotvec): Move to top level. + (quotearg_n_options): Rewrite to avoid xmalloc. + * lib/xalloc.h (xcharalloc): New function. + * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup): + [defined __cplusplus]: Add function template that provides result + type propagation. This part of the change is from Bruno Haible. + +2006-10-29 Bruno Haible + + Make it compile in C++ mode. + * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result. + * lib/strnlen1.c (strnlen1): Cast memchr result. + * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'. + * lib/clean-temp.c (string_equals, string_hash): Add casts. + (create_temp_dir): Rename local variable 'template'. + (compile_csharp_using_sscli): Add cast. + * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result. + * lib/findprog.c (find_in_path): Likewise. + * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result. + * lib/wait-process.c (register_slave_subprocess): Likewise. + +2006-10-22 Bruno Haible + + * modules/tsearch: New file. + * lib/tsearch.h: New file. + * lib/tsearch.c: New file, from glibc-2.5 with small modifications. + * m4/tsearch.m4: New file. + * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch. + +2006-10-29 Eric Blake + + * lib/arcfour.c: Assume config.h. + * lib/arctwo.c: Likewise. + * lib/base64.c: Likewise. + * lib/check-version.c: Likewise. + * lib/crc.c: Likewise. + * lib/des.c: Likewise. + * lib/gc-gnulib.c: Likewise. + * lib/gc-libgcrypt.c: Likewise. + * lib/gc-pbkdf2-sha1.c: Likewise. + * lib/getaddrinfo.c: Likewise. + * lib/getdelim.c: Likewise. + * lib/getline.c: Likewise. + * lib/hmac-md5.c: Likewise. + * lib/hmac-sha1.c: Likewise. + * lib/iconvme.c: Likewise. + * lib/md2.c: Likewise. + * lib/md4.c: Likewise. + * lib/memxor.c: Likewise. + * lib/read-file.c: Likewise. + * lib/readline.c: Likewise. + * lib/rijndael-alg-fst.c: Likewise. + * lib/rijndael-api-fst.c: Likewise. + * lib/xgetdomainname.c: Likewise. + +2006-10-28 Eric Blake + + * lib/xstrndup.c: Assume config.h. + +2006-10-27 Paul Eggert + + Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h. + stat-macros.h is now for our own macros, whereas stat_h is for + macros in the name space. + * lib/stat-macros.h: Remove copyright notice, as this file is now tiny. + (STAT_MACROS_H): Remove. + (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM): + (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT): + (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD): + (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP): + (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH): + (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO): + Move these macros to ... + * lib/stat_.h: here. Don't include stat-macros.h. + * lib/canonicalize.c: Don't include stat-macros.h. + * lib/chown.c: Likewise. + * lib/euidaccess.c: Likewise. + * lib/file-type.c: Likewise. + * lib/filemode.c: Likewise. + * lib/glob.c: Likewise. + * lib/isapipe.c: Likewise. + * lib/lchown.c: Likewise. + * lib/lstat.c: Likewise. + * lib/mkdir-p.c: Likewise. + * lib/rmdir.c: Likewise. + * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS. + * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h + unless mkdir isn't declared, to speed up 'configure'. + Always create sys/stat.h, since it's unlikely any real sys/stat.h + would define all the S_* symbols. + * modules/canonicalize (Depends-on): + Depend on sys_stat, not stat-macros. + * modules/chown: Likewise. + * modules/euidaccess: Likewise. + * modules/filemode: Likewise. + * modules/file-type: Likewise. + * modules/glob: Likewise. + * modules/isapipe: Likewise. + * modules/lchown: Likewise. + * modules/lstat: Likewise. + * modules/mkancesdirs: Likewise. + * modules/rmdir: Likewise. + * modules/mkdir-p (Depends-on): Also depend on sys_stat. + * modules/modechange: Likewise. + * modules/stat-macros (Files): Remove m4/stat-macros.m4. + (configure.ac): Remove gl_STAT_MACROS. + * modules/sys_stat (Depends-on): Remove stat-macros. + +2006-10-27 Bruno Haible + + * m4/signed.m4: Remove file. + * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED + invocation. + * modules/vasnprintf (Files): Remove m4/signed.m4. + +2006-10-27 Bruno Haible + + Update to GNU gettext 0.16. + * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove + m4/inttypes-h.m4, m4/signed.m4. + * m4/gettext.m4: Update to GNU gettext 0.16. + * m4/intl.m4: New file, from GNU gettext. + * m4/intldir.m4: New file, from GNU gettext. + * config/srclist.txt: Update + +2006-10-27 Eric Blake + + * MODULES.html.sh: Document tempname. + * modules/mkstemp (Depends-on): Add tempname, and drop transitive + dependencies. + (Files): Move lib/tempname.c... + * modules/tempname: ...to this new module. + * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks. + (gl_PREREQ_TEMPNAME): Move... + * m4/tempname.m4: ...to this new file. + * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h. + * modules/sys_stat (Depends-on): Add stat-macros. + * lib/stat_.h (includes): Pick up stat macros. + * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace + if stat macros are broken. + * lib/tempname.c (includes): No need to include "stat-macros.h". + (__gen_tempname) [!_LIBC]: Expose as gen_tempname. + (direxists, __path_search) [!_LIBC]: Don't compile these in + gnulib; the tmpdir module covers that. + * lib/tempname.h: New file. + +2006-10-26 Paul Eggert + + * COPYING: Explain how gnulib-tool converts licence headers. + Almost all wording by Eric Blake. + +2006-10-25 Paul Eggert + + * lib/mbchar.h (is_basic_table): Make read-only. + * lib/mbchar.c (is_basic_table): Likewise. + Reported by John Darrington. + +2006-10-25 Bruno Haible + + * lib/progname.h (set_program_name): Undefine before defining. + +2006-10-25 Bruno Haible + + * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to + false for non-gcc C++ compilers. + Reported by Nelson H. F. Beebe . + +2006-10-24 Bruno Haible + + * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU + iconv implementations like Irix iconv. + +2006-10-24 Paul Eggert + + * modules/vararrays: New file. + * m4/vararrays.m4: New file, taken from diffutils. + * MODULES.html.sh: New module vararrays. + +2006-10-24 Karl Berry + + * doc/gnulib-intro.texi: --- instead of --; non-naive naive. + Don't call GNU Unix. + +2006-10-24 Ralf Wildenhues + + * users.txt: Add Libtool. + + Sync from Libtool: + + 2006-10-24 Paul Eggert + + * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform + to gnulib's policy of including config.h unconditionally. + +2006-10-24 Bruno Haible + + * modules/wcwidth (Files): Add m4/wint_t.m4. + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T. + * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined. + +2006-10-24 Paul Eggert + + * lib/getdate.y (yyerror): Make the arguments pointer-to-const, + to pacify GCC with some -W flags enabled. Problem reported by + Bruno Haible. + +2006-10-24 Jim Meyering + + * MODULES.html.sh: Remove uinttostr. It's not a module. + Reported by Karl Berry. + +2006-10-23 Bruno Haible + + * lib/fts.c (fts_build): Move variable declaration, for C89 compliance. + +2006-10-24 Bruno Haible + + * lib/gl_list.h: Use C comment style, not C++ comment style. + +2006-10-23 Eric Blake + + * lib/getaddrinfo.c (includes): Add missing include. + +2006-10-23 Bruno Haible + Paul Eggert + + Ability to rename obstack_free. + * lib/obstack.h (__obstack_free): New macro. Declare instead of + obstack_free. + (obstack_free): Invoke the __obstack_free macro. + * lib/obstack.c (obstack_free): Use __obstack_free macro. + +2006-10-23 Bruno Haible + Paul Eggert + + * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers + __argc, __argv from the declaration. (They are defined as macros on + mingw.) + +2006-10-22 Bruno Haible + + * doc/gnulib-intro.texi: New file. + * doc/gnulib.texi: Include it. + +2006-10-21 Bruno Haible + + * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters + "Introduction", "Miscellanous Notes", "Particular Modules". + +2006-10-21 Bruno Haible + + * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): + Change mostlyclean-local rule to avoid sh syntax error from bash + versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty. + +2006-10-23 Jim Meyering + + * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr, + in place of snprintf. + + * modules/inttostr (Files): Add lib/uinttostr.c. + * lib/uinttostr.c (inttostr): New file/function. + * lib/inttostr.h (uinttostr): Declare. + * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]). + * MODULES.html.sh (Numeric conversion functions ): + Add uinttostr. + * modules/getaddrinfo (Depends-on): Remove snprintf. Add inttostr. + +2006-10-21 Paul Eggert + + * lib/canonicalize.c (ELOOP): Define if not already defined. + Problem reported by Bruno Haible in + . + +2006-10-21 Paul Eggert + + * lib/stdint_.h [defined _AIX]: Don't include . + Problem reported by Perry Smith and Ville Laurikari. + + * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c + uses. + +2006-10-19 Bruno Haible + + * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed + for mingw. + +2006-10-19 Bruno Haible + + * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition. + Needed for mingw. + +2006-10-19 Bruno Haible + + * m4/size_max.m4 (gl_SIZE_MAX): Cache the result. + +2006-10-19 Bruno Haible + + * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE + it. + +2006-10-19 Bruno Haible + + * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP + invocation. + +2006-10-19 Bruno Haible + + * gnulib-tool (func_create_testdir): Don't include ftruncate and + mountlist by default. + +2006-10-16 Bruno Haible + + * lib/c-strstr.c: Include c-strstr.h. + +2006-10-18 Charles Wilson + + * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends + in a slash. + +2006-10-18 Bruno Haible + + * lib/lock.h [C++]: Wrap definitions in extern "C". + +2006-10-18 Bruno Haible + + * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the + gl_LIBOBJS list. + +2006-10-18 Bruno Haible + + * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning. + +2006-10-19 Paul Eggert + + * lib/xstrtol.h: Include gettext.h. + (_STRTOL_ERROR): Wrap English-language formats inside gettext. + Problem reported by Eric Blake. + * modules/xstrtol (Depends-on): Add gettext-h. + +2006-10-19 Paul Eggert (tiny change) + + * lib/strftime.c (advance): New macro. + (add): Use it to avoid adding 0 to a FILE *. FILE can be an + incomplete type, so you can't add 0 to it. Problem and patch + reported by Eelco Dolstra for dietlibc. + +2006-10-18 Jim Meyering + + * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the + type for a local, and rename it: s/up/user_proc/. + +2006-10-18 Sergey Poznyakoff + + * lib/readutmp.c (desirable_utmp_entry): Implement new flag: + READ_UTMP_USER_PROCESS. + * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag + +2006-10-17 Paul Eggert + + * lib/localcharset.c: Do not check HAVE_SETLOCALE. + * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale. + +2006-10-17 Eric Blake + + * lib/sigprocmask.c (sigprocmask): Fix typo. + + * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo. + + * modules/clean-temp (Makefile.am): Don't add to make output... + (configure.ac): ...instead define SIGNAL_SAFE_LIST inside + config.h. + +2006-10-17 Bruno Haible + + * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define + differently if DEFAULT_TEXT_DOMAIN is set. + +2006-10-16 Bruno Haible + + * lib/clean-temp.c: Include fwriteerror.h. + +2006-10-16 Bruno Haible + + * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack. + +2006-10-16 Bruno Haible + + * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t. + * lib/sigprocmask.h: Include . + (sigset_t): Use the system's definition if present. + +2006-10-17 Eric Blake + + * lib/xvasprintf.c (includes): Assume config.h. + * lib/xasprintf.c (includes): Likewise. + +2006-10-16 Paul Eggert + + * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is + at least as wide as intmax_t. + +2006-10-16 Alexandre Duret-Lutz + + (Imported from Automake.) + * build-aux/gnupload: Update to version 1.1 of directive file. + +2006-10-16 Eric Blake + + * modules/configmake (Makefile.am): Add pkglibexecdir support, to + match Automake 1.10a. + +2006-10-14 Bruno Haible + + * modules/sigprocmask: New file. + * lib/sigprocmask.h: New file. + * lib/sigprocmask.c: New file. + * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from + gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING, + request sigprocmask.o. + (gl_PREREQ_SIGPROCMASK): New macro. + * modules/fatal-signal (Files): Remove m4/signalblocking.m4. + (Depends-on): Add sigprocmask. + * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require + gt_SIGNALBLOCKING. Test for 'raise' only once. + * lib/fatal-signal.c: Include sigprocmask.h. + (fatal_signal_set, init_fatal_signal_set, block_fatal_signals, + unblock_fatal_signals): Define always. + * MODULES.html.sh (Support for systems lacking POSIX:2001): Add + sigprocmask. + +2006-10-14 Paul Eggert + + Sync from Automake. + * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m, + which incorrectly sets the mode of an existing destination + directory. In some cases the unpatched install-sh could do the + equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD + system. We hope this is rare in practice, but it's clearly worth + fixing. Problem reported by Alex Unleashed in + . + Also, don't bother to check for -m bugs unless we're using -m; + suggested by Stepan Kasal. + +2006-10-14 Ralf Wildenhues + + Sync from Automake. + * build-aux/depcomp (gcc3): Put dependency extraction flags before the + `-c' flag, so they appear at the same position as in %FASTDEP% + mode in depend2.am. Fixes build failure for FreeBSD's c89, + which ignores unknown options only after the first non-option. + Bug report against M4 by Nelson H. F. Beebe. + +2006-10-13 Jim Meyering + + Fix a bug in yesterday's change. + * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT, + p->fts_statp->st_dev would be used uninitialized. + Ensures that we always call fts_stat on the very first entry. + Miklos Szeredi reported that find -xdev stopped working. + +2006-10-12 Bruno Haible + + * gnulib-tool (func_get_automake_snippet): Append an automatically + computed EXTRA_DIST augmentation. + * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation. + * modules/alloca-opt (Makefile.am): Likewise. + * modules/allocsa (Makefile.am): Likewise. + * modules/arcfour (Makefile.am): Likewise. + * modules/arctwo (Makefile.am): Likewise. + * modules/argmatch (Makefile.am): Likewise. + * modules/argz (Makefile.am): Likewise. + * modules/atexit (Makefile.am): Likewise. + * modules/backupfile (Makefile.am): Likewise. + * modules/byteswap (Makefile.am): Likewise. + * modules/c-strtod (Makefile.am): Likewise. + * modules/c-strtold (Makefile.am): Likewise. + * modules/calloc (Makefile.am): Likewise. + * modules/canon-host (Makefile.am): Likewise. + * modules/canonicalize (Makefile.am): Likewise. + * modules/chdir-long (Makefile.am): Likewise. + * modules/chdir-safer (Makefile.am): Likewise. + * modules/check-version (Makefile.am): Likewise. + * modules/chown (Makefile.am): Likewise. + * modules/cloexec (Makefile.am): Likewise. + * modules/close-stream (Makefile.am): Likewise. + * modules/closeout (Makefile.am): Likewise. + * modules/crc (Makefile.am): Likewise. + * modules/csharpexec (Makefile.am): Likewise. + * modules/cycle-check (Makefile.am): Likewise. + * modules/des (Makefile.am): Likewise. + * modules/dev-ino (Makefile.am): Likewise. + * modules/dirfd (Makefile.am): Likewise. + * modules/dirname (Makefile.am): Likewise. + * modules/dup2 (Makefile.am): Likewise. + * modules/eealloc (Makefile.am): Likewise. + * modules/error (Makefile.am): Likewise. + * modules/euidaccess (Makefile.am): Likewise. + * modules/exclude (Makefile.am): Likewise. + * modules/exitfail (Makefile.am): Likewise. + * modules/fcntl-safer (Makefile.am): Likewise. + * modules/fcntl (Makefile.am): Likewise. + * modules/file-type (Makefile.am): Likewise. + * modules/fileblocks (Makefile.am): Likewise. + * modules/filemode (Makefile.am): Likewise. + * modules/filenamecat (Makefile.am): Likewise. + * modules/fnmatch (Makefile.am): Likewise. + * modules/fopen-safer (Makefile.am): Likewise. + * modules/fpending (Makefile.am): Likewise. + * modules/fprintftime (Makefile.am): Likewise. + * modules/free (Makefile.am): Likewise. + * modules/fsusage (Makefile.am): Likewise. + * modules/ftruncate (Makefile.am): Likewise. + * modules/fts (Makefile.am): Likewise. + * modules/gc-arcfour (Makefile.am): Likewise. + * modules/gc-des (Makefile.am): Likewise. + * modules/gc-hmac-md5 (Makefile.am): Likewise. + * modules/gc-hmac-sha1 (Makefile.am): Likewise. + * modules/gc-md4 (Makefile.am): Likewise. + * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise. * modules/gc-sha1 (Makefile.am): Likewise. * modules/gc (Makefile.am): Likewise. * modules/getaddrinfo (Makefile.am): Likewise. @@ -4282,11 +5387,224 @@ * modules/getline (Makefile.am): Likewise. * modules/getloadavg (Makefile.am): Likewise. * modules/getlogin_r (Makefile.am): Likewise. - * modules/getndelim2 (Makefile.am): Likewise. + * modules/getndelim2 (Makefile.am): Likewise. + * modules/getopt (Makefile.am): Likewise. + * modules/getpagesize (Makefile.am): Likewise. + * modules/getpass-gnu (Makefile.am): Likewise. + * modules/getpass (Makefile.am): Likewise. + * modules/getsubopt (Makefile.am): Likewise. + * modules/gettime (Makefile.am): Likewise. + * modules/gettimeofday (Makefile.am): Likewise. + * modules/getugroups (Makefile.am): Likewise. + * modules/getusershell (Makefile.am): Likewise. + * modules/glob (Makefile.am): Likewise. + * modules/group-member (Makefile.am): Likewise. + * modules/hard-locale (Makefile.am): Likewise. + * modules/hash (Makefile.am): Likewise. + * modules/hmac-md5 (Makefile.am): Likewise. + * modules/hmac-sha1 (Makefile.am): Likewise. + * modules/human (Makefile.am): Likewise. + * modules/idcache (Makefile.am): Likewise. + * modules/imaxabs (Makefile.am): Likewise. + * modules/imaxdiv (Makefile.am): Likewise. + * modules/inet_ntop (Makefile.am): Likewise. + * modules/inet_pton (Makefile.am): Likewise. + * modules/intprops (Makefile.am): Likewise. + * modules/inttostr (Makefile.am): Likewise. + * modules/inttypes (Makefile.am): Likewise. + * modules/isapipe (Makefile.am): Likewise. + * modules/javaversion (Makefile.am): Likewise. + * modules/lchmod (Makefile.am): Likewise. + * modules/lchown (Makefile.am): Likewise. + * modules/localcharset (Makefile.am): Likewise. + * modules/long-options (Makefile.am): Likewise. + * modules/lstat (Makefile.am): Likewise. + * modules/malloc (Makefile.am): Likewise. + * modules/mathl (Makefile.am): Likewise. + * modules/mbchar (Makefile.am): Likewise. + * modules/md2 (Makefile.am): Likewise. + * modules/md4 (Makefile.am): Likewise. + * modules/md5 (Makefile.am): Likewise. + * modules/memcasecmp (Makefile.am): Likewise. + * modules/memchr (Makefile.am): Likewise. + * modules/memcmp (Makefile.am): Likewise. + * modules/memcoll (Makefile.am): Likewise. + * modules/memcpy (Makefile.am): Likewise. + * modules/memmem (Makefile.am): Likewise. + * modules/memmove (Makefile.am): Likewise. + * modules/mempcpy (Makefile.am): Likewise. + * modules/memrchr (Makefile.am): Likewise. + * modules/memset (Makefile.am): Likewise. + * modules/memxor (Makefile.am): Likewise. + * modules/mkancesdirs (Makefile.am): Likewise. + * modules/mkdir-p (Makefile.am): Likewise. + * modules/mkdir (Makefile.am): Likewise. + * modules/mkdtemp (Makefile.am): Likewise. + * modules/mkstemp (Makefile.am): Likewise. + * modules/mktime (Makefile.am): Likewise. + * modules/modechange (Makefile.am): Likewise. + * modules/mountlist (Makefile.am): Likewise. + * modules/nanosleep (Makefile.am): Likewise. + * modules/obstack (Makefile.am): Likewise. + * modules/openat (Makefile.am): Likewise. + * modules/pagealign_alloc (Makefile.am): Likewise. + * modules/pathmax (Makefile.am): Likewise. + * modules/physmem (Makefile.am): Likewise. + * modules/poll (Makefile.am): Likewise. + * modules/posixtm (Makefile.am): Likewise. + * modules/posixver (Makefile.am): Likewise. + * modules/putenv (Makefile.am): Likewise. + * modules/quote (Makefile.am): Likewise. + * modules/quotearg (Makefile.am): Likewise. + * modules/raise (Makefile.am): Likewise. + * modules/read-file (Makefile.am): Likewise. + * modules/readline (Makefile.am): Likewise. + * modules/readlink (Makefile.am): Likewise. + * modules/readtokens (Makefile.am): Likewise. + * modules/readutmp (Makefile.am): Likewise. + * modules/realloc (Makefile.am): Likewise. + * modules/regex (Makefile.am): Likewise. + * modules/rename-dest-slash (Makefile.am): Likewise. + * modules/rename (Makefile.am): Likewise. + * modules/rijndael (Makefile.am): Likewise. + * modules/rmdir (Makefile.am): Likewise. + * modules/rpmatch (Makefile.am): Likewise. + * modules/safe-read (Makefile.am): Likewise. + * modules/safe-write (Makefile.am): Likewise. + * modules/same-inode (Makefile.am): Likewise. + * modules/same (Makefile.am): Likewise. + * modules/save-cwd (Makefile.am): Likewise. + * modules/savedir (Makefile.am): Likewise. + * modules/setenv (Makefile.am): Likewise. + * modules/settime (Makefile.am): Likewise. + * modules/sha1 (Makefile.am): Likewise. + * modules/sig2str (Makefile.am): Likewise. + * modules/snprintf (Makefile.am): Likewise. + * modules/stat-macros (Makefile.am): Likewise. + * modules/stat-time (Makefile.am): Likewise. + * modules/stdbool (Makefile.am): Likewise. + * modules/stdint (Makefile.am): Likewise. + * modules/stdlib-safer (Makefile.am): Likewise. + * modules/stpcpy (Makefile.am): Likewise. + * modules/stpncpy (Makefile.am): Likewise. + * modules/strcase (Makefile.am): Likewise. + * modules/strcasestr (Makefile.am): Likewise. + * modules/strchrnul (Makefile.am): Likewise. + * modules/strcspn (Makefile.am): Likewise. + * modules/strdup (Makefile.am): Likewise. + * modules/strerror (Makefile.am): Likewise. + * modules/strftime (Makefile.am): Likewise. + * modules/strndup (Makefile.am): Likewise. + * modules/strnlen (Makefile.am): Likewise. + * modules/strpbrk (Makefile.am): Likewise. + * modules/strsep (Makefile.am): Likewise. + * modules/strstr (Makefile.am): Likewise. + * modules/strtod (Makefile.am): Likewise. + * modules/strtoimax (Makefile.am): Likewise. + * modules/strtok_r (Makefile.am): Likewise. + * modules/strtol (Makefile.am): Likewise. + * modules/strtoll (Makefile.am): Likewise. + * modules/strtoul (Makefile.am): Likewise. + * modules/strtoull (Makefile.am): Likewise. + * modules/strtoumax (Makefile.am): Likewise. + * modules/strverscmp (Makefile.am): Likewise. + * modules/sys_socket (Makefile.am): Likewise. + * modules/sys_stat (Makefile.am): Likewise. + * modules/sysexits (Makefile.am): Likewise. + * modules/time_r (Makefile.am): Likewise. + * modules/timegm (Makefile.am): Likewise. + * modules/timespec (Makefile.am): Likewise. + * modules/tmpfile-safer (Makefile.am): Likewise. + * modules/trim (Makefile.am): Likewise. + * modules/unistd-safer (Makefile.am): Likewise. + * modules/unlinkdir (Makefile.am): Likewise. + * modules/unlocked-io (Makefile.am): Likewise. + * modules/userspec (Makefile.am): Likewise. + * modules/utime (Makefile.am): Likewise. + * modules/utimecmp (Makefile.am): Likewise. + * modules/utimens (Makefile.am): Likewise. + * modules/vasnprintf (Makefile.am): Likewise. + * modules/vasprintf (Makefile.am): Likewise. + * modules/vsnprintf (Makefile.am): Likewise. + * modules/xalloc (Makefile.am): Likewise. + * modules/xgetcwd (Makefile.am): Likewise. + * modules/xnanosleep (Makefile.am): Likewise. + * modules/xreadlink (Makefile.am): Likewise. + * modules/xstrtod (Makefile.am): Likewise. + * modules/xstrtol (Makefile.am): Likewise. + * modules/xstrtold (Makefile.am): Likewise. + * modules/yesno (Makefile.am): Likewise. + * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST. + +2006-10-12 Paul Eggert + + * modules/error (Makefile.am): Distribute files through + EXTRA_DIST, not lib_SOURCES. + +2006-10-12 Eric Blake + + * modules/error (Makefile.am): Distribute files in /lib. + * modules/obstack (Makefile.am): Likewise. + +2006-10-12 Bruno Haible + + * modules/acl (Makefile.am): Distribute all files in lib/ through + EXTRA_DIST. + * modules/arcfour (Makefile.am): Likewise. + * modules/arctwo (Makefile.am): Likewise. + * modules/argmatch (Makefile.am): Likewise. + * modules/argz (Makefile.am): Likewise. + * modules/atexit (Makefile.am): Likewise. + * modules/backupfile (Makefile.am): Likewise. + * modules/c-strtod (Makefile.am): Likewise. + * modules/c-strtold (Makefile.am): Likewise. + * modules/calloc (Makefile.am): Likewise. + * modules/canon-host (Makefile.am): Likewise. + * modules/canonicalize (Makefile.am): Likewise. + * modules/chdir-long (Makefile.am): Likewise. + * modules/chdir-safer (Makefile.am): Likewise. + * modules/check-version (Makefile.am): Likewise. + * modules/chown (Makefile.am): Likewise. + * modules/cloexec (Makefile.am): Likewise. + * modules/close-stream (Makefile.am): Likewise. + * modules/closeout (Makefile.am): Likewise. + * modules/crc (Makefile.am): Likewise. + * modules/cycle-check (Makefile.am): Likewise. + * modules/des (Makefile.am): Likewise. + * modules/dirfd (Makefile.am): Likewise. + * modules/dirname (Makefile.am): Likewise. + * modules/dup2 (Makefile.am): Likewise. + * modules/euidaccess (Makefile.am): Likewise. + * modules/exclude (Makefile.am): Likewise. + * modules/exitfail (Makefile.am): Likewise. + * modules/fcntl-safer (Makefile.am): Likewise. + * modules/file-type (Makefile.am): Likewise. + * modules/fileblocks (Makefile.am): Likewise. + * modules/filemode (Makefile.am): Likewise. + * modules/filenamecat (Makefile.am): Likewise. + * modules/fnmatch (Makefile.am): Likewise. + * modules/fopen-safer (Makefile.am): Likewise. + * modules/fpending (Makefile.am): Likewise. + * modules/fprintftime (Makefile.am): Likewise. + * modules/free (Makefile.am): Likewise. + * modules/fsusage (Makefile.am): Likewise. + * modules/ftruncate (Makefile.am): Likewise. + * modules/fts (Makefile.am): Likewise. + * modules/gc (Makefile.am): Likewise. + * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise. + * modules/getaddrinfo (Makefile.am): Likewise. + * modules/getcwd (Makefile.am): Likewise. + * modules/getdelim (Makefile.am): Likewise. + * modules/getdomainname (Makefile.am): Likewise. + * modules/getgroups (Makefile.am): Likewise. + * modules/gethostname (Makefile.am): Likewise. + * modules/gethrxtime (Makefile.am): Likewise. + * modules/getline (Makefile.am): Likewise. + * modules/getloadavg (Makefile.am): Likewise. + * modules/getlogin_r (Makefile.am): Likewise. * modules/getopt (Makefile.am): Likewise. - * modules/getpagesize (Makefile.am): Likewise. - * modules/getpass-gnu (Makefile.am): Likewise. * modules/getpass (Makefile.am): Likewise. + * modules/getpass-gnu (Makefile.am): Likewise. * modules/getsubopt (Makefile.am): Likewise. * modules/gettime (Makefile.am): Likewise. * modules/gettimeofday (Makefile.am): Likewise. @@ -4304,14 +5622,9 @@ * modules/imaxdiv (Makefile.am): Likewise. * modules/inet_ntop (Makefile.am): Likewise. * modules/inet_pton (Makefile.am): Likewise. - * modules/intprops (Makefile.am): Likewise. * modules/inttostr (Makefile.am): Likewise. - * modules/inttypes (Makefile.am): Likewise. * modules/isapipe (Makefile.am): Likewise. - * modules/javaversion (Makefile.am): Likewise. - * modules/lchmod (Makefile.am): Likewise. * modules/lchown (Makefile.am): Likewise. - * modules/localcharset (Makefile.am): Likewise. * modules/long-options (Makefile.am): Likewise. * modules/lstat (Makefile.am): Likewise. * modules/malloc (Makefile.am): Likewise. @@ -4332,18 +5645,16 @@ * modules/memset (Makefile.am): Likewise. * modules/memxor (Makefile.am): Likewise. * modules/mkancesdirs (Makefile.am): Likewise. - * modules/mkdir-p (Makefile.am): Likewise. * modules/mkdir (Makefile.am): Likewise. + * modules/mkdir-p (Makefile.am): Likewise. * modules/mkdtemp (Makefile.am): Likewise. * modules/mkstemp (Makefile.am): Likewise. * modules/mktime (Makefile.am): Likewise. * modules/modechange (Makefile.am): Likewise. * modules/mountlist (Makefile.am): Likewise. * modules/nanosleep (Makefile.am): Likewise. - * modules/obstack (Makefile.am): Likewise. * modules/openat (Makefile.am): Likewise. * modules/pagealign_alloc (Makefile.am): Likewise. - * modules/pathmax (Makefile.am): Likewise. * modules/physmem (Makefile.am): Likewise. * modules/poll (Makefile.am): Likewise. * modules/posixtm (Makefile.am): Likewise. @@ -4359,14 +5670,13 @@ * modules/readutmp (Makefile.am): Likewise. * modules/realloc (Makefile.am): Likewise. * modules/regex (Makefile.am): Likewise. - * modules/rename-dest-slash (Makefile.am): Likewise. * modules/rename (Makefile.am): Likewise. + * modules/rename-dest-slash (Makefile.am): Likewise. * modules/rijndael (Makefile.am): Likewise. * modules/rmdir (Makefile.am): Likewise. * modules/rpmatch (Makefile.am): Likewise. * modules/safe-read (Makefile.am): Likewise. * modules/safe-write (Makefile.am): Likewise. - * modules/same-inode (Makefile.am): Likewise. * modules/same (Makefile.am): Likewise. * modules/save-cwd (Makefile.am): Likewise. * modules/savedir (Makefile.am): Likewise. @@ -4375,10 +5685,6 @@ * modules/sha1 (Makefile.am): Likewise. * modules/sig2str (Makefile.am): Likewise. * modules/snprintf (Makefile.am): Likewise. - * modules/stat-macros (Makefile.am): Likewise. - * modules/stat-time (Makefile.am): Likewise. - * modules/stdbool (Makefile.am): Likewise. - * modules/stdint (Makefile.am): Likewise. * modules/stdlib-safer (Makefile.am): Likewise. * modules/stpcpy (Makefile.am): Likewise. * modules/stpncpy (Makefile.am): Likewise. @@ -4403,17 +5709,11 @@ * modules/strtoull (Makefile.am): Likewise. * modules/strtoumax (Makefile.am): Likewise. * modules/strverscmp (Makefile.am): Likewise. - * modules/sys_socket (Makefile.am): Likewise. - * modules/sys_stat (Makefile.am): Likewise. - * modules/sysexits (Makefile.am): Likewise. * modules/time_r (Makefile.am): Likewise. * modules/timegm (Makefile.am): Likewise. - * modules/timespec (Makefile.am): Likewise. * modules/tmpfile-safer (Makefile.am): Likewise. - * modules/trim (Makefile.am): Likewise. * modules/unistd-safer (Makefile.am): Likewise. * modules/unlinkdir (Makefile.am): Likewise. - * modules/unlocked-io (Makefile.am): Likewise. * modules/userspec (Makefile.am): Likewise. * modules/utime (Makefile.am): Likewise. * modules/utimecmp (Makefile.am): Likewise. @@ -4429,21470 +5729,22794 @@ * modules/xstrtol (Makefile.am): Likewise. * modules/xstrtold (Makefile.am): Likewise. * modules/yesno (Makefile.am): Likewise. - * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST. -2006-10-12 Paul Eggert +2006-10-12 Jim Meyering + + * m4/getloadavg.m4: Revert the change below. + + * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of + lib/getloadavg.c using "ls -L", not "test -f". The latter would + fail with a symlink, which is what coreutils' ./bootstrap now + creates by default. + +2006-10-12 Bruno Haible + + * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or + mingw. + (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle + MSVC and mingw explicitly. + +2006-10-11 Simon Josefsson + Bruno Haible + + Add support for multiple gnulib-tool invocations in the scope of a + single configure.ac file. + * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable, + use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable + with the same contents as the _LIBADD variable. + (func_emit_initmacro_start, func_emit_initmacro_end, + func_emit_initmacro_done): New functions. + (func_import, func_create_testdir): Invoke them. Allow the identifiers + gl_LIBOBJS and gl_LTLIBOBJS. + +2006-10-11 Bruno Haible + + * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables. + (func_create_testdir): Don't create po/Makefile.am, don't invoke + autoreconf. Instead, invoke autopoint explicitly but move back the + *.m4 files from gnulib. + +2006-10-11 Bruno Haible + + * gnulib-tool (func_usage): Make module names after --create-testdir + optional. + (func_create_testdir): If no module was specified, use nearly all + modules. + +2006-10-12 Jim Meyering + + Big performance improvement for fts-based tools that use FTS_NOSTAT. + Avoid spurious inode-mismatch problems on non-POSIX file systems. + Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416 + * lib/fts_.h (FTS_DEFER_STAT): Define new flag. + (FTS_OPTIONMASK): Extend the mask to reflect this addition. + * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define. + (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define. + (fts_set_stat_required): New function. + (fts_open): Defer the calls to fts_stat, if possible or requested. + Move the code that maps a command-line fts_info value FTS_DOT to FTS_D + into fts_stat itself. + (fts_read): Perform any required (deferred) fts_stat call. + (fts_build): Likewise, for the directory we're about to open and read. + In the readdir loop, carefully decide whether each entry will require + an eventual call to fts_stat, using dirent.d_type info if available. + (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on + a command line argument into this function. Update all callers. + Map a return value of FTS_DOT to FTS_D for a command line argument. + * modules/fts (Depends-on): Add d-type. Alphabetize. + Thanks to Miklos Szeredi for his tenacity and for the initial + bug report about "find" failing on a FUSE-based file system. + + * lib/fts.c (fts_open): Use consistent indentation. + +2006-10-12 Paul Eggert + + * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from + gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure + reported by Jim Meyering. All uses of cache variables renamed + to match Autoconf's. + (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires + the other one. + + * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): + Fix misspelling in diagnostic. + +2006-10-11 Paul Eggert + + * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already + defined. Problem reported by Matthew Woehlke. + + * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro. + Add support for Tandem NonStop R series. + (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): + Use new macro. + + * lib/rename-dest-slash.c: Include stdbool.h but not string.h. + (has_trailing_slash): Omit size arg; all callers changed. + Omit 'inline', since it doesn't help performance and we'd + need to configure it. + Don't count //, ///, etc. as having a trailing slash. + As a side effect, this removes a C99ism reported by Matthew Woehlke. + (rpl_rename_dest_slash): On failure, use rename's errno rather + than (in some cases) an incorrect or junk errno. + Simplify code by removing need to compute length; this does + cause it to make two passes instead of one over the file name, + but it's worth it. + + * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous + change, since Autoconf's version may no longer be appropriate now + that we are using CVS Autoconf's version. Add support for Tandem. + +2006-10-11 Paul Eggert + Bruno Haible + + * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test + HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG. + * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of + gl_AC_TYPE_LONG_LONG. + + * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT + instead of HAVE_LONG_LONG. + * lib/printf-args.c (printf_fetchargs): Likewise. + * lib/printf-parse.c (PRINTF_PARSE): Likewise. + * lib/vasnprintf.c (VASNPRINTF): Likewise. + * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE, + gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of + gl_AC_TYPE_LONG_LONG. + +2006-10-11 Bruno Haible + + * m4/longlong.m4: Add comments. + * m4/ulonglong.m4: Likewise. + +2006-10-10 Bruno Haible + + Make it possible to #define stpcpy, strdup to aliases. + * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine. + * lib/strdup.c (strdup) [!_LIBC]: Don't undefine. + +2006-10-10 Bruno Haible + + Make it possible to #define gcd to an alias. + * lib/gcd.c: Include config.h. + +2006-10-10 Bruno Haible + + Make it possible to #define c_isascii to an alias. + * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is + defined. Undefine the macros before defining them, to avoid gcc + warnings. + * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead, + define NO_C_CTYPE_MACROS early. + +2006-10-10 Bruno Haible + + Make it possible to #define set_program_name to an alias. + * lib/progname.c: Don't undefine set_program_name; instead, undefine + ENABLE_RELOCATABLE early. + +2006-10-10 Paul Eggert + + Port to Tandem NSK OSS, which has 64-bit signed int but at most + 32-bit unsigned int. Problem reported by Matthew Woehlke in: + http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html + More generally, don't assume that 64-bit signed int is available + if unsigned int is, and vice versa. + * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on + unsigned symbols, not on their signed counterparts. + * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t): + (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX): + (UINT64_C, UINTMAX_C): + Likewise. + * lib/strtoimax.c (strtoll): Depend on signed symbols, not their + unsigned counterparts. + (Have_long_long, Unsigned): New macros. + (Int): Renamed from INT. + (strtoimax): Use the new macros. + * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT + and substitute HAVE_UNSIGNED_LONG_LONG_INT. + * modules/inttypes (inttypes.h): Substitute + HAVE_UNSIGNED_LONG_LONG_INT. + * modules/stdint (stdint.h): Likewise. + (Files): Add m4/ulonglong.m4. + +2006-10-10 Bruno Haible + + Fix a gcc -Wshadow warning. + * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index' + to 'bucket'. + * lib/gl_anylinked_list2.h (gl_linked_search_from_to, + gl_linked_indexof_from_to): Likewise. + * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket): + Likewise. + * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket): + Likewise. + * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise. + Reported by Eric Blake. + +2006-10-09 Paul Eggert + + * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too, + for NetBSD. Problem reported by Bruno Haible. + +2006-10-09 Jim Meyering + + * lib/lchown.c: Include before "stat-macros.h". + Patch from Bruno Haible. + +2006-10-09 Jim Meyering + + * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due + to FTS_SKIP, don't copy the parent's uninitialized dev/ino values. + Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d + +2006-10-08 Paul Eggert + + Don't include twice; this doesn't work in some cases, + e.g., when config.h has "#define intmax_t long long int" and + we include , , in that order. + Problem reported by Matthew Woehlke in: + http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html + * lib/fprintftime.c: Don't include config.h or fprintftime.h. + * lib/fts-cycle.c: Don't include config.h. + * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined. + * lib/xstrtoimax.c: Remove copyright notice since it's short tnow. + Don't include config.h or xstrtol.h. Define STRTOL_T_MINIMUM + and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib + inttypes.h. + * lib/xstrtoumax.c: Likewise. + * lib/xstrtol.c: Include config.h and xstrtol.h after defining + __strtol and the like, so that this module is more like its siblings. + (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]: + Remove; no longer needed now that we assume gnulib inttypes.h. + +2006-10-08 Bruno Haible + + * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink + option. + +2006-10-07 Jim Meyering + + * modules/inttypes (inttypes.h): Revert what seems to have been + an inadvertent part of today's change: use "|", not "/" in the + substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H). + +2006-10-07 Bruno Haible + + * modules/sublist: New file. + +2006-10-07 Bruno Haible + + * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment. + * modules/argz (argz.h): Likewise. + * modules/arpa_inet (arpa/inet.h): Likewise. + * modules/byteswap (byteswap.h): Likewise. + * modules/configmake (configmake.h): Likewise. + * modules/fcntl (fcntl.h): Likewise. + * modules/fnmatch (fnmatch.h): Likewise. + * modules/getopt (getopt.h): Likewise. + * modules/glob (glob.h): Likewise. + * modules/inttypes (inttypes.h): Likewise. + * modules/netinet_in (netinet/in.h): Likewise. + * modules/poll (poll.h): Likewise. + * modules/stdbool (stdbool.h): Likewise. + * modules/stdint (stdint.h): Likewise. + * modules/sys_select (sys/select.h): Likewise. + * modules/sys_socket (sys/socket.h): Likewise. + * modules/sys_stat (sys/stat.h): Likewise. + * modules/sysexits (sysexits.h): Likewise. + * modules/unistd (unistd.h): Likewise. + * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): + Add a "DO NOT EDIT" comment to the generated file. + (func_import): Likewise for gnulib-comp.m4. + +2006-10-07 Bruno Haible + + * lib/gl_sublist.h: New file. + * lib/gl_sublist.c: New file. + +2006-10-06 Paul Eggert + + * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file + name (relative to the original working directory) and the file + name component (relative to the temporary working directory). All + callers changed. + * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match. + * lib/mkdir-p.c (make_dir_parents): Likewise. + * lib/mkdir-p.h (make_dir_parents): Likewise. + +2006-10-06 Eric Blake + + Define several macros for use by the clean-temp module. + * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM. + * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER. + * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER. + + * lib/clean-temp.h (close_stream_temp): New declaration. + * lib/clean-temp.c (includes): Pull in headers according to what + other modules are in use. + (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function. + +2006-10-06 Bruno Haible + + * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp + instead of fopen, fwriteerror. + +2006-10-06 Bruno Haible + + * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir, + cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to + int. + * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file, + cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir): + Return an error indicator. + Suggested by Eric Blake. + +2006-10-06 Bruno Haible + + * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd. + Reported by Eric Blake. + +2006-10-06 Bruno Haible + + * modules/closeout (Description): Mention stderr too. + +2006-10-06 Bruno Haible + and Paul Eggert + + * lib/closeout.c (close_stdout): Also close stderr. + * lib/closeout.h: Update comment. + +2006-10-05 Paul Eggert + + Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in + . + * lib/dirchownmod.c: Include lchown.h. + * lib/lchown.c: Don't include files that lchown.h now includes. + Don't declare chown, since lchown.h now does that. + * lib/lchown.h: Include errno.h, sys/types.h, unistd.h. + (lchown): Define to rpl_chown if lchown is declared but + does not exist. Declare using a prototype if lchown is not + declared. Add a copyright notice. + * lib/mkstemp.h: Include . + * lib/openat.c: Include lchown.h. + + * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE; + we now test for that separately. + * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW + rather than O_NOFOLLOW, when testing whether it's possible to + avoid a race condition reliably. + * lib/savewd.c (savewd_chdir): Likewise. + + Remove macros that are no longer needed now that stdint.h is + reliable. + * lib/fsusage.c (UINTMAX_MAX): Remove. + * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove. + * lib/utimecmp.c (SIZE_MAX): Remove. + + * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared. + + * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead + of O_NOFOLLOW_IS_INEFFECTIVE. Define HAVE_WORKING_O_NOATIME if + O_NOATIME works. + +2006-10-05 Bruno Haible + + * lib/gl_list.h (gl_sortedlist_search_from_to, + gl_sortedlist_indexof_from_to): New declarations. + (gl_list_implementation): New fields sortedlist_search_from_to, + sortedlist_indexof_from_to. + (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New + inline functions. + * lib/gl_list.c (gl_sortedlist_search_from_to, + gl_sortedlist_indexof_from_to): New functions. + * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New + function. + (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it. + (gl_array_sortedlist_search_from_to): New function. + (gl_array_list_implementation): Update. + * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New + function. + (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it. + (gl_carray_sortedlist_search_from_to): New function. + (gl_carray_list_implementation): Update. + * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to, + gl_linked_sortedlist_indexof_from_to): New functions. + * 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_sortedlist_search_from_to, + gl_tree_sortedlist_indexof_from_to): New functions. + * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update. + * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation): + Update. + * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update. + * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation): + Update. + +2006-10-05 Bruno Haible + + * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to, + gl_list_indexof_from, gl_list_indexof_from_to): New declarations. + (struct gl_list_implementation): Add fields search_from_to, + indexof_from_to. Remove fields search, indexof. + (gl_list_search): Use the search_from_to method. + (gl_list_search_from, gl_list_search_from_to): New functions. + (gl_list_indexof): Use the indexof_from_to method. + (gl_list_indexof_from, gl_list_indexof_from_to): New functions. + * lib/gl_list.c (gl_list_search): Use the search_from_to method. + (gl_list_search_from, gl_list_search_from_to): New functions. + (gl_list_indexof): Use the indexof_from_to method. + (gl_list_indexof_from, gl_list_indexof_from_to): New functions. + * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from + gl_array_indexof. Add start_index, end_index arguments. + (gl_array_search_from_to): Renamed from gl_array_search. Add + start_index, end_index arguments. + (gl_array_remove, gl_array_list_implementation): Update. + * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from + gl_carray_indexof. Add start_index, end_index arguments. + (gl_carray_search_from_to): Renamed from gl_carray_search. Add + start_index, end_index arguments. + (gl_carray_remove, gl_carray_list_implementation): Update. + * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from + gl_linked_search. Add start_index, end_index arguments. + (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add + start_index, end_index arguments. + (gl_linked_remove): Update. + * lib/gl_linked_list.c (gl_linked_list_implementation): Update. + * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update. + * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp' + field to 'size_t'. + * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from + gl_tree_search. Add start_index, end_index arguments. + (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add + start_index, end_index arguments. + (gl_tree_remove): Update. + * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update. + * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update. + * lib/gl_anytreehash_list1.h (compare_position_threshold): New + function. + * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from + gl_tree_search. Add start_index, end_index arguments. + (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add + start_index, end_index arguments. + * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation): + Update. + * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update. + +2006-10-05 Bruno Haible + + * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR. + + * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp, + fwriteerror_temp): New declarations. + * lib/clean-temp.c (uintptr_t): Provide fallback definition. + (descriptors): New variable. + (cleanup): First, close the descriptors. + (register_fd, unregister_fd, open_temp, fopen_temp, close_temp, + fclose_temp, fwriteerror_temp): New functions. + +2006-10-04 Jim Meyering + + * lib/fts.c (fts_open): Tiny comment change. + +2006-10-04 Bruno Haible + + Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY. + * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from + gl_LOCK_BODY. + (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY. + (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in + gl_LOCK_EARLY_BODY. + (gl_LOCK): Require gl_LOCK_BODY. + +2006-10-04 Bruno Haible + + * lib/gl_oset.h (gl_setelement_threshold_fn): New type. + (gl_oset_search_atleast): New declaration. + (struct gl_oset_implementation): Add field 'search_atleast'. + (gl_oset_search_atleast): New inline function. + * lib/gl_oset.c (gl_oset_search_atleast): New function. + * lib/gl_array_oset.c (gl_array_search_atleast): New function. + (gl_array_oset_implementation): Update. + * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function. + * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update. + * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update. + +2006-10-04 Bruno Haible + + * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal. + +2006-10-03 Bruno Haible + + * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed + from gl_avltreehash_list_implementation. + +2006-10-03 Bruno Haible + + * lib/gl_oset.c (gl_oset_add): Fix return type. + +2006-10-02 Paolo Bonzini (tiny change) + + * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int. + +2006-10-02 Eric Blake + + * modules/strnlen (Depends-on): Add extensions. + +2006-10-02 Eric Blake + + * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's + definition in 2.60+. + +2006-10-02 Dmitry V. Levin + + * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant + checks. + +2006-10-02 Bruno Haible + + * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies + to the AUTOMAKE_OPTIONS. + Reported by Jim Meyering. + +2006-09-29 Paul Eggert + + Work around bug in Solaris 10 /proc file system: + /proc/self/fd/NNN/.. isn't the parent directory of + the directory whose file descriptor is NNN. This needs to + be worked around at run time, not compile time, since a + program might be built on Solaris 8, where things work, and + run on Solaris 10. + * lib/openat-priv.h (BUILD_PROC_NAME): Remove. All callers changed + to use the following interface instead: + (OPENAT_BUFFER_SIZE): New macro. + (openat_proc_name): New function. + * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes. + * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir): + Likewise. + * lib/openat-proc.c: New file. + * modules/openat (Files): Add lib/openat-proc.c. + (Depends-on): Add same-inode, stdbool. + * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc). + +2006-09-29 Bruno Haible + + * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration. + * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf + argument. Set stdout_closed before testing for ferror, not after. + (fwriteerror, fwriteerror_no_ebadf): New functions. + +2006-09-28 Ralf Wildenhues + + * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning. + +2006-09-28 Paolo Bonzini + + * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK. + * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h. + +2006-09-28 Jim Meyering + + * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c". + Include . + +2006-09-28 Bruno Haible + + * modules/avltreehash-list (Depends-on): Add stdint, remove size_max. + * modules/linkedhash-list (Depends-on): Likewise. + * modules/rbtreehash-list (Depends-on): Likewise. + +2006-09-28 Bruno Haible + + * lib/strndup.h: Simplify the redefinition of strndup. + (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros. + * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX. + +2006-09-28 Bruno Haible + + * lib/gl_avltreehash_list.c: Include instead of size_max.h. + * lib/gl_linkedhash_list.c: Likewise. + * lib/gl_rbtreehash_list.c: Likewise. + +2006-09-27 Paul Eggert + + * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0 + getaddrinfo. + + * lib/__fpending.h: Don't include unless + HAVE_DECL___FPENDING. This avoids a bug with lsbcc, where + it causes to cause a compile-time error. + Problem reported by Nelson H. F. Beebe. + * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead + of HAVE_DECL___PENDING. + + * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once. + * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's + declaration. + +2006-09-27 Jim Meyering + + This file could end up with a definition for a function + named __strndup, rather than rpl_strndup on a system with + incomplete weak_alias support. + * lib/strndup.c (strndup): Rename from __strndup. + Remove #defines that used to map __strndup to strndup. + Don't use K&R prototypes. + Remove LIBC-related code, since this file is not sync'd with glibc. + * lib/strndup.h: Revamp, accordingly. + * m4/strndup.m4: Modernize. + +2006-09-26 Paul Eggert + + * modules/savewd (Depends-on): Add 'raise'. + * lib/savewd.c: Include , for 'raise'. + +2006-09-26 Jim Meyering + + * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether + when we detect Darwin 8.7.0's acl_get_file bug. + Rearrange to perform the new (below) run-test while $LIBS + contains any acl-related library. Set USE_ACL at the end. + (gl_ACL_GET_FILE): New function. + +2006-09-26 Eric Blake + + * lib/verror.c: Include unconditionally. + +2006-09-25 Paul Eggert + + * modules/clock-time (Maintainer): Add self. + * modules/getlogin_r (Depends-on): Add extensions. + +2006-09-25 Ralf Wildenhues + + * modules/clock-time: New module. + * modules/nanosleep (Depends-on): Add clock-time. + * modules/gethrxtime (Depends-on): Likewise. + * modules/gettime (Depends-on): Likewise. + * modules/settime (Depends-on): Likewise. + + * modules/fts-lgpl: Depend on openat. + * modules/mkancesdirs: Depend on savewd. + * modules/mkdir-p: Likewise. + +2006-09-25 Ralf Wildenhues + + * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST. + + * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from + `gl_have_arbitrary_file_name_length_limit' to + `gl_cv_have_arbitrary_file_name_length_limit', so that caching + actually works between configure runs. + +2006-09-25 Ralf Wildenhues + Bruno Haible + + * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include . + +2006-09-25 Jim Meyering + + * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open. + This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0. + +2006-09-25 Eric Blake + + * gnulib-tool (func_import, func_create_testdir): Fix typos in + exec's in 2006-09-18 patch when shuffling fds. + +2006-09-25 Bruno Haible + + * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message. + Reported by Jim Meyering. + +2006-09-24 Jim Meyering + + * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to + compare a pointer against a literal "0". That caused failures with + at least HP-UX's hpcc. + +2006-09-22 Simon Josefsson + + * modules/gc-sha1: + * modules/gc-md4: + * modules/gc-hmac-sha1: + * modules/gc-hmac-md5: + * modules/gc-des: + * modules/gc-arcfour: Distribute more files. + +2006-09-22 Ralf Wildenhues + + * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator) + (gl_linked_iterator_from_to): Initialize struct completely. + * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise. + (gl_tree_iterator_from_to): Likewise + * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise. + * lib/gl_array_list.c [lint] (gl_array_iterator) + (gl_array_iterator_from_to): Likewise. + * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise. + * lib/gl_carray_list.c [lint] (gl_carray_iterator) + (gl_carray_iterator_from_to): Likewise. + + * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1. + * lib/md4.c (md4_process_block): Remove unused variable. + * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests + parentheses for clarity. + +2006-09-22 Ralf Wildenhues + + * modules/bison-i18n (Depends-on): Add gettext. + +2006-09-22 Ralf Wildenhues + + * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable. + * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise. + * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise; + also add missing comma that caused broken test. + * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include + stdlib.h, for `abort'. + * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused + variables. + * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and + include unistd.h if present, for `rmdir'. + * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused + variables. + * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and + in the process include standard headers for prototypes. + * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname + gets declared on GNU/Linux. + * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include + unistd.h, for `rmdir'. + * m4/time_r.m4 (gl_TIME_R): Avoid unused variables. + + * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is + always true. + * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'. + + * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings. + +2006-09-22 Ralf Wildenhues + + * gnulib-tool (func_version): Create output all at once. This + may help avoid triggering unnecessary SIGPIPEs, and at any + rate it doesn't hurt. + +2006-09-22 Ralf Wildenhues + Bruno Haible + + * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning. + * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise. + * m4/signed.m4 (bh_C_SIGNED): Likewise. + + * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro. + (gl_FUNC_VASPRINTF): Invoke it. + +2006-09-22 Bruno Haible + + * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of + getloadavg.c as first argument. + +2006-09-22 Bruno Haible + + * gnulib-tool (func_import, func_create_testdir): Set gl_source_base + at the beginning of the gl_INIT macro. + * modules/getloadavg (configure.ac): Pass $gl_source_base to + gl_GETLOADAVG. + +2006-09-22 Bruno Haible + + * gnulib-tool (func_create_megatestdir): Don't include the config-h + module. + Suggested by Ralf Wildenhues. + +2006-09-20 Paul Eggert + + Import this patch from libc: + + 2006-09-06 Jakub Jelinek + + * lib/regex_internal.c (re_string_reconstruct): Handle + offset < pstr->valid_raw_len && pstr->offsets_needed case. + Ensure no bytes read before raw_mbs array. Pass a saved copy of + pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to + re_string_context_at. + + * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test + now requires it. + (gl_PREREQ_REGEX): Don't check for locale.h any more, since + gl_REGEX now does it for us. + (gl_REGEX): Add test taken from + http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html. + + * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE. + Check that large offsets work. Modernize Autoconf usages. + Prefer "yes" to mean a good thing rather than a bad. + Don't put "#define mkstemp" in config.h, as this might interfere + with standard system headers that "#define mkstemp mkstemp64". + + * modules/mkstemp (Depends-on): Add extensions, so that + mkstemp is visible on some platforms. + (Makefile.am): Add mkstemp.h to EXTRA_DIST. + (Include): Change to "mkstemp.h" from . + (Files): Add mkstemp.h. + + * lib/mkstemp.h: New file, since some standard headers + #define mkstemp. + * lib/mkstemp.c: Revamp to put the !_LIBC code together. + Include "mkstemp.h". + Make the _LIBC code resemble glibc original more, + e.g., use K&R style. + * lib/mkstemp-safer.c: Include "mkstemp.h" instead of . + (mkstemp): Remove, since mkstemp.h does this for us. + * lib/stdlib--.h: Include mkstemp.h. + + Import this patch from libc: + + 2006-04-07 Ulrich Drepper + + * lib/tempname.c (__gen_tempname): Change attempts_min + into a macro. Use preprocessor to decide how to initialize + attempts [Coverity CID 67]. + +2006-09-20 Bruno Haible + + * lib/mkdtemp.c: Import from libc. + 2006-04-07 Ulrich Drepper + * sysdeps/posix/tempname.c (__gen_tempname): Change + attempts_min into a macro. Use preprocessor to decide how to + initialize attempts [Coverity CID 67]. + 2001-11-27 Paul Eggert + * sysdeps/posix/tempname.c (__gen_tempname): Try at least + ATTEMPTS_MIN or TMP_MAX times, whichever is greater. + +2006-09-19 Ralf Wildenhues + + * gnulib-tool (func_exit): New function, to allow to pass the + exit status portably through the trap. Use everywhere. + (--help, --version): Signal a write error. + (trap): catch SIGPIPE, for write errors. + Exit at the end of the trap, with the correct exit status. + +2006-09-19 Karl Berry + + * doc/gnulib.texi: note about the license texinfo files. + +2006-09-19 Eric Blake + + * gnulib-tool: Avoid space-tab. + +2006-09-18 Paul Eggert + + * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo + that prevented coreutils 6.1 from building. Problem reported + by Petter Reinholdtsen. + +2006-09-18 Paul Eggert + + * gnulib-tool (avoidlist): Fix typo that broke options like + --avoid=lock that are used by coreutils bootstrap. + +2006-09-18 Mark D. Baushke + + * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args + more systematically. + +2006-09-18 Jim Meyering + + * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/. + +2006-09-18 Bruno Haible + + * modules/inttypes (Files): Remove m4/inttypes-h.m4. + +2006-09-18 Bruno Haible + + * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro. + * m4/inttypes-pri.m4: Require autoconf >= 2.52. + (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test + ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h. + * m4/gettext.m4: Require autoconf >= 2.52. + (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h. + * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead + of gl_cv_header_inttypes_h. + +2006-09-18 Bruno Haible + + * lib/javaversion.c: Include configmake.h. + +2006-09-18 Bruno Haible + + * gnulib-tool (func_import, func_create_testdir): Use exec tricks to + avoid that the while loops be executed in a subshell. + +2006-09-18 Bruno Haible + + * MODULES.html.sh (func_module): Break long lines. + Suggested by Bruce Korb . + +2006-09-17 Ralf Wildenhues + + Speed up by a factor of 1.12. + * gnulib-tool (nl): New variable. + (func_import): Rewrite include directive extraction to only read each + directive once. + +2006-09-17 Bruno Haible + + * modules/javaversion (Makefile.am): Remove DEFS setting. + (Depends-on): Add configmake, for PKGDATADIR definition. + +2006-09-17 Bruno Haible + + * gnulib-tool (func_create_testdir): Rewrite all files at once. + +2006-09-17 Bruno Haible + + * gnulib-tool (func_append): New function, stolen from libtool.m4. + (func_modules_transitive_closure, func_modules_add_dummy, + func_modules_to_filelist, func_import, func_create_testdir, + func_create_megatestdir, ...): Use it wherever possible. + Suggested by Ralf Wildenhues. + +2006-09-16 Karl Berry + + * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec, + to avoid sectioning errors. + * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title. + [ifinfo]: blank line after @center-ed titles. + * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL. + Spell FSF address consistently with others. + (These changes approved by rms.) + +2006-09-15 Ralf Wildenhues + + Speed up by a factor of 1.61. + * gnulib-tool (func_modules_transitive_closure): Rewrite to not check + already checked module names again. + +2006-09-15 Ralf Wildenhues + + Speed up by a factor of 1.13. + * gnulib-tool (func_import): Rewrite all old_files at once; likewise + for new_files, and the input to func_add_or_update. + +2006-09-15 Ralf Wildenhues + + * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import, + func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'. + +2006-09-15 Paul Eggert + + * modules/mkancesdirs (Depends-on): Add fcntl. + * modules/savewd: New file. + * MODULES.html.sh (File system functions): Add savewd. + + * modules/configmake (Makefile.am): Add support for the + Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR. + +2006-09-15 Paul Eggert + + * m4/savewd.m4: New file. + +2006-09-15 Paul Eggert + + * lib/dirchownmod.c: Don't include fcntl.h; no longer needed. + (dirchownmod): New arg FD. All callers changed. + Use FD rather than opening the directory ourself, as opening is + now the caller's responsibility. + * lib/dirchownmod.h: Likewise. + * lib/mkancesdirs.c: Include , for portability to older + hosts that require before . Include + fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h. + (test_dir): Remove. + (mkancesdirs): Return length of prefix of FILE that has already + been made, or -2 if there is a child doing the work. Redo + algorithm so that it is O(N) rather than O(N**2). Optimize away + ".", and treat ".." specially since it might stray back into + already-created areas. Use a subprocess if necessary. New arg + WD; all users changed. MAKE_DIR function should now return 1 + if it creates a directory that is not readable. Return -2 if + a child process is spun off. + * lib/mkancesdirs.h: Include , for ptrdiff_t. + Adjust signature to match code. + * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME. + (make_dir_parents): Use a subprocess if necessary. New arg WD; + all users changed. + * lib/savewd.c, lib/savewd.h: New files. + +2006-09-15 Jim Meyering + + * modules/rename-dest-slash: New module. + * MODULES.html.sh (posix_compat): Add it here. + + * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change. + +2006-09-15 Jim Meyering + + * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New + file. + + * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME. + +2006-09-15 Jim Meyering + + * lib/rename-dest-slash.c (has_trailing_slash): Use + FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems. + (rpl_rename_dest_slash): Perform the cheaper trailing slash + test before testing whether SRC is a directory. + Suggestions from Bruno Haible. + + Avoid a warning about an unused variable. + * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type" + into the #ifdef block where it's used. + + * lib/rename-dest-slash.c: New file. + +2006-09-14 Bruno Haible + + * lib/allocsa.c: Include unconditionally. + * lib/asnprintf.c: Likewise. + * lib/asprintf.c: Likewise. + * lib/c-strcasecmp.c: Likewise. + * lib/c-strcasestr.c: Likewise. + * lib/c-strncasecmp.c: Likewise. + * lib/c-strstr.c: Likewise. + * lib/classpath.c: Likewise. + * lib/clean-temp.c: Likewise. + * lib/concatpath.c: Likewise. + * lib/copy-file.c: Likewise. + * lib/csharpcomp.c: Likewise. + * lib/csharpexec.c: Likewise. + * lib/execute.c: Likewise. + * lib/fatal-signal.c: Likewise. + * lib/findprog.c: Likewise. + * lib/fwriteerror.c: Likewise. + * lib/gl_array_list.c: Likewise. + * lib/gl_array_oset.c: Likewise. + * lib/gl_avltree_list.c: Likewise. + * lib/gl_avltree_oset.c: Likewise. + * lib/gl_avltreehash_list.c: Likewise. + * lib/gl_carray_list.c: Likewise. + * lib/gl_linked_list.c: Likewise. + * lib/gl_linkedhash_list.c: Likewise. + * lib/gl_list.c: Likewise. + * lib/gl_oset.c: Likewise. + * lib/gl_rbtree_list.c: Likewise. + * lib/gl_rbtree_oset.c: Likewise. + * lib/gl_rbtreehash_list.c: Likewise. + * lib/imaxabs.c: Likewise. + * lib/imaxdiv.c: Likewise. + * lib/javacomp.c: Likewise. + * lib/javaexec.c: Likewise. + * lib/javaversion.c: Likewise. + * lib/linebreak.c: Likewise. + * lib/localcharset.c: Likewise. + * lib/lock.c: Likewise. + * lib/mbchar.c: Likewise. + * lib/mbswidth.c: Likewise. + * lib/mkdtemp.c: Likewise. + * lib/pipe.c: Likewise. + * lib/printf-args.c: Likewise. + * lib/printf-parse.c: Likewise. + * lib/progname.c: Likewise. + * lib/progreloc.c: Likewise. + * lib/readlink.c: Likewise. + * lib/sh-quote.c: Likewise. + * lib/stpcpy.c: Likewise. + * lib/stpncpy.c: Likewise. + * lib/strcasecmp.c: Likewise. + * lib/strcasestr.c: Likewise. + * lib/strcspn.c: Likewise. + * lib/striconv.c: Likewise. + * lib/strncasecmp.c: Likewise. + * lib/strnlen1.c: Likewise. + * lib/strstr.c: Likewise. + * lib/strtok_r.c: Likewise. + * lib/tls.c: Likewise. + * lib/tmpdir.c: Likewise. + * lib/unicodeio.c: Likewise. + * lib/unsetenv.c: Likewise. + * lib/vasnprintf.c: Likewise. + * lib/vasprintf.c: Likewise. + * lib/wait-process.c: Likewise. + * lib/xallocsa.c: Likewise. + * lib/xsetenv.c: Likewise. + * lib/xstriconv.c: Likewise. + +2006-09-13 Simon Josefsson + + * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of + that internally, suggested by Ralf Wildenhues + . + +2006-09-13 Simon Josefsson + + * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not + @LIBOBJS@. + Suggested by Ralf Wildenhues . + +2006-09-13 Paul Eggert + + * lib/_fpending.c: Include unconditionally, since we no + longer worry about uses that don't define HAVE_CONFIG_H. + * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c: + * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c: + * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c: + * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c: + * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c: + * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c: + * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c: + * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c: + * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c: + * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c: + * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c: + * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y: + * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c: + * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c: + * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c: + * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c: + * lib/getusershell.c, lib/glob.c, lib/group-member.c: + * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c: + * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c: + * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c: + * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c: + * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c: + * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c: + * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c: + * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c: + * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c: + * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c: + * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c: + * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c: + * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c: + * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c: + * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c: + * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c: + * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c: + * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c: + * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c: + * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c: + * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c: + * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c: + * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c: + * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c: + Likewise. + +2006-09-13 Eric Blake + + * lib/getopt.c: Fix typo in last commit. + +2006-09-12 Sergey Poznyakoff + + * lib/argp-help.c (argp_doc): Make sure NULL is not passed to + dgettext. + +2006-09-12 Jim Meyering + + * lib/nanosleep.c: Include before sys/select.h, to avoid + compilation failure (due to use of pid_t in latter) on NetBSD 1.6. + Reported by Nelson H. F. Beebe. + +2006-09-10 Sergey Poznyakoff + + * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure + program_invocation_name and program_invocation_short_name are + initialized. + * lib/argp-namefrob.h: Move declarations of program_invocation_name + and program_invocation_short_name to argp.h, so they are visible + to user programs. + * lib/argp.h: Likewise + +2006-09-10 Bruno Haible + + * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4, + m4/inttypes_h.m4, m4/uintmax_t.m4. + +2006-09-10 Bruno Haible + + * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require + gl_AC_TYPE_UINTMAX_T. + +2006-09-10 Bruno Haible + + * lib/mkdtemp.c: Include always. Don't include . + +2006-09-09 Sergey Poznyakoff + + * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..") + convention. Text proposed by Bruno Haible. + (struct argp_option): Document the use of N_() wrappers. + + * lib/argp-help.c (argp_doc): Split the untranslated doc string on + '\v', and translate the two parts separately, instead of feeding + the whole string to gettext. This allows to exclude + '\v' from the strings visible to the translator by writing doc + strings as N_("..") "\v" N_(".."). + +2006-09-09 Paul Eggert + + * config/srclist.txt: Undo latest change; the bug was fixed. + +2006-09-09 Bruno Haible + + * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS + assignments if building a library without libtool. + (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as + in func_emit_lib_Makefile_am. + (func_import): When building a static library libfoo.a, arrange to + define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS. + (func_create_testdir): Likewise. + * modules/gc (configure.ac, Makefile.am): If building statically, + augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS. + * modules/iconvme (configure.ac, Makefile.am): Likewise. + * modules/striconv (configure.ac, Makefile.am): Likewise. + Based on a suggestion by Ralf Wildenhues. + +2006-09-08 Paul Eggert + + * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf. + Check for unistd.h too, since Autoconf doesn't assume POSIX. + Also: + + 2006-09-08 Paul Eggert + Add year_2050_test to catch glibc bug 2821 + . + + 2006-08-15 Paul Eggert + Prefer #ifdef to #if. + + 2006-04-02 Paul Eggert + Return from 'main' instead of calling 'exit'. + +2006-09-08 Paul Eggert + + * lib/mktime.c (guess_time_tm): Fix bug where mktime + returned the maximum time_t value rather than (time_t) -1. + Problem originally reported by William Bardwell + . + + * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]: + Moved to here ... + * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]: + ... from here. + +2006-09-08 Paul Eggert + + * config/srclist.txt: Temporarily comment out mktime.c until glibc bug + 2821 is fixed. + +2006-09-08 Jim Meyering + + Don't make generated files read-only. That would bother too many + people. However, do retain the ability to work when targets are + read-only: remove the destination and temporary files before writing + them (when generated via sed or echo), or by using the -f option for + both cp and mv commands. Suggestion to use -f from Paul Eggert. + * modules/alloca-opt, modules/argz, modules/arpa_inet: + * modules/byteswap, modules/configmake, modules/fcntl: + * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes: + * modules/localcharset, modules/netinet_in, modules/poll: + * modules/stdbool, modules/stdint, modules/sys_select: + * modules/sys_socket, modules/sys_stat, modules/sysexits: + +2006-09-08 Jim Meyering + + Avoid new build failure on FreeBSD 6.0. + * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include + when testing whether getmntinfo uses statvfs. Patch by + Pavel Tsekov, in . + +2006-09-07 Ralf Wildenhues + + * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo. + +2006-09-07 Jim Meyering + + Fix global typo in last change: use chmod u-w, not chmod u-x. + Spotted by Paul Eggert and Bruce Korb. + * modules/alloca-opt, modules/argz, modules/arpa_inet: + * modules/byteswap, modules/configmake, modules/fcntl: + * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes: + * modules/localcharset, modules/netinet_in, modules/poll: + * modules/stdbool, modules/stdint, modules/sys_select: + * modules/sys_socket, modules/sys_stat, modules/sysexits: + +2006-09-06 Jim Meyering + + Make generated files be read-only. + * modules/alloca-opt (Makefile.am): Work also when $@ is read-only. + Ensure that each generated file is now read-only. + * modules/argz: Likewise. + * modules/arpa_inet: Likewise. + * modules/byteswap: Likewise. + * modules/configmake: Likewise. + * modules/fcntl: Likewise. + * modules/fnmatch: Likewise. + * modules/getopt: Likewise. + * modules/glob: Likewise. + * modules/inttypes: Likewise. + * modules/netinet_in: Likewise. + * modules/poll: Likewise. + * modules/stdbool: Likewise. + * modules/stdint: Likewise. + * modules/sys_select: Likewise. + * modules/sys_socket: Likewise. + * modules/sys_stat: Likewise. + * modules/sysexits: Likewise. + * modules/localcharset: Same as above, but continue using temporary + file named "t-$@" (why different?) rather than the "$@-t" used + everywhere else. + + * modules/sysexits (Makefile.am): Replace literal occurrences + of "sysexit.h" more readable, and more consistent, "$@". + +2006-09-06 Bruno Haible + + * modules/striconv: New file. + * modules/xstriconv: New file. + * MODULES.html.sh (Internationalization functions): Add striconv, + xstriconv. + +2006-09-06 Bruno Haible + + * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD. + * modules/iconvme (Makefile.am): Likewise. Also handle the case of + not using libtool correctly. + +2006-09-06 Bruno Haible + + * lib/striconv.h: New file. + * lib/striconv.c: New file, merging iconvme.c with GNU gettext's + iconvstring.c. + * lib/xstriconv.h: New file. + * lib/xstriconv.c: New file. + +2006-09-06 Bruno Haible + + * gnulib-tool (func_emit_lib_Makefile_am): Initialize also + lib_..._LDFLAGS. + +2006-09-05 Ralf Wildenhues + + * lib/argz_.h: Sync from Libtool. + + 2006-09-04 George Bosilca + and Ralf Wildenhues + + * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus. + +2006-09-05 Davide Angelocola + + * modules/trim: New file. + +2006-09-05 Davide Angelocola + + * lib/trim.h: New file. + * lib/trim.c: New file. + +2006-09-05 Bruno Haible + + * MODULES.html.sh (String handling): Add trim. + +2006-09-04 Karl Berry + + * config/srclist.txt (signed.m4, gettext.m4): changes not propagated + until next release. + +2006-09-03 Bruno Haible + + * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries + correctly. + +2006-09-01 Paul Eggert + + * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG, + not gl_GETLOADAVG. Omit unneeded semicolons. + Problems reported by Ralf Wildenhues in + . + (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define. Put + at the end, which is the usual gnulib style. + + * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead + of doing all the work ourselves. + * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for + sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H. + +2006-09-01 Paul Eggert + + * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG. + Problem reported by Ralf Wildenhues in + . + + * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by + HAVE_STRUCT_STATFS_F_FSTYPENAME. + +2006-09-01 Paul Eggert + + * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in + yesterday's patch by changing test -n to test -z. + +2006-08-31 Paul Eggert + + * modules/getloadavg (Files): Add m4/getloadavg.m4. + (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as + the former is now obsolescent. + + * modules/chdir-long (Depends-on): Add fcntl. - * modules/error (Makefile.am): Distribute files through - EXTRA_DIST, not lib_SOURCES. +2006-08-31 Paul Eggert -2006-10-12 Eric Blake + * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is + obsolescent, and programs should use gnulib instead. + * m4/getloadavg.m4: New file, with contents taken from Autoconf + but with prefixes changed. - * modules/error (Makefile.am): Distribute files in /lib. - * modules/obstack (Makefile.am): Likewise. +2006-08-31 Paul Eggert -2006-10-12 Bruno Haible + * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h + or stdbool.h, because they might not exist while configuring. - * modules/acl (Makefile.am): Distribute all files in lib/ through - EXTRA_DIST. - * modules/arcfour (Makefile.am): Likewise. - * modules/arctwo (Makefile.am): Likewise. - * modules/argmatch (Makefile.am): Likewise. - * modules/argz (Makefile.am): Likewise. - * modules/atexit (Makefile.am): Likewise. - * modules/backupfile (Makefile.am): Likewise. - * modules/c-strtod (Makefile.am): Likewise. - * modules/c-strtold (Makefile.am): Likewise. - * modules/calloc (Makefile.am): Likewise. - * modules/canon-host (Makefile.am): Likewise. - * modules/canonicalize (Makefile.am): Likewise. - * modules/chdir-long (Makefile.am): Likewise. - * modules/chdir-safer (Makefile.am): Likewise. - * modules/check-version (Makefile.am): Likewise. - * modules/chown (Makefile.am): Likewise. - * modules/cloexec (Makefile.am): Likewise. - * modules/close-stream (Makefile.am): Likewise. - * modules/closeout (Makefile.am): Likewise. - * modules/crc (Makefile.am): Likewise. - * modules/cycle-check (Makefile.am): Likewise. - * modules/des (Makefile.am): Likewise. - * modules/dirfd (Makefile.am): Likewise. - * modules/dirname (Makefile.am): Likewise. - * modules/dup2 (Makefile.am): Likewise. - * modules/euidaccess (Makefile.am): Likewise. - * modules/exclude (Makefile.am): Likewise. - * modules/exitfail (Makefile.am): Likewise. - * modules/fcntl-safer (Makefile.am): Likewise. - * modules/file-type (Makefile.am): Likewise. - * modules/fileblocks (Makefile.am): Likewise. - * modules/filemode (Makefile.am): Likewise. - * modules/filenamecat (Makefile.am): Likewise. - * modules/fnmatch (Makefile.am): Likewise. - * modules/fopen-safer (Makefile.am): Likewise. - * modules/fpending (Makefile.am): Likewise. - * modules/fprintftime (Makefile.am): Likewise. - * modules/free (Makefile.am): Likewise. - * modules/fsusage (Makefile.am): Likewise. - * modules/ftruncate (Makefile.am): Likewise. - * modules/fts (Makefile.am): Likewise. - * modules/gc (Makefile.am): Likewise. - * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise. - * modules/getaddrinfo (Makefile.am): Likewise. - * modules/getcwd (Makefile.am): Likewise. - * modules/getdelim (Makefile.am): Likewise. - * modules/getdomainname (Makefile.am): Likewise. - * modules/getgroups (Makefile.am): Likewise. - * modules/gethostname (Makefile.am): Likewise. - * modules/gethrxtime (Makefile.am): Likewise. - * modules/getline (Makefile.am): Likewise. - * modules/getloadavg (Makefile.am): Likewise. - * modules/getlogin_r (Makefile.am): Likewise. - * modules/getopt (Makefile.am): Likewise. - * modules/getpass (Makefile.am): Likewise. - * modules/getpass-gnu (Makefile.am): Likewise. - * modules/getsubopt (Makefile.am): Likewise. - * modules/gettime (Makefile.am): Likewise. - * modules/gettimeofday (Makefile.am): Likewise. - * modules/getugroups (Makefile.am): Likewise. - * modules/getusershell (Makefile.am): Likewise. - * modules/glob (Makefile.am): Likewise. - * modules/group-member (Makefile.am): Likewise. - * modules/hard-locale (Makefile.am): Likewise. - * modules/hash (Makefile.am): Likewise. - * modules/hmac-md5 (Makefile.am): Likewise. - * modules/hmac-sha1 (Makefile.am): Likewise. - * modules/human (Makefile.am): Likewise. - * modules/idcache (Makefile.am): Likewise. - * modules/imaxabs (Makefile.am): Likewise. - * modules/imaxdiv (Makefile.am): Likewise. - * modules/inet_ntop (Makefile.am): Likewise. - * modules/inet_pton (Makefile.am): Likewise. - * modules/inttostr (Makefile.am): Likewise. - * modules/isapipe (Makefile.am): Likewise. - * modules/lchown (Makefile.am): Likewise. - * modules/long-options (Makefile.am): Likewise. - * modules/lstat (Makefile.am): Likewise. - * modules/malloc (Makefile.am): Likewise. - * modules/mathl (Makefile.am): Likewise. - * modules/mbchar (Makefile.am): Likewise. - * modules/md2 (Makefile.am): Likewise. - * modules/md4 (Makefile.am): Likewise. - * modules/md5 (Makefile.am): Likewise. - * modules/memcasecmp (Makefile.am): Likewise. - * modules/memchr (Makefile.am): Likewise. - * modules/memcmp (Makefile.am): Likewise. - * modules/memcoll (Makefile.am): Likewise. - * modules/memcpy (Makefile.am): Likewise. - * modules/memmem (Makefile.am): Likewise. - * modules/memmove (Makefile.am): Likewise. - * modules/mempcpy (Makefile.am): Likewise. - * modules/memrchr (Makefile.am): Likewise. - * modules/memset (Makefile.am): Likewise. - * modules/memxor (Makefile.am): Likewise. - * modules/mkancesdirs (Makefile.am): Likewise. - * modules/mkdir (Makefile.am): Likewise. - * modules/mkdir-p (Makefile.am): Likewise. - * modules/mkdtemp (Makefile.am): Likewise. - * modules/mkstemp (Makefile.am): Likewise. - * modules/mktime (Makefile.am): Likewise. - * modules/modechange (Makefile.am): Likewise. - * modules/mountlist (Makefile.am): Likewise. - * modules/nanosleep (Makefile.am): Likewise. - * modules/openat (Makefile.am): Likewise. - * modules/pagealign_alloc (Makefile.am): Likewise. - * modules/physmem (Makefile.am): Likewise. - * modules/poll (Makefile.am): Likewise. - * modules/posixtm (Makefile.am): Likewise. - * modules/posixver (Makefile.am): Likewise. - * modules/putenv (Makefile.am): Likewise. - * modules/quote (Makefile.am): Likewise. - * modules/quotearg (Makefile.am): Likewise. - * modules/raise (Makefile.am): Likewise. - * modules/read-file (Makefile.am): Likewise. - * modules/readline (Makefile.am): Likewise. - * modules/readlink (Makefile.am): Likewise. - * modules/readtokens (Makefile.am): Likewise. - * modules/readutmp (Makefile.am): Likewise. - * modules/realloc (Makefile.am): Likewise. - * modules/regex (Makefile.am): Likewise. - * modules/rename (Makefile.am): Likewise. - * modules/rename-dest-slash (Makefile.am): Likewise. - * modules/rijndael (Makefile.am): Likewise. - * modules/rmdir (Makefile.am): Likewise. - * modules/rpmatch (Makefile.am): Likewise. - * modules/safe-read (Makefile.am): Likewise. - * modules/safe-write (Makefile.am): Likewise. - * modules/same (Makefile.am): Likewise. - * modules/save-cwd (Makefile.am): Likewise. - * modules/savedir (Makefile.am): Likewise. - * modules/setenv (Makefile.am): Likewise. - * modules/settime (Makefile.am): Likewise. - * modules/sha1 (Makefile.am): Likewise. - * modules/sig2str (Makefile.am): Likewise. - * modules/snprintf (Makefile.am): Likewise. - * modules/stdlib-safer (Makefile.am): Likewise. - * modules/stpcpy (Makefile.am): Likewise. - * modules/stpncpy (Makefile.am): Likewise. - * modules/strcase (Makefile.am): Likewise. - * modules/strcasestr (Makefile.am): Likewise. - * modules/strchrnul (Makefile.am): Likewise. - * modules/strcspn (Makefile.am): Likewise. - * modules/strdup (Makefile.am): Likewise. - * modules/strerror (Makefile.am): Likewise. - * modules/strftime (Makefile.am): Likewise. - * modules/strndup (Makefile.am): Likewise. - * modules/strnlen (Makefile.am): Likewise. - * modules/strpbrk (Makefile.am): Likewise. - * modules/strsep (Makefile.am): Likewise. - * modules/strstr (Makefile.am): Likewise. - * modules/strtod (Makefile.am): Likewise. - * modules/strtoimax (Makefile.am): Likewise. - * modules/strtok_r (Makefile.am): Likewise. - * modules/strtol (Makefile.am): Likewise. - * modules/strtoll (Makefile.am): Likewise. - * modules/strtoul (Makefile.am): Likewise. - * modules/strtoull (Makefile.am): Likewise. - * modules/strtoumax (Makefile.am): Likewise. - * modules/strverscmp (Makefile.am): Likewise. - * modules/time_r (Makefile.am): Likewise. - * modules/timegm (Makefile.am): Likewise. - * modules/tmpfile-safer (Makefile.am): Likewise. - * modules/unistd-safer (Makefile.am): Likewise. - * modules/unlinkdir (Makefile.am): Likewise. - * modules/userspec (Makefile.am): Likewise. - * modules/utime (Makefile.am): Likewise. - * modules/utimecmp (Makefile.am): Likewise. - * modules/utimens (Makefile.am): Likewise. - * modules/vasnprintf (Makefile.am): Likewise. - * modules/vasprintf (Makefile.am): Likewise. - * modules/vsnprintf (Makefile.am): Likewise. - * modules/xalloc (Makefile.am): Likewise. - * modules/xgetcwd (Makefile.am): Likewise. - * modules/xnanosleep (Makefile.am): Likewise. - * modules/xreadlink (Makefile.am): Likewise. - * modules/xstrtod (Makefile.am): Likewise. - * modules/xstrtol (Makefile.am): Likewise. - * modules/xstrtold (Makefile.am): Likewise. - * modules/yesno (Makefile.am): Likewise. + * lib/chdir-long.c: Include , for O_DIRECTORY. + Don't include unistd.h or limits.h; not needed, since chdir-long.h + does that for us. + (O_DIRECTORY): Remove. -2006-10-12 Jim Meyering +2006-08-31 Eric Blake - * m4/getloadavg.m4: Revert the change below. + * gnulib-tool: Don't let emacs change spaces to TAB. - * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of - lib/getloadavg.c using "ls -L", not "test -f". The latter would - fail with a symlink, which is what coreutils' ./bootstrap now - creates by default. +2006-08-31 Bruno Haible -2006-10-12 Bruno Haible + * gnulib-tool: When calling func_import more than once, do it in a + subshell. + Reported by Eric Blake . - * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or - mingw. - (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle - MSVC and mingw explicitly. +2006-08-31 Bruno Haible -2006-10-11 Simon Josefsson - Bruno Haible + * gnulib-tool (nl): Remove variable. + (sed_transform_lib_file): Use more robust test for config-h module. + (func_import): Fix typo in 2006-08-25 patch. + +2006-08-31 Bruno Haible + + * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was + specified, augment Makefile.am variables instead of assigning them. + +2006-08-30 Paul Eggert + + Work around a bug in both the Linux and SunOS 64-bit kernels: + nanosleep mishandles sleeps for longer than 2**31 seconds. + Problem reported by Frank v Waveren in + . + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME. + Check for nanosleep bug. + (LIB_NANOSLEEP): Append clock_gettime library if needed. + +2006-08-30 Paul Eggert + + Work around a bug in both the Linux and SunOS 64-bit kernels: + nanosleep mishandles sleeps for longer than 2**31 seconds. + Problem reported by Frank v Waveren in + . + * lib/nanosleep.c (BILLION): New constant. + (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions. + (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new + implementation. + +2006-08-30 Paul Eggert + + * modules/nanosleep (Depends-on): Add gettime. + +2006-08-30 Paul Eggert + and Simon Josefsson + and Oskar Liljeblad - Add support for multiple gnulib-tool invocations in the scope of a - single configure.ac file. - * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable, - use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable - with the same contents as the _LIBADD variable. - (func_emit_initmacro_start, func_emit_initmacro_end, - func_emit_initmacro_done): New functions. - (func_import, func_create_testdir): Invoke them. Allow the identifiers - gl_LIBOBJS and gl_LTLIBOBJS. + * MODULES.html.sh (Support for building documentation): Add gpl, lgpl. + * gnulib-tool (func_import): New license type 'unmodifiable license + text'. + * modules/fdl: Use it. Longer description. + * module/gpl, module/lgpl: New files. -2006-10-11 Bruno Haible +2006-08-30 Jim Meyering - * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables. - (func_create_testdir): Don't create po/Makefile.am, don't invoke - autoreconf. Instead, invoke autopoint explicitly but move back the - *.m4 files from gnulib. + * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid + shadowing the parameter. -2006-10-11 Bruno Haible +2006-08-29 Ralf Wildenhues - * gnulib-tool (func_usage): Make module names after --create-testdir - optional. - (func_create_testdir): If no module was specified, use nearly all - modules. + Sync from Libtool: -2006-10-12 Jim Meyering + 2006-08-28 Ralf Wildenhues - Big performance improvement for fts-based tools that use FTS_NOSTAT. - Avoid spurious inode-mismatch problems on non-POSIX file systems. - Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416 - * lib/fts_.h (FTS_DEFER_STAT): Define new flag. - (FTS_OPTIONMASK): Extend the mask to reflect this addition. - * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define. - (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define. - (fts_set_stat_required): New function. - (fts_open): Defer the calls to fts_stat, if possible or requested. - Move the code that maps a command-line fts_info value FTS_DOT to FTS_D - into fts_stat itself. - (fts_read): Perform any required (deferred) fts_stat call. - (fts_build): Likewise, for the directory we're about to open and read. - In the readdir loop, carefully decide whether each entry will require - an eventual call to fts_stat, using dirent.d_type info if available. - (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on - a command line argument into this function. Update all callers. - Map a return value of FTS_DOT to FTS_D for a command line argument. - * modules/fts (Depends-on): Add d-type. Alphabetize. - Thanks to Miklos Szeredi for his tenacity and for the initial - bug report about "find" failing on a FUSE-based file system. + * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code + sharing with gnulib. Report by Eric Blake. - * lib/fts.c (fts_open): Use consistent indentation. +2006-08-29 Paul Eggert -2006-10-12 Paul Eggert + * modules/isapipe: New file. + * MODULES.html.sh (File descriptor based Input/Output): Add isapipe. - * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from - gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure - reported by Jim Meyering. All uses of cache variables renamed - to match Autoconf's. - (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires - the other one. +2006-08-29 Paul Eggert - * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): - Fix misspelling in diagnostic. + * modules/configmake (Makefile.am): Add a comment, and omit + the CONFIGMAKE_ prefix from generated macro names. Suggested + by Bruno Haible. -2006-10-11 Paul Eggert +2006-08-29 Paul Eggert - * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already - defined. Problem reported by Matthew Woehlke. + * m4/isapipe.m4: New file. - * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro. - Add support for Tandem NonStop R series. - (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): - Use new macro. +2006-08-29 Paul Eggert - * lib/rename-dest-slash.c: Include stdbool.h but not string.h. - (has_trailing_slash): Omit size arg; all callers changed. - Omit 'inline', since it doesn't help performance and we'd - need to configure it. - Don't count //, ///, etc. as having a trailing slash. - As a side effect, this removes a C99ism reported by Matthew Woehlke. - (rpl_rename_dest_slash): On failure, use rename's errno rather - than (in some cases) an incorrect or junk errno. - Simplify code by removing need to compute length; this does - cause it to make two passes instead of one over the file name, - but it's worth it. + * lib/isapipe.c, lib/isapipe.h: New files. - * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous - change, since Autoconf's version may no longer be appropriate now - that we are using CVS Autoconf's version. Add support for Tandem. +2006-08-29 Jim Meyering -2006-10-11 Paul Eggert - Bruno Haible + * modules/configmake (Makefile.am): Make configmake.h depend on + Makefile. Otherwise, a stale configmake.h could hang around. - * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test - HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG. - * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of - gl_AC_TYPE_LONG_LONG. +2006-08-29 Eric Blake - * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT - instead of HAVE_LONG_LONG. - * lib/printf-args.c (printf_fetchargs): Likewise. - * lib/printf-parse.c (PRINTF_PARSE): Likewise. - * lib/vasnprintf.c (VASNPRINTF): Likewise. - * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE, - gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of - gl_AC_TYPE_LONG_LONG. + * lib/error.c (error_at_line, print_errno_message): Match libc, after + resolution of upstream bug 3044. -2006-10-11 Bruno Haible +2006-08-29 Bruno Haible - * m4/longlong.m4: Add comments. - * m4/ulonglong.m4: Likewise. + * modules/localcharset (Depends-on): Add configmake. + (Makefile.am): Remove setting of LIBDIR through DEFS. -2006-10-10 Bruno Haible +2006-08-29 Bruno Haible - Make it possible to #define stpcpy, strdup to aliases. - * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine. - * lib/strdup.c (strdup) [!_LIBC]: Don't undefine. + * lib/localcharset.c: Include configmake.h in order to get LIBDIR + defined. -2006-10-10 Bruno Haible +2006-08-28 Paul Eggert - Make it possible to #define gcd to an alias. - * lib/gcd.c: Include config.h. + * modules/fcntl: New file. + * modules/chdir-safer (Depends-on): Add fcntl. + * modules/fts: Likewise. + * modules/mkdir-p: Likewise. -2006-10-10 Bruno Haible + * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H. + This undoes the most recent change, since we're now addressing the + problem in a different way. - Make it possible to #define c_isascii to an alias. - * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is - defined. Undefine the macros before defining them, to avoid gcc - warnings. - * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead, - define NO_C_CTYPE_MACROS early. + * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name + into output, since the output might be called Makefile.am even + if $makefile_name is something different. + (func_import): Use $makefile_am rather than + ${makefile_name-Makefile.am}, to fix a bug where makefile_name was + empty. -2006-10-10 Bruno Haible + * modules/inttypes (Files): Add m4/inttypes-h.m4. - Make it possible to #define set_program_name to an alias. - * lib/progname.c: Don't undefine set_program_name; instead, undefine - ENABLE_RELOCATABLE early. +2006-08-28 Paul Eggert -2006-10-10 Paul Eggert + * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here... + * m4/stdint.m4 (gl_STDINT_H): ... from here. This undoes the most + recent change to stdint.m4, since we're now addressing the problem in a + different way. - Port to Tandem NSK OSS, which has 64-bit signed int but at most - 32-bit unsigned int. Problem reported by Matthew Woehlke in: - http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html - More generally, don't assume that 64-bit signed int is available - if unsigned int is, and vice versa. - * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on - unsigned symbols, not on their signed counterparts. - * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t): - (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX): - (UINT64_C, UINTMAX_C): - Likewise. - * lib/strtoimax.c (strtoll): Depend on signed symbols, not their - unsigned counterparts. - (Have_long_long, Unsigned): New macros. - (Int): Renamed from INT. - (strtoimax): Use the new macros. - * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT - and substitute HAVE_UNSIGNED_LONG_LONG_INT. - * modules/inttypes (inttypes.h): Substitute - HAVE_UNSIGNED_LONG_LONG_INT. - * modules/stdint (stdint.h): Likewise. - (Files): Add m4/ulonglong.m4. +2006-08-28 Paul Eggert -2006-10-10 Bruno Haible + * m4/fcntl_h.m4: New file. - Fix a gcc -Wshadow warning. - * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index' - to 'bucket'. - * lib/gl_anylinked_list2.h (gl_linked_search_from_to, - gl_linked_indexof_from_to): Likewise. - * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket): - Likewise. - * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket): - Likewise. - * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise. - Reported by Eric Blake. +2006-08-28 Paul Eggert -2006-10-09 Paul Eggert + * lib/fcntl_.h: New file. + * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have + the fcntl module. + * lib/dirchownmod.c: Likewise. + * lib/fts.c: Likewise. - * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too, - for NetBSD. Problem reported by Bruno Haible. + * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]: + Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else. + * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define + just before including , to avoid circular inclusion. -2006-10-09 Jim Meyering +2006-08-28 Jim Meyering - * lib/lchown.c: Include before "stat-macros.h". - Patch from Bruno Haible. + * doc/visibility.texi: Actually read and correct the grammar of the + sentence affected by yesterday's change. -2006-10-09 Jim Meyering +2006-08-28 Eric Blake - * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due - to FTS_SKIP, don't copy the parent's uninitialized dev/ino values. - Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d + * modules/inttypes (Makefile.am): Fix sed error when inttypes.h + needs wrapper. -2006-10-08 Paul Eggert +2006-08-28 Eric Blake - Don't include twice; this doesn't work in some cases, - e.g., when config.h has "#define intmax_t long long int" and - we include , , in that order. - Problem reported by Matthew Woehlke in: - http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html - * lib/fprintftime.c: Don't include config.h or fprintftime.h. - * lib/fts-cycle.c: Don't include config.h. - * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined. - * lib/xstrtoimax.c: Remove copyright notice since it's short tnow. - Don't include config.h or xstrtol.h. Define STRTOL_T_MINIMUM - and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib - inttypes.h. - * lib/xstrtoumax.c: Likewise. - * lib/xstrtol.c: Include config.h and xstrtol.h after defining - __strtol and the like, so that this module is more like its siblings. - (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]: - Remove; no longer needed now that we assume gnulib inttypes.h. + * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif. -2006-10-08 Bruno Haible +2006-08-28 Eric Blake - * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink - option. + * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning. -2006-10-07 Jim Meyering +2006-08-28 Bruno Haible - * modules/inttypes (inttypes.h): Revert what seems to have been - an inadvertent part of today's change: use "|", not "/" in the - substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H). + * modules/c-strstr: New file, from GNU gettext. + * MODULES.html.sh (String handling): Add c-strstr. -2006-10-07 Bruno Haible +2006-08-28 Bruno Haible - * modules/sublist: New file. + * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX* + macros. + Reported by Eric Blake. -2006-10-07 Bruno Haible +2006-08-28 Bruno Haible - * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment. - * modules/argz (argz.h): Likewise. - * modules/arpa_inet (arpa/inet.h): Likewise. - * modules/byteswap (byteswap.h): Likewise. - * modules/configmake (configmake.h): Likewise. - * modules/fcntl (fcntl.h): Likewise. - * modules/fnmatch (fnmatch.h): Likewise. - * modules/getopt (getopt.h): Likewise. - * modules/glob (glob.h): Likewise. - * modules/inttypes (inttypes.h): Likewise. - * modules/netinet_in (netinet/in.h): Likewise. - * modules/poll (poll.h): Likewise. - * modules/stdbool (stdbool.h): Likewise. - * modules/stdint (stdint.h): Likewise. - * modules/sys_select (sys/select.h): Likewise. - * modules/sys_socket (sys/socket.h): Likewise. - * modules/sys_stat (sys/stat.h): Likewise. - * modules/sysexits (sysexits.h): Likewise. - * modules/unistd (unistd.h): Likewise. - * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): - Add a "DO NOT EDIT" comment to the generated file. - (func_import): Likewise for gnulib-comp.m4. + * lib/vasnprintf.c (EOVERFLOW): Remove definition. + (VASNPRINTF): Return a string of length > INT_MAX without failing. + * lib/vasprintf.c: Include errno.h, limits.h. + (EOVERFLOW): New fallback definition. + (vasprintf): Test here whether the string length is > INT_MAX. + * lib/vsnprintf.c: Include errno.h, limits.h. + (EOVERFLOW): New fallback definition. + (vsnprintf): Fix bug when generated string was too long for the buffer. + Test here whether the string length is > INT_MAX. -2006-10-07 Bruno Haible +2006-08-28 Bruno Haible - * lib/gl_sublist.h: New file. - * lib/gl_sublist.c: New file. + * lib/inttypes_.h (SCNX*): Remove definitions. + Reported by Eric Blake. -2006-10-06 Paul Eggert +2006-08-28 Bruno Haible - * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file - name (relative to the original working directory) and the file - name component (relative to the temporary working directory). All - callers changed. - * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match. - * lib/mkdir-p.c (make_dir_parents): Likewise. - * lib/mkdir-p.h (make_dir_parents): Likewise. + * lib/c-strstr.h: New file, from GNU gettext. + * lib/c-strstr.c: New file, from GNU gettext. -2006-10-06 Eric Blake +2006-08-28 Bruno Haible - Define several macros for use by the clean-temp module. - * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM. - * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER. - * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER. + * gnulib-tool: Reorder some statements. - * lib/clean-temp.h (close_stream_temp): New declaration. - * lib/clean-temp.c (includes): Pull in headers according to what - other modules are in use. - (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function. +2006-08-28 Bruno Haible -2006-10-06 Bruno Haible + * gnulib-tool: New option --makefile-name. + (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use + $makefile_name. + (func_import): Write $makefile_name to the cache file, and read it from + there unless explicitly specified. Use $makefile_name as file name + instead of Makefile.am. Adjust the recommendations accordingly. - * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp - instead of fopen, fwriteerror. +2006-08-28 Bruno Haible -2006-10-06 Bruno Haible + * gnulib-tool (func_verify_module): Check against misapplying patch. - * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir, - cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to - int. - * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file, - cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir): - Return an error indicator. - Suggested by Eric Blake. +2006-08-28 Bruno Haible -2006-10-06 Bruno Haible + * gnulib-tool (func_relativize, func_relconcat): New functions. + Give an error if --local-dir is given with --update. + Remove trailing slashes from $local_gnulib_dir. + (func_import): Store the relativized $local_gnulib_dir in + gnulib-cache.m4, and read it from there if not specified explicitly. - * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd. - Reported by Eric Blake. +2006-08-28 Bruno Haible -2006-10-06 Bruno Haible + * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir + is the current directory. Respect also $local_gnulib_dir. - * modules/closeout (Description): Mention stderr too. +2006-08-28 Bruno Haible + Simon Josefsson -2006-10-06 Bruno Haible - and Paul Eggert + BeOS portability. + * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros. - * lib/closeout.c (close_stdout): Also close stderr. - * lib/closeout.h: Update comment. +2006-08-27 Jim Meyering -2006-10-05 Paul Eggert + * doc/visibility.texi: Remove duplicate word: "pointer". - Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in - . - * lib/dirchownmod.c: Include lchown.h. - * lib/lchown.c: Don't include files that lchown.h now includes. - Don't declare chown, since lchown.h now does that. - * lib/lchown.h: Include errno.h, sys/types.h, unistd.h. - (lchown): Define to rpl_chown if lchown is declared but - does not exist. Declare using a prototype if lchown is not - declared. Add a copyright notice. - * lib/mkstemp.h: Include . - * lib/openat.c: Include lchown.h. +2006-08-26 Bruno Haible - * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE; - we now test for that separately. - * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW - rather than O_NOFOLLOW, when testing whether it's possible to - avoid a race condition reliably. - * lib/savewd.c (savewd_chdir): Likewise. + * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h. + Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4. + (Makefile.am): Create inttypes.h from inttypes_.h. + * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H. - Remove macros that are no longer needed now that stdint.h is - reliable. - * lib/fsusage.c (UINTMAX_MAX): Remove. - * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove. - * lib/utimecmp.c (SIZE_MAX): Remove. + * modules/imaxabs: New file. - * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared. + * modules/imaxdiv: New file. - * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead - of O_NOFOLLOW_IS_INEFFECTIVE. Define HAVE_WORKING_O_NOATIME if - O_NOATIME works. +2006-08-26 Bruno Haible -2006-10-05 Bruno Haible + * m4/inttypes.m4: New file. + * m4/_inttypes_h.m4: Remove file. + * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST + PRI_MACROS_BROKEN. + * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H. - * lib/gl_list.h (gl_sortedlist_search_from_to, - gl_sortedlist_indexof_from_to): New declarations. - (gl_list_implementation): New fields sortedlist_search_from_to, - sortedlist_indexof_from_to. - (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New - inline functions. - * lib/gl_list.c (gl_sortedlist_search_from_to, - gl_sortedlist_indexof_from_to): New functions. - * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New - function. - (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it. - (gl_array_sortedlist_search_from_to): New function. - (gl_array_list_implementation): Update. - * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New - function. - (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it. - (gl_carray_sortedlist_search_from_to): New function. - (gl_carray_list_implementation): Update. - * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to, - gl_linked_sortedlist_indexof_from_to): New functions. - * 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_sortedlist_search_from_to, - gl_tree_sortedlist_indexof_from_to): New functions. - * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update. - * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation): - Update. - * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update. - * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation): - Update. + * m4/imaxabs.m4: New file. -2006-10-05 Bruno Haible + * m4/imaxdiv.m4: New file. - * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to, - gl_list_indexof_from, gl_list_indexof_from_to): New declarations. - (struct gl_list_implementation): Add fields search_from_to, - indexof_from_to. Remove fields search, indexof. - (gl_list_search): Use the search_from_to method. - (gl_list_search_from, gl_list_search_from_to): New functions. - (gl_list_indexof): Use the indexof_from_to method. - (gl_list_indexof_from, gl_list_indexof_from_to): New functions. - * lib/gl_list.c (gl_list_search): Use the search_from_to method. - (gl_list_search_from, gl_list_search_from_to): New functions. - (gl_list_indexof): Use the indexof_from_to method. - (gl_list_indexof_from, gl_list_indexof_from_to): New functions. - * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from - gl_array_indexof. Add start_index, end_index arguments. - (gl_array_search_from_to): Renamed from gl_array_search. Add - start_index, end_index arguments. - (gl_array_remove, gl_array_list_implementation): Update. - * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from - gl_carray_indexof. Add start_index, end_index arguments. - (gl_carray_search_from_to): Renamed from gl_carray_search. Add - start_index, end_index arguments. - (gl_carray_remove, gl_carray_list_implementation): Update. - * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from - gl_linked_search. Add start_index, end_index arguments. - (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add - start_index, end_index arguments. - (gl_linked_remove): Update. - * lib/gl_linked_list.c (gl_linked_list_implementation): Update. - * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update. - * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp' - field to 'size_t'. - * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from - gl_tree_search. Add start_index, end_index arguments. - (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add - start_index, end_index arguments. - (gl_tree_remove): Update. - * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update. - * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update. - * lib/gl_anytreehash_list1.h (compare_position_threshold): New - function. - * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from - gl_tree_search. Add start_index, end_index arguments. - (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add - start_index, end_index arguments. - * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation): - Update. - * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update. +2006-08-26 Bruno Haible -2006-10-05 Bruno Haible + * lib/inttypes_.h: New file. + * lib/inttypes.h: Remove file. + * lib/stdint_.h: Include through its absolute filename. - * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR. + * lib/imaxabs.c: New file. - * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp, - fwriteerror_temp): New declarations. - * lib/clean-temp.c (uintptr_t): Provide fallback definition. - (descriptors): New variable. - (cleanup): First, close the descriptors. - (register_fd, unregister_fd, open_temp, fopen_temp, close_temp, - fclose_temp, fwriteerror_temp): New functions. + * lib/imaxdiv.c: New file. -2006-10-04 Jim Meyering +2006-08-25 Paul Eggert - * lib/fts.c (fts_open): Tiny comment change. + New config-h module, so that "make" output needn't be cluttered + by -DHAVE_CONFIG_H. + * MODULES.html.sh (Support for building libraries and executables): + Add config-h. + * modules/config-h: New file. + * gnulib-tool (nl, sed_transform_lib_file): New vars. + (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if + the config-h module is used. -2006-10-04 Bruno Haible + New configmake module, so that "make" output needn't be cluttered + by fluff like '-DLIBDIR=\"/usr/local/lib\"'. + * MODULES.html.sh (Support for building libraries and executables): + Add configmake. + * modules/configmake: New file. - Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY. - * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from - gl_LOCK_BODY. - (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY. - (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in - gl_LOCK_EARLY_BODY. - (gl_LOCK): Require gl_LOCK_BODY. +2006-08-25 Paul Eggert -2006-10-04 Bruno Haible + * m4/config-h.m4: New file. - * lib/gl_oset.h (gl_setelement_threshold_fn): New type. - (gl_oset_search_atleast): New declaration. - (struct gl_oset_implementation): Add field 'search_atleast'. - (gl_oset_search_atleast): New inline function. - * lib/gl_oset.c (gl_oset_search_atleast): New function. - * lib/gl_array_oset.c (gl_array_search_atleast): New function. - (gl_array_oset_implementation): Update. - * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function. - * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update. - * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update. +2006-08-24 Paul Eggert -2006-10-04 Bruno Haible + * config/srclist.txt: Add elisp-comp. - * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal. +2006-08-24 Paul Eggert -2006-10-03 Bruno Haible + * MODULES.html.sh (Support for building libraries and executables): + Add elisp-comp. + * build-aux/elisp-comp: New file. + * modules/elisp-comp: New file. - * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed - from gl_avltreehash_list_implementation. +2006-08-24 Bruno Haible -2006-10-03 Bruno Haible + * gnulib-tool (func_create_testdir): Use non-default values of + sourcebase and m4base. - * lib/gl_oset.c (gl_oset_add): Fix return type. +2006-08-24 Bruno Haible -2006-10-02 Paolo Bonzini (tiny change) + * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix + HTML structure. - * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int. +2006-08-23 Paul Eggert -2006-10-02 Eric Blake + * modules/openat (Depends-on): Add lchown. - * modules/strnlen (Depends-on): Add extensions. +2006-08-23 Bruno Haible -2006-10-02 Eric Blake + * gnulib-tool (func_import, func_create_testdir): Emit an invocation + of gl_LOCK_EARLY instead of gl_LOCK. - * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's - definition in 2.60+. +2006-08-23 Bruno Haible -2006-10-02 Dmitry V. Levin + * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads + on OSF/1 to no. + Reported by Stephen Cartwright . - * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant - checks. +2006-08-23 Bruno Haible -2006-10-02 Bruno Haible + * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs + as unusable. - * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies - to the AUTOMAKE_OPTIONS. - Reported by Jim Meyering. + * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK. + (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation. + (gl_LOCK): New macro. -2006-09-29 Paul Eggert +2006-08-22 Simon Josefsson - Work around bug in Solaris 10 /proc file system: - /proc/self/fd/NNN/.. isn't the parent directory of - the directory whose file descriptor is NNN. This needs to - be worked around at run time, not compile time, since a - program might be built on Solaris 8, where things work, and - run on Solaris 10. - * lib/openat-priv.h (BUILD_PROC_NAME): Remove. All callers changed - to use the following interface instead: - (OPENAT_BUFFER_SIZE): New macro. - (openat_proc_name): New function. - * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes. - * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir): - Likewise. - * lib/openat-proc.c: New file. - * modules/openat (Files): Add lib/openat-proc.c. - (Depends-on): Add same-inode, stdbool. - * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc). + * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes + to md5 module. -2006-09-29 Bruno Haible +2006-08-22 Simon Josefsson - * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration. - * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf - argument. Set stdout_closed before testing for ferror, not after. - (fwriteerror, fwriteerror_no_ebadf): New functions. + * MODULES.html.sh: Add "Support for maintaining and release + projects". -2006-09-28 Ralf Wildenhues + * build-aux/gnupload: New file, from coreutils. - * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning. +2006-08-22 Paul Eggert -2006-09-28 Paolo Bonzini + Avoid the need for AC_LIBSOURCES in m4 macros. + * modules/arcfour (EXTRA_DIST): Add arcfour.h. + * modules/arctwo (EXTRA_DIST): Add arctwo.h. + * modules/check-version (EXTRA_DIST): Add check-version.h. + * modules/crc (EXTRA_DIST): Add crc.h. + * modules/des (EXTRA_DIST): Add des.h. + * modules/gc (EXTRA_DIST): Add gc.h. + * modules/getdelim (EXTRA_DIST): Add getdelim.h. + * modules/getline (EXTRA_DIST): Add getline.h. + * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h. + * modules/hmac-md5 (EXTRA_DIST): Add hmac.h. + * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h. + * modules/md2 (EXTRA_DIST): Add md2.h. + * modules/md4 (EXTRA_DIST): Add md4.h. + * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h. + * modules/read-file (EXTRA_DIST): Add read-file.h. + * modules/readline (EXTRA_DIST): Add readline.h. + * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h, + rijndael-api-fst.h. - * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK. - * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h. +2006-08-22 Paul Eggert -2006-09-28 Jim Meyering + * m4/rijndael.m4 (gl_ARCFOUR): + * m4/arctwo.m4 (gl_ARCTWO): + * m4/check-version.m4 (gl_CHECK_VERSION): + * m4/crc.m4 (gl_CRC): + * m4/des.m4 (gl_DES): + * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1): + * m4/gc.m4 (gl_GC): + * m4/getdelim.m4 (gl_FUNC_GETDELIM): + * m4/getline.m4 (gl_FUNC_GETLINE): + * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): + * m4/hmac-md5.m4 (gl_HMAC_MD5): + * m4/hmac-sha1.m4 (gl_HMAC_SHA1): + * m4/md2.m4 (gl_MD2): + * m4/md4.m4 (gl_MD4): + * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): + * m4/read-file.m4 (gl_FUNC_READ_FILE): + * m4/readline.m4 (gl_FUNC_READLINE): + * m4/rijndael.m4 (gl_RIJNDAEL): + Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/ + to get the necessary .h files and whatnot. - * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c". - Include . +2006-08-22 Paul Eggert -2006-09-28 Bruno Haible + * config/srclist.txt: Remove gnupload, since coreutils now syncs from + gnulib rather than the other way around. + * config/srclistvars.sh (COREUTILS): Remove. - * modules/avltreehash-list (Depends-on): Add stdint, remove size_max. - * modules/linkedhash-list (Depends-on): Likewise. - * modules/rbtreehash-list (Depends-on): Likewise. +2006-08-22 Jim Meyering -2006-09-28 Bruno Haible + * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/. - * lib/strndup.h: Simplify the redefinition of strndup. - (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros. - * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX. + * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST. -2006-09-28 Bruno Haible +2006-08-22 Eric Blake - * lib/gl_avltreehash_list.c: Include instead of size_max.h. - * lib/gl_linkedhash_list.c: Likewise. - * lib/gl_rbtreehash_list.c: Likewise. + * modules/regexprops-generic: New file. + * MODULES.html.sh (Support for building documentation): List it. -2006-09-27 Paul Eggert +2006-08-22 Eric Blake - * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0 - getaddrinfo. + * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning. + * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise. + * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise. + * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise. - * lib/__fpending.h: Don't include unless - HAVE_DECL___FPENDING. This avoids a bug with lsbcc, where - it causes to cause a compile-time error. - Problem reported by Nelson H. F. Beebe. - * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead - of HAVE_DECL___PENDING. +2006-08-22 Bruno Haible - * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once. - * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's - declaration. + * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES + and lib_LTLIBRARIES like the other lib_* variables. -2006-09-27 Jim Meyering +2006-08-22 Bruno Haible - This file could end up with a definition for a function - named __strndup, rather than rpl_strndup on a system with - incomplete weak_alias support. - * lib/strndup.c (strndup): Rename from __strndup. - Remove #defines that used to map __strndup to strndup. - Don't use K&R prototypes. - Remove LIBC-related code, since this file is not sync'd with glibc. - * lib/strndup.h: Revamp, accordingly. - * m4/strndup.m4: Modernize. + * build-aux/x-to-1.in: New file, from GNU gettext. -2006-09-26 Paul Eggert +2006-08-22 Bruno Haible - * modules/savewd (Depends-on): Add 'raise'. - * lib/savewd.c: Include , for 'raise'. + * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if or + exists. -2006-09-26 Jim Meyering +2006-08-22 Bruno Haible - * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether - when we detect Darwin 8.7.0's acl_get_file bug. - Rearrange to perform the new (below) run-test while $LIBS - contains any acl-related library. Set USE_ACL at the end. - (gl_ACL_GET_FILE): New function. + * lib/readutmp.h: Skip most definitions if neither nor + exists. -2006-09-26 Eric Blake +2006-08-21 Paul Eggert - * lib/verror.c: Include unconditionally. + BeOS portability. + * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't + exist. + Problem reported by Bruno Haible. -2006-09-25 Paul Eggert +2006-08-21 Paul Eggert - * modules/clock-time (Maintainer): Add self. - * modules/getlogin_r (Depends-on): Add extensions. + Avoid the need for AC_LIBSOURCES in m4 macros. + * modules/acl (EXTRA_DIST): Add acl.h. + * modules/argmatch (Files): Add m4/argmatch.m4. + (configure.ac): Add gl_ARGMATCH. + (EXTRA_DIST): Renamed from lib_SOURCES, for + consistency with the other modules. Remove argmatch.c. + * modules/backupfile (EXTRA_DIST): Add backupfile.h. + * modules/c-strtod (EXTRA_DIST): Add c-strtod.h. + * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h. + * modules/canonhost (EXTRA_DIST): Add c-canonhost.h. + * modules/canonicalize (EXTRA_DIST): Add canonicalize.h. + * modules/chdir-long (EXTRA_DIST): Add chdir-long.h. + * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h. + * modules/cloexec (EXTRA_DIST): Add cloexec.h. + * modules/close-stream (EXTRA_DIST): Add close-stream.h. + * modules/closeout (EXTRA_DIST): Add closeout.h. + * modules/cycle-check (EXTRA_DIST): Add cycle-check.h. + * modules/dev-ino (EXTRA_DIST): Add dev-ino.h. + * modules/dirfd (EXTRA_DIST): Add dirfd.h. + * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES. Add + dirname.h; remove basename.c and stripslash.c. + * modules/exclude (EXTRA_DIST): Add exclude.h. + * modules/exitfail (EXTRA_DIST): Add exitfail.h. + * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h. + * modules/file-type (EXTRA_DIST): Add file-type.h. + * modules/filemode (EXTRA_DIST): Add filemode.h. + * modules/filenamecat (EXTRA_DIST): Add filenamecat.h. + * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h. + * modules/fpending (EXTRA_DIST): Add __fpending.h. + * modules/fprintftime (EXTRA_DIST): Add fprintftime.h. + * modules/fsusage (EXTRA_DIST): Add fsusage.h. + * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c. + * modules/getcwd (EXTRA_DIST): Add getcwd.h. + * modules/getdate (EXTRA_DIST): Add getdate.c. + * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h. + * modules/getpagesize (EXTRA_DIST): Add getpagesize.h. + * modules/getpass (EXTRA_DIST): Add getpass.h. + * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h. + * modules/group-member (EXTRA_DIST): Add group-member.h. + * modules/hard-locale (EXTRA_DIST): Add hard-locale.h. + * modules/hash (EXTRA_DIST): Add hash.h. + * modules/human (EXTRA_DIST): Add human.h. + * modules/inttypes (EXTRA_DIST): Add inttypes.h. + * modules/lchmod (EXTRA_DIST): Add lchmod.h. + * modules/lchown (EXTRA_DIST): Add lchown.h. + * modules/long-options (EXTRA_DIST): Add long-options.h. + * modules/lstat (EXTRA_DIST): Add lstat.h. + * modules/md5 (EXTRA_DIST): Add memcasecmp.h. + * modules/memcoll (EXTRA_DIST): Add memcoll.h. + * modules/mempcpy (EXTRA_DIST): Add mempcpy.h. + * modules/memrchr (EXTRA_DIST): Add memrchr.h. + * modules/memxor (EXTRA_DIST): Add memxor.h. + * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h. + * modules/mkdir-p (EXTRA_DIST): Add modechange.h. + * modules/mountlist (EXTRA_DIST): Add mountlist.h. + * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h. + * modules/pathmax (EXTRA_DIST): Add pathmax.h. + * modules/physmem (EXTRA_DIST): Add physmem.h. + * modules/posixtm (EXTRA_DIST): Add posixtm.h. + * modules/posixver (EXTRA_DIST): Add posixver.h. + * modules/quote (EXTRA_DIST): Add quote.h. + * modules/quotearg (EXTRA_DIST): Add quotearg.h. + * modules/readtokens (EXTRA_DIST): Add readtokens.h. + * modules/readutmp (EXTRA_DIST): Add readutmp.h. + * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c + regex_internal.h regexec.c. + * modules/safe-read (EXTRA_DIST): Add safe-read.h. + * modules/safe-write (EXTRA_DIST): Add safe-write.h. + * modules/same (EXTRA_DIST): Add same.h. + * modules/same-inode (EXTRA_DIST): Add same-inode.h. + * modules/save-cwd (EXTRA_DIST): Add save-cwd.h. + * modules/savedir (EXTRA_DIST): Add savedir.h. + * modules/sha1 (EXTRA_DIST): Add sha1.h. + * modules/sig2str (EXTRA_DIST): Add sig2str.h. + * modules/stat-macros (EXTRA_DIST): Add stat-macros.h. + * modules/stat-time (EXTRA_DIST): Add stat-time.h. + * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h. + * modules/strdup (EXTRA_DIST): Add strdup.h. + * modules/strftime (EXTRA_DIST): Add strftime.h. + * modules/strndup (EXTRA_DIST): Add strndup.h. + * modules/strnlen (EXTRA_DIST): Add strnlen.h. + * modules/strverscmp (EXTRA_DIST): Add strverscmp.h. + * modules/time_r (EXTRA_DIST): Add time_r.h. + * modules/timespec (EXTRA_DIST): Add timespec.h. + * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h. + * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h. + * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h. + * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h. + * modules/userspec (EXTRA_DIST): Add userspec.h. + * modules/utimecmp (EXTRA_DIST): Add utimecmp.h. + * modules/utimens (EXTRA_DIST): Add utimens.h. + * modules/xalloc (EXTRA_DIST): Add xalloc.h. + * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h. + * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h. + * modules/xreadlink (EXTRA_DIST): Add xreadlink.h. + * modules/xstrtod (EXTRA_DIST): Add xstrtod.h. + * modules/xstrtol (EXTRA_DIST): Add xstrtol.h. + * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h. + * modules/yesno (EXTRA_DIST): Add yesno.h. -2006-09-25 Ralf Wildenhues +2006-08-21 Paul Eggert - * modules/clock-time: New module. - * modules/nanosleep (Depends-on): Add clock-time. - * modules/gethrxtime (Depends-on): Likewise. - * modules/gettime (Depends-on): Likewise. - * modules/settime (Depends-on): Likewise. + * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod. - * modules/fts-lgpl: Depend on openat. - * modules/mkancesdirs: Depend on savewd. - * modules/mkdir-p: Likewise. + * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed. + * m4/dev-ino.m4, same-inode.m4: Remove. -2006-09-25 Ralf Wildenhues + * m4/_inttypes_h.m4 (gl_INTTYPES_H): + * m4/acl.m4 (AC_FUNC_ACL): + * m4/backupfile.m4 (gl_BACKUPFILE): + * m4/c-strtod.m4 (gl_C99_STRTOLD): + * m4/canon-host.m4 (gl_CANON_HOST): + * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): + * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): + * m4/chdir-safer.m4 (gl_CHDIR_SAFER): + * m4/cloexec.m4 (gl_CLOEXEC): + * m4/close-stream.m4 (gl_CLOSE_STREAM): + * m4/closeout.m4 (gl_CLOSEOUT): + * m4/dirfd.m4 (gl_FUNC_DIRFD): + * m4/dirname.m4 (gl_DIRNAME): + * m4/exclude.m4 (gl_EXCLUDE): + * m4/exitfail.m4 (gl_EXITFAIL): + * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): + * m4/file-type.m4 (gl_FILE_TYPE): + * m4/filemode.m4 (gl_FILEMODE): + * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT): + * m4/fpending.m4 (gl_FUNC_FPENDING): + * m4/fprintftime.m4 (gl_FPRINTFTIME): + * m4/fts.m4 (gl_FUNC_FTS): + * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): + * m4/getdate.m4 (gl_GETDATE): + * m4/gethrxtime.m4 (gl_GETHRXTIME): + * m4/getpagesize.m4 (gl_GETPAGESIZE): + * m4/getpass.m4 (gl_FUNC_GETPASS): + * m4/gettime.m4 (gl_GETTIME): + * m4/getugroups.m4 (gl_GETUGROUPS): + * m4/glob.m4 (gl_GLOB_SUBSTITUTE): + * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): + * m4/hard-locale.m4 (gl_HARD_LOCALE): + * m4/hash.m4 (gl_HASH): + * m4/idcache.m4 (gl_IDCACHE): + * m4/lchmod.m4 (gl_FUNC_LCHMOD): + * m4/lchown.m4 (gl_FUNC_LCHOWN): + * m4/long-options.m4 (gl_LONG_OPTIONS): + * m4/lstat.m4 (gl_FUNC_LSTAT): + * m4/md5.m4 (gl_MD5): + * m4/memcasecmp.m4 (gl_MEMCASECMP): + * m4/memcoll.m4 (gl_MEMCOLL): + * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): + * m4/memrchr.m4 (gl_FUNC_MEMRCHR): + * m4/memxor.m4 (gl_MEMXOR): + * m4/mkancesdirs.m4 (gl_MKANCESDIRS): + * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): + * m4/modechange.m4 (gl_MODECHANGE): + * m4/mountlist.m4 (gl_MOUNTLIST): + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): + * m4/openat.m4 (gl_FUNC_OPENAT): + * m4/pathmax.m4 (gl_PATHMAX): + * m4/physmem.m4 (gl_PHYSMEM): + * m4/posixtm.m4 (gl_POSIXTM): + * m4/posixver.m4 (gl_POSIXVER): + * m4/quote.m4 (gl_QUOTE): + * m4/quotearg.m4 (gl_QUOTEARG): + * m4/readtokens.m4 (gl_READTOKENS): + * m4/readutmp.m4 (gl_READUTMP): + * m4/regex.m4 (gl_REGEX): + * m4/safe-read.m4 (gl_SAFE_READ): + * m4/safe-write.m4 (gl_SAFE_WRITE): + * m4/same.m4 (gl_SAME): + * m4/save-cwd.m4 (gl_SAVE_CWD): + * m4/savedir.m4 (gl_SAVEDIR): + * m4/settime.m4 (gl_SETTIME): + * m4/sha1.m4 (gl_SHA1): + * m4/sig2str.m4 (gl_FUNC_SIG2STR): + * m4/stat-macros.m4 (gl_STAT_MACROS): + * m4/stat-time.m4 (gl_STAT_TIME): + * m4/stdio-safer.m4 (gl_FOPEN_SAFER): + * m4/stdlib-safer.m4 (gl_STDLIB_SAFER): + * m4/strdup.m4 (gl_FUNC_STRDUP): + * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): + * m4/strndup.m4 (gl_FUNC_STRNDUP): + * m4/strnlen.m4 (gl_FUNC_STRNLEN): + * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): + * m4/time_r.m4 (gl_TIME_R): + * m4/timespec.m4 (gl_TIMESPEC): + * m4/unistd-safer.m4 (gl_UNISTD_SAFER): + * m4/unlinkdir.m4 (gl_UNLINKDIR): + * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): + * m4/userspec.m4 (gl_USERSPEC): + * m4/utimecmp.m4 (gl_UTIMECMP): + * m4/utimens.m4 (gl_UTIMENS): + * m4/xalloc.m4 (gl_XALLOC): + * m4/xgetcwd.m4 (gl_XGETCWD): + * m4/xnanosleep.m4 (gl_XNANOSLEEP): + * m4/xreadlink.m4 (gl_XREADLINK): + * m4/xstrtod.m4 (gl_XSTRTOD): + * m4/yesno.m4 (gl_YESNO): + Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/ + to get the necessary .h files and whatnot. - * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST. +2006-08-21 Mark D. Baushke + Bruno Haible - * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from - `gl_have_arbitrary_file_name_length_limit' to - `gl_cv_have_arbitrary_file_name_length_limit', so that caching - actually works between configure runs. + * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2 + /bin/sh understanding of '!' conditional negation. -2006-09-25 Ralf Wildenhues - Bruno Haible +2006-08-21 Jim Meyering - * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include . + * modules/openat (Depends-on): Really alphabetize. -2006-09-25 Jim Meyering + * modules/acl (Depends-on): Add error and quote. - * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open. - This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0. + * check-module (find_included_lib_files): Add at-func.c to the + ok-to-include-more-than-once white list. -2006-09-25 Eric Blake + * modules/openat (Depends-on): Add lstat. Alphabetize. - * gnulib-tool (func_import, func_create_testdir): Fix typos in - exec's in 2006-09-18 patch when shuffling fds. +2006-08-21 Bruno Haible -2006-09-25 Bruno Haible + * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): + Emit a pkgdata_DATA variable only if some snippets add contents to it. + Reported by Martin Lambers . - * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message. - Reported by Jim Meyering. +2006-08-21 Bruno Haible -2006-09-24 Jim Meyering + * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already + specify an installation location, don't emit a noinst_LIBRARIES or + noinst_LTLIBRARIES assignment. - * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to - compare a pointer against a literal "0". That caused failures with - at least HP-UX's hpcc. +2006-08-21 Bruno Haible -2006-09-22 Simon Josefsson + BeOS portability. + * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since + BeOS has mbrtowc() but no . - * modules/gc-sha1: - * modules/gc-md4: - * modules/gc-hmac-sha1: - * modules/gc-hmac-md5: - * modules/gc-des: - * modules/gc-arcfour: Distribute more files. +2006-08-21 Bruno Haible -2006-09-22 Ralf Wildenhues + BeOS portability. + * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if doesn't + exist. - * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator) - (gl_linked_iterator_from_to): Initialize struct completely. - * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise. - (gl_tree_iterator_from_to): Likewise - * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise. - * lib/gl_array_list.c [lint] (gl_array_iterator) - (gl_array_iterator_from_to): Likewise. - * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise. - * lib/gl_carray_list.c [lint] (gl_carray_iterator) - (gl_carray_iterator_from_to): Likewise. +2006-08-21 Bruno Haible - * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1. - * lib/md4.c (md4_process_block): Remove unused variable. - * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests - parentheses for clarity. + BeOS portability. + * lib/mbchar.h: Include only if it exists. -2006-09-22 Ralf Wildenhues +2006-08-20 Paul Eggert - * modules/bison-i18n (Depends-on): Add gettext. + Remove files that are no longer needed by their respective modules. + * m4/obstack.m4: Remove. + * m4/strerror_r.m4: Remove. + * m4/uint32_t.m4: Remove. + * m4/uintptr_t.m4: Remove. + * m4/ullong_max.m4: Remove. + * m4/xstrtoimax.m4: Remove. + * m4/xstrtoumax.m4: Remove. -2006-09-22 Ralf Wildenhues + * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require + gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib + dependencies now capture this. - * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable. - * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise. - * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise; - also add missing comma that caused broken test. - * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include - stdlib.h, for `abort'. - * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused - variables. - * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and - include unistd.h if present, for `rmdir'. - * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused - variables. - * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and - in the process include standard headers for prototypes. - * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname - gets declared on GNU/Linux. - * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include - unistd.h, for `rmdir'. - * m4/time_r.m4 (gl_TIME_R): Avoid unused variables. + * m4/cycle-check.m4 (gl_CYCLE_CHECK): + Do not use AC_LIBSOURCES, since gnulib modules now do this. + * m4/fsusage.m4 (gl_FSUSAGE): Likewise. + * m4/human.m4 (gl_HUMAN): Likewise. + * m4/inttostr.m4 (gl_INTTOSTR): Likewise. + * m4/xstrtol.m4 (gl_XSTRTOL): Likewise. - * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is - always true. - * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'. + * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE. - * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings. + * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require + gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require + stdint. + * m4/human.m4 (gl_HUMAN): Likewise. + * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise. + * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise. + * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise. + * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise. + * m4/xstrtol (gl_XSTRTOL): Likewise. -2006-09-22 Ralf Wildenhues + * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG -> + AC_TYPE_LONG_LONG_INT. + * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise. + * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise. + * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long. + * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise. - * gnulib-tool (func_version): Create output all at once. This - may help avoid triggering unnecessary SIGPIPEs, and at any - rate it doesn't hurt. + * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend + on stdbool. -2006-09-22 Ralf Wildenhues - Bruno Haible + * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove. + (gl_PREREQ_XSTRTOUL): Remove. - * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning. - * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise. - * m4/signed.m4 (bh_C_SIGNED): Likewise. + * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt. - * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro. - (gl_FUNC_VASPRINTF): Invoke it. + * m4/posixver.m4: Fix comment since head -1 now works even in POSIX + mode. -2006-09-22 Bruno Haible +2006-08-20 Paul Eggert - * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of - getloadavg.c as first argument. + Add and change modules to make it easier for coreutils to use + gnulib-tool. + * modules/backupfile (Files): Remove m4/d-ino.m4. + (Depends-on): Add d-ino. + * modules/cycle-check (Depends-on): Add stdint. + (lib_SOURCES): Add cycle-check.h. + * modules/d-ino: New module. + * modules/d-type: New module. + * modules/error (Files): Remove m4/strerror_r.m4. + * modules/filemode (Files): Add m4/st_dm_mode.m4. + * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4, + m4/inttypes_h.m4, m4/uintmax_t.m4. + (Depends-on): Add stdint. + (lib_SOURCES): Add fsusage.h. + * modules/getcwd (Files): Remove d-ino.m4. + (Depends-on): Add d-ino. + * modules/getndelim2 (Depends-on): Add stdint. + * modules/glob (Files): Remove m4/d-type.m4. + (Depends-on): Add d-type. + * modules/host-os: New module. + * modules/human (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4, + m4/inttypes_h.m4, m4/uintmax_t.m4. + * Depends-on: Add stdint. + (lib_SOURCES): Add human.h. + * modules/inttostr (Files): Remove m4/intmax_t.m4, + m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4, + m4/uintmax_t.m4, m4/ulonglong.m4. + (Depends-on): Add stdint. + (EXTRA_DIST): Add inttostr.h. + * modules/lchmod: New module. + * modules/link-follow: New module. + * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4. + (Depends-on): Add lchmod. + * modules/mkstemp (Files): Remove m4/ulonglong.m4, + m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4. + (Depends-on): Add stdint. + * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4, + m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4. + (Depends-on): Add stdint. + (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK. + * modules/perl: New module. + * modules/regex (Depends-on): Add stdint. + * modules/rmdir-errno: New module. + * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4, + m4/intmax_t.m4. + (Depends-on): Add stdint. + * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4, + m4/uintmax_t.m4. + (Depends-on): Add stdint. + * modules/unlink-busy: New module. + * modules/utimecmp (Depends-on): Add stdint. + * modules/uptime: New module. + * modules/winsz-ioctl: New module. + * modules/winsz-termios: New module. + * modules/xnanosleep (Depends-on): Add nanosleep. + * modules/ullong_max: Remove. + * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4. + (configure.ac): Remove gl_XSTRTOIMAX; no action needed now. + * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4, + m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4. + (Depends-on): Add inttypes. + (lib_SOURCES): Add xstrtol.h. + * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4. + (configure.ac): Remove gl_XSTRTOUMAX; no action needed now. + * MODULES.html.sh: Move 'assert' into the assert section. + Move 'dummy' into the linking section. + Remove ullong_max. + Add section for compatibility checks for POSIX:2001 functions, + and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy, + winsz-ioctl, and winsz-termios into it. + Add lchmod. + Add top-level Misc section and put host-os, perl, and uptime + into it. -2006-09-22 Bruno Haible +2006-08-20 Paul Eggert - * gnulib-tool (func_import, func_create_testdir): Set gl_source_base - at the beginning of the gl_INIT macro. - * modules/getloadavg (configure.ac): Pass $gl_source_base to - gl_GETLOADAVG. + * lib/cycle-check.h: Include unconditionally, since we + now assume the stdint module. Do not include inttypes.h. + * lib/fsusage.h: Likewise. + * lib/getndelim2.c: Likewise. + * lib/human.h: Likewise. + * lib/inttostr.h: Likewise. + * lib/obstack.c: Likewise. + * lib/regex_internal.h: Likewise. + * lib/tempname.c: Likewise. + * lib/utimecmp.c: Likewise. + * lib/xstrtol.h: Likewise. -2006-09-22 Bruno Haible + * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT. - * gnulib-tool (func_create_megatestdir): Don't include the config-h - module. - Suggested by Ralf Wildenhues. + * lib/strtoimax.c: Adjust to macro name changes in Autoconf, + e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT. + * lib/xtime.h: Likewise. -2006-09-20 Paul Eggert +2006-08-19 Paul Eggert - Import this patch from libc: + * modules/openat (Files): Add lib/fchmodat.c. + Fixes problem reported by Jay Youngman. - 2006-09-06 Jakub Jelinek +2006-08-19 Paul Eggert - * lib/regex_internal.c (re_string_reconstruct): Handle - offset < pstr->valid_raw_len && pstr->offsets_needed case. - Ensure no bytes read before raw_mbs array. Pass a saved copy of - pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to - re_string_context_at. + * lib/fchmodat.c: New file, from coreutils. This was inadvertently + omitted in the 2006-08-17 update. Problem reported by Jay Youngman. - * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test - now requires it. - (gl_PREREQ_REGEX): Don't check for locale.h any more, since - gl_REGEX now does it for us. - (gl_REGEX): Add test taken from - http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html. +2006-08-18 Paul Eggert + Bruno Haible - * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE. - Check that large offsets work. Modernize Autoconf usages. - Prefer "yes" to mean a good thing rather than a bad. - Don't put "#define mkstemp" in config.h, as this might interfere - with standard system headers that "#define mkstemp mkstemp64". + * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists + and is a script that invokes bison. Tighten the code. Add comments. - * modules/mkstemp (Depends-on): Add extensions, so that - mkstemp is visible on some platforms. - (Makefile.am): Add mkstemp.h to EXTRA_DIST. - (Include): Change to "mkstemp.h" from . - (Files): Add mkstemp.h. +2006-08-18 Jim Meyering - * lib/mkstemp.h: New file, since some standard headers - #define mkstemp. - * lib/mkstemp.c: Revamp to put the !_LIBC code together. - Include "mkstemp.h". - Make the _LIBC code resemble glibc original more, - e.g., use K&R style. - * lib/mkstemp-safer.c: Include "mkstemp.h" instead of . - (mkstemp): Remove, since mkstemp.h does this for us. - * lib/stdlib--.h: Include mkstemp.h. + * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for + CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via + gettime.c. Gabor Z. Papp reported that gethrxtime-using programs + failed to link due to unresolved clock_gettime on a linux-2.4.x system. - Import this patch from libc: +2006-08-18 Bruno Haible - 2006-04-07 Ulrich Drepper + * modules/bison-i18n: New file. + * MODULES.html.sh (Internationalization functions): Add it. - * lib/tempname.c (__gen_tempname): Change attempts_min - into a macro. Use preprocessor to decide how to initialize - attempts [Coverity CID 67]. +2006-08-18 Bruno Haible -2006-09-20 Bruno Haible + * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for + sys/statvfs.h. When getmntinfo was found, check its declaration and + set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it. - * lib/mkdtemp.c: Import from libc. - 2006-04-07 Ulrich Drepper - * sysdeps/posix/tempname.c (__gen_tempname): Change - attempts_min into a macro. Use preprocessor to decide how to - initialize attempts [Coverity CID 67]. - 2001-11-27 Paul Eggert - * sysdeps/posix/tempname.c (__gen_tempname): Try at least - ATTEMPTS_MIN or TMP_MAX times, whichever is greater. +2006-08-18 Bruno Haible -2006-09-19 Ralf Wildenhues + * m4/bison-i18n.m4: New file, from bison. - * gnulib-tool (func_exit): New function, to allow to pass the - exit status portably through the trap. Use everywhere. - (--help, --version): Signal a write error. - (trap): catch SIGPIPE, for write errors. - Exit at the end of the trap, with the correct exit status. +2006-08-18 Bruno Haible -2006-09-19 Karl Berry + * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h. + (ME_DUMMY): Treat "kernfs" as a dummy. + (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement. - * doc/gnulib.texi: note about the license texinfo files. +2006-08-17 Paul Eggert -2006-09-19 Eric Blake + Update from coreutils. - * gnulib-tool: Avoid space-tab. + 2006-08-15 Jim Meyering -2006-09-18 Paul Eggert + * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES. - * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo - that prevented coreutils 6.1 from building. Problem reported - by Petter Reinholdtsen. + 2006-01-17 Jim Meyering -2006-09-18 Paul Eggert + * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT. - * gnulib-tool (avoidlist): Fix typo that broke options like - --avoid=lock that are used by coreutils bootstrap. + 2006-01-11 Jim Meyering -2006-09-18 Mark D. Baushke + * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c. + Check for the lchmod function. - * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args - more systematically. +2006-08-17 Paul Eggert -2006-09-18 Jim Meyering + Update from coreutils. - * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/. + * lib/__fpending.h: Add copyright notice. + * lib/fprintftime.h: Likewise. + * lib/savedir.c: Use (C) in copyright notice. + * lib/savedir.h: Likewise. -2006-09-18 Bruno Haible + 2006-08-15 Jim Meyering - * modules/inttypes (Files): Remove m4/inttypes-h.m4. + * lib/at-func.c: New file, with the logic of all emulated at-functions. + * lib/openat-priv.h: Include and define ENOSYS, + in support of the EXPECTED_ERRNO macro. + * lib/openat.c (fstatat, unlinkat, fchownat): Remove function + definitions. Instead, define the appropriate symbols and include + "at-func.c". + * lib/mkdirat.c (mkdirat): Likewise. + * lib/fchmodat.c (fchmodat): Likewise. + (ENOSYS): Remove definition. + * lib/openat.c: Don't include , now that "openat-priv.h" does + it. Don't include "unistd--.h" -- it wasn't ever used. -2006-09-18 Bruno Haible + 2006-01-17 Jim Meyering - * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro. - * m4/inttypes-pri.m4: Require autoconf >= 2.52. - (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test - ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h. - * m4/gettext.m4: Require autoconf >= 2.52. - (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h. - * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead - of gl_cv_header_inttypes_h. + Rewrite fts.c not to change the current working directory, + by using openat, fstatat, fdopendir, etc.. -2006-09-18 Bruno Haible + * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h". + (HAVE_OPENAT_SUPPORT): Define. + [_LIBC] (fchdir): Don't undef or define; no longer used. + (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir. + Now, this `function' always succeeds, and consumes its file descriptor + parameter -- so callers must not close such FDs. Update callers. + (diropen_fd, opendirat, cwd_advance_fd): New functions. + (diropen): Add parameter, SP. Adjust all callers. + Implement using diropen_fd, rather than open. + (fts_open): Initialize new member, fts_cwd_fd. + Remove fts_rft-setting code. + (fts_close): Close fts_cwd_fd, if necessary. + (__opendir2): Define in terms of opendir or opendirat, + depending on whether the FST_NOCHDIR flag is set. + (fts_build): Since fts_safe_changedir consumes its FD, and since + this code must do `closedir(dirp)', dup the dirfd(dirp) argument, + and close the dup'd file descriptor upon failure. + (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat. + (fts_safe_changedir): Tweak semantics to reflect that this function + now calls cwd_advance_fd and hence consumes its FD argument. + * lib/fts_.h [struct FTS] (fts_cwd_fd): New member. + [struct FTS] (fts_rft): Remove now-unused member. + [struct FTS] (fts_cycle.state): Improve comment. - * lib/javaversion.c: Include configmake.h. + * lib/openat.c (openat_needs_fchdir): New function. + * lib/openat.h (openat_needs_fchdir): Declare it. -2006-09-18 Bruno Haible +2006-08-16 Paul Eggert - * gnulib-tool (func_import, func_create_testdir): Use exec tricks to - avoid that the while loops be executed in a subshell. + * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too. + Problem and fix reported by Pádraig Brady in + . -2006-09-18 Bruno Haible +2006-08-15 Paul Eggert - * MODULES.html.sh (func_module): Break long lines. - Suggested by Bruce Korb . + * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK. -2006-09-17 Ralf Wildenhues +2006-08-15 Paul Eggert - Speed up by a factor of 1.12. - * gnulib-tool (nl): New variable. - (func_import): Rewrite include directive extraction to only read each - directive once. + * lib/memcoll.c (memcoll): Optimize for the common case where the + arguments are bytewise equal. -2006-09-17 Bruno Haible +2006-08-15 Paul Eggert - * modules/javaversion (Makefile.am): Remove DEFS setting. - (Depends-on): Add configmake, for PKGDATADIR definition. + * doc/regexprops-generic.texi: Add a copyright notice. -2006-09-17 Bruno Haible +2006-08-15 Bruno Haible - * gnulib-tool (func_create_testdir): Rewrite all files at once. + * modules/tmpdir (License): Change to LGPL. -2006-09-17 Bruno Haible +2006-08-15 Bruno Haible - * gnulib-tool (func_append): New function, stolen from libtool.m4. - (func_modules_transitive_closure, func_modules_add_dummy, - func_modules_to_filelist, func_import, func_create_testdir, - func_create_megatestdir, ...): Use it wherever possible. - Suggested by Ralf Wildenhues. + * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a + module. -2006-09-16 Karl Berry +2006-08-14 Simon Josefsson - * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec, - to avoid sectioning errors. - * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title. - [ifinfo]: blank line after @center-ed titles. - * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL. - Spell FSF address consistently with others. - (These changes approved by rms.) + * config/srclist.txt: Add gnupload. -2006-09-15 Ralf Wildenhues +2006-08-14 Paul Eggert - Speed up by a factor of 1.61. - * gnulib-tool (func_modules_transitive_closure): Rewrite to not check - already checked module names again. + Change copyright notice from LGPL 2 to GPL 2, since that's the + standard form used in the gnulib repository. + * tests/test-lock.c: Likewise. + * tests/test-stdint.c: Likewise. + * tests/test-tls.c: Likewise. -2006-09-15 Ralf Wildenhues + * users.txt: Add bison, diffutils, libprelude, prelude-lml, + prelude-manager. User shorter URLs for GNU projects, without '?'. + Add copyright notice. - Speed up by a factor of 1.13. - * gnulib-tool (func_import): Rewrite all old_files at once; likewise - for new_files, and the input to func_add_or_update. + * check-module: Add copyright notice. Output a copyright + notice if "--version" is specified. + * modules/COPYING: New file. + * tests/test-getaddrinfo.c: Add copyright notice. + * tests/test-verify.c: Likewise. -2006-09-15 Ralf Wildenhues +2006-08-14 Paul Eggert - * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import, - func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'. + Change copyright notice from LGPL 2 to GPL 2, since that's the + standard form used in the gnulib repository. + * lib/lock.c: LGPL -> GPL. + * lib/lock.h: Likewise. + * lib/strnlen1.c: Likewise. + * lib/strnlen1.h: Likewise. + * lib/tls.c: Likewise. + * lib/tls.h: Likewise. + * lib/tmpdir.c: Likewise. -2006-09-15 Paul Eggert + * lib/TODO: Remove; this belongs only in coreutils. - * modules/mkancesdirs (Depends-on): Add fcntl. - * modules/savewd: New file. - * MODULES.html.sh (File system functions): Add savewd. +2006-08-14 Paul Eggert - * modules/configmake (Makefile.am): Add support for the - Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR. + Add copyright notices to long-enough files that lack them, since + otherwise the files aren't clearly free. Use the same notice that + getdate.texi already uses. + * doc/alloca-opt.texi: Add copyright notice. + * doc/alloca.texi: Likewise. + * doc/ctime.texi: Likewise. + * doc/functions.texi: Likewise. + * doc/gcd.texi: Likewise. + * doc/gnulib-tool.texi: Likewise. + * doc/inet_ntoa.texi: Likewise. + * doc/visibility.texi: Likewise. -2006-09-15 Paul Eggert + * doc/getdate.texi: Update FDL version from 1.1 to 1.2. + * doc/quote.texi: Add copyright notice. - * m4/savewd.m4: New file. + * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS + 4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B. SunOS 4.1.3 + was Solaris 1.1A. Remove space before B in Solaris 1.1.1B. + Mention SunOS 5.11. Mention that everything before SunOS 5.7 + is now obsolete, and give a pointer to the Sun list. + Add copyright notice. -2006-09-15 Paul Eggert +2006-08-14 Paul Eggert - * lib/dirchownmod.c: Don't include fcntl.h; no longer needed. - (dirchownmod): New arg FD. All callers changed. - Use FD rather than opening the directory ourself, as opening is - now the caller's responsibility. - * lib/dirchownmod.h: Likewise. - * lib/mkancesdirs.c: Include , for portability to older - hosts that require before . Include - fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h. - (test_dir): Remove. - (mkancesdirs): Return length of prefix of FILE that has already - been made, or -2 if there is a child doing the work. Redo - algorithm so that it is O(N) rather than O(N**2). Optimize away - ".", and treat ".." specially since it might stray back into - already-created areas. Use a subprocess if necessary. New arg - WD; all users changed. MAKE_DIR function should now return 1 - if it creates a directory that is not readable. Return -2 if - a child process is spun off. - * lib/mkancesdirs.h: Include , for ptrdiff_t. - Adjust signature to match code. - * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME. - (make_dir_parents): Use a subprocess if necessary. New arg WD; - all users changed. - * lib/savewd.c, lib/savewd.h: New files. + * config/srclistvars.sh: Add copyright notice. -2006-09-15 Jim Meyering +2006-08-14 Eric Blake - * modules/rename-dest-slash: New module. - * MODULES.html.sh (posix_compat): Add it here. + Import the following change from libc: - * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change. + 2006-08-12 Ulrich Drepper -2006-09-15 Jim Meyering + Upstream bug 2997. + * lib/misc/error.c: Add space between program name and message if file + name is missing. - * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New - file. +2006-08-12 Karl Berry - * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME. + * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4): + remove, these originate in gnulib now. -2006-09-15 Jim Meyering +2006-08-11 Ralf Wildenhues + + * doc/Makefile (standards.info standards.html standards.dvi): + Also depend on make-stds.texi. + +2006-08-11 Paul Eggert - * lib/rename-dest-slash.c (has_trailing_slash): Use - FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems. - (rpl_rename_dest_slash): Perform the cheaper trailing slash - test before testing whether SRC is a directory. - Suggestions from Bruno Haible. + * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE -> + HAVE_PIPE. Fix a file descriptor leak when fd_safer fails. - Avoid a warning about an unused variable. - * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type" - into the #ifdef block where it's used. + * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits + in wchar_t. Problem reported by Eric Blake. - * lib/rename-dest-slash.c: New file. + * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when + LEN is smaller than SIZE. Suggested by Bruno Haible. + Also, help the compiler to keep LEN in a register. -2006-09-14 Bruno Haible +2006-08-11 Eric Blake - * lib/allocsa.c: Include unconditionally. - * lib/asnprintf.c: Likewise. - * lib/asprintf.c: Likewise. - * lib/c-strcasecmp.c: Likewise. - * lib/c-strcasestr.c: Likewise. - * lib/c-strncasecmp.c: Likewise. - * lib/c-strstr.c: Likewise. - * lib/classpath.c: Likewise. - * lib/clean-temp.c: Likewise. - * lib/concatpath.c: Likewise. - * lib/copy-file.c: Likewise. - * lib/csharpcomp.c: Likewise. - * lib/csharpexec.c: Likewise. - * lib/execute.c: Likewise. - * lib/fatal-signal.c: Likewise. - * lib/findprog.c: Likewise. - * lib/fwriteerror.c: Likewise. - * lib/gl_array_list.c: Likewise. - * lib/gl_array_oset.c: Likewise. - * lib/gl_avltree_list.c: Likewise. - * lib/gl_avltree_oset.c: Likewise. - * lib/gl_avltreehash_list.c: Likewise. - * lib/gl_carray_list.c: Likewise. - * lib/gl_linked_list.c: Likewise. - * lib/gl_linkedhash_list.c: Likewise. - * lib/gl_list.c: Likewise. - * lib/gl_oset.c: Likewise. - * lib/gl_rbtree_list.c: Likewise. - * lib/gl_rbtree_oset.c: Likewise. - * lib/gl_rbtreehash_list.c: Likewise. - * lib/imaxabs.c: Likewise. - * lib/imaxdiv.c: Likewise. - * lib/javacomp.c: Likewise. - * lib/javaexec.c: Likewise. - * lib/javaversion.c: Likewise. - * lib/linebreak.c: Likewise. - * lib/localcharset.c: Likewise. - * lib/lock.c: Likewise. - * lib/mbchar.c: Likewise. - * lib/mbswidth.c: Likewise. - * lib/mkdtemp.c: Likewise. - * lib/pipe.c: Likewise. - * lib/printf-args.c: Likewise. - * lib/printf-parse.c: Likewise. - * lib/progname.c: Likewise. - * lib/progreloc.c: Likewise. - * lib/readlink.c: Likewise. - * lib/sh-quote.c: Likewise. - * lib/stpcpy.c: Likewise. - * lib/stpncpy.c: Likewise. - * lib/strcasecmp.c: Likewise. - * lib/strcasestr.c: Likewise. - * lib/strcspn.c: Likewise. - * lib/striconv.c: Likewise. - * lib/strncasecmp.c: Likewise. - * lib/strnlen1.c: Likewise. - * lib/strstr.c: Likewise. - * lib/strtok_r.c: Likewise. - * lib/tls.c: Likewise. - * lib/tmpdir.c: Likewise. - * lib/unicodeio.c: Likewise. - * lib/unsetenv.c: Likewise. - * lib/vasnprintf.c: Likewise. - * lib/vasprintf.c: Likewise. - * lib/wait-process.c: Likewise. - * lib/xallocsa.c: Likewise. - * lib/xsetenv.c: Likewise. - * lib/xstriconv.c: Likewise. + * users.txt: Sort. Add tar. -2006-09-13 Simon Josefsson +2006-08-11 Bruno Haible - * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of - that internally, suggested by Ralf Wildenhues - . + * users.txt: New file. -2006-09-13 Simon Josefsson +2006-08-11 Bruno Haible - * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not - @LIBOBJS@. - Suggested by Ralf Wildenhues . + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include and + before . Needed for OSF/1 and BSD/OS. -2006-09-13 Paul Eggert +2006-08-10 Paul Eggert - * lib/_fpending.c: Include unconditionally, since we no - longer worry about uses that don't define HAVE_CONFIG_H. - * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c: - * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c: - * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c: - * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c: - * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c: - * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c: - * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c: - * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c: - * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c: - * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c: - * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c: - * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y: - * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c: - * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c: - * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c: - * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c: - * lib/getusershell.c, lib/glob.c, lib/group-member.c: - * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c: - * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c: - * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c: - * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c: - * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c: - * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c: - * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c: - * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c: - * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c: - * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c: - * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c: - * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c: - * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c: - * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c: - * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c: - * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c: - * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c: - * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c: - * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c: - * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c: - * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c: - * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c: - * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c: - * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c: - Likewise. + * modules/snprintf (Depends-on): Remove minmax. + (Maintainer): Add self and Bruno. -2006-09-13 Eric Blake +2006-08-10 Paul Eggert - * lib/getopt.c: Fix typo in last commit. + * lib/.cppi-disable: Add snprintf.h, socket_.h. + * lib/snprintf.c: Include and . + (EOVERFLOW): Define if the system does not. + Do not include "minmax.h"; it wasn't used. + (snprintf): Don't assume size_t promotes to an unsigned type. + Fix bug when generated string was too long for the buffer: the + buffer's contents are supposed to be the initial prefix of the + output. Don't assume vasnprintf returns EOVERFLOW if the size + exceeds INT_MAX; do the check ourselves. -2006-09-12 Sergey Poznyakoff + Import the following changes from libc: - * lib/argp-help.c (argp_doc): Make sure NULL is not passed to - dgettext. + 2006-06-02 Jakub Jelinek -2006-09-12 Jim Meyering + * lib/posix/regex_internal.c (re_string_skip_chars): If no character + has been converted at all, set *last_wc to WEOF. If mbrtowc failed, + set wc to the byte which couldn't be converted. + (re_string_reconstruct): Don't clear valid_raw_len before calling + re_string_skip_chars. If wc is WEOF after re_string_skip_chars, set + tip_context using re_string_context_at. - * lib/nanosleep.c: Include before sys/select.h, to avoid - compilation failure (due to use of pid_t in latter) on NetBSD 1.6. - Reported by Nelson H. F. Beebe. + 2006-05-02 Ulrich Drepper -2006-09-10 Sergey Poznyakoff + * lib/posix/regex.h: g++ still cannot handled [restrict]. - * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure - program_invocation_name and program_invocation_short_name are - initialized. - * lib/argp-namefrob.h: Move declarations of program_invocation_name - and program_invocation_short_name to argp.h, so they are visible - to user programs. - * lib/argp.h: Likewise + 2006-04-21 Ulrich Drepper -2006-09-10 Bruno Haible + * lib/posix/regex.h: Remove special handling for VMS. - * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4, - m4/inttypes_h.m4, m4/uintmax_t.m4. +2006-08-10 Jim Meyering -2006-09-10 Bruno Haible + * modules/same-inode: New module. + * modules/dev-ino: New module. + * modules/cycle-check: Depend on these modules, rather than simply + including their .h files. + (Makefile.am): Don't list cycle-check.[ch] here, now that they're + required via m4/cycle-check.m4. + * modules/same: Depend on new same-inode module, rather than + including same-inode.h. + * modules/chdir-safer: New file. - * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require - gl_AC_TYPE_UINTMAX_T. + * modules/chown (Depends-on): Add stat-macros. -2006-09-10 Bruno Haible +2006-08-10 Jim Meyering - * lib/mkdtemp.c: Include always. Don't include . + * m4/cycle-check.m4: New file. + Require gl_STRUCT_DEV_INO and gl_SAME_INODE. + * m4/dev-ino.m4, m4/same-inode.m4: New files. -2006-09-09 Sergey Poznyakoff +2006-08-10 Eric Blake - * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..") - convention. Text proposed by Bruno Haible. - (struct argp_option): Document the use of N_() wrappers. + * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck + in from original proposal. - * lib/argp-help.c (argp_doc): Split the untranslated doc string on - '\v', and translate the two parts separately, instead of feeding - the whole string to gettext. This allows to exclude - '\v' from the strings visible to the translator by writing doc - strings as N_("..") "\v" N_(".."). +2006-08-10 Eric Blake + and Ralf Wildenhues -2006-09-09 Paul Eggert + * gnulib-tool (func_import): Detect unexpanded macros in gnulib + namespace. - * config/srclist.txt: Undo latest change; the bug was fixed. +2006-08-10 Bruno Haible -2006-09-09 Bruno Haible + * gnulib-tool (func_create_testdir): Detect unexpanded macros here + as well. - * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS - assignments if building a library without libtool. - (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as - in func_emit_lib_Makefile_am. - (func_import): When building a static library libfoo.a, arrange to - define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS. - (func_create_testdir): Likewise. - * modules/gc (configure.ac, Makefile.am): If building statically, - augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS. - * modules/iconvme (configure.ac, Makefile.am): Likewise. - * modules/striconv (configure.ac, Makefile.am): Likewise. - Based on a suggestion by Ralf Wildenhues. +2006-08-09 Paul Eggert -2006-09-08 Paul Eggert + Sync from coreutils. - * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf. - Check for unistd.h too, since Autoconf doesn't assume POSIX. - Also: + 2006-07-19 Mike Frysinger - 2006-09-08 Paul Eggert - Add year_2050_test to catch glibc bug 2821 - . + * lib/mountlist.c [ME_REMOTE]: Filter out cifs. + Reported by Toralf Förster in . - 2006-08-15 Paul Eggert - Prefer #ifdef to #if. +2006-08-09 Paul Eggert - 2006-04-02 Paul Eggert - Return from 'main' instead of calling 'exit'. + * modules/restrict: Remove; no longer needed now that we assume + Autoconf 2.59 or later. + * MODULES.html.sh: Remove 'restrict'. + * modules/argp (Depends-on): Remove 'restrict'. + * modules/base64 (Depends-on): Likewise. + * modules/gc (Depends-on): Likewise. + * modules/getaddrinfo (Depends-on): Likewise. + * modules/glob (Depends-on): Likewise. + * modules/inet_ntop (Depends-on): Likewise. + * modules/inet_pton (Depends-on): Likewise. + * modules/memxor (Depends-on): Likewise. + * modules/regex (Depends-on): Likewise. + * modules/strtok_r (Depends-on): Likewise. + * modules/time_r (Depends-on): Likewise. -2006-09-08 Paul Eggert +2006-08-09 Paul Eggert - * lib/mktime.c (guess_time_tm): Fix bug where mktime - returned the maximum time_t value rather than (time_t) -1. - Problem originally reported by William Bardwell - . + * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT. + * m4/gc.m4 (gl_PREREQ_GC): Likewise. + * m4/glob.m4 (gl_PREREQ_GLOB): Likewise. + * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise. + * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise. + * m4/memxor.m4 (gl_MEMXOR): Likewise. + * m4/restrict.m4: Remove; no longer needed. All remaining uses of + gl_C_RESTRICT replaced by AC_C_RESTRICT. - * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]: - Moved to here ... - * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]: - ... from here. + Merge from coreutils. + * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not + gl_C_RESTRICT, now that we assume Autoconf 2.59 or later. + * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise. + * m4/time_r.m4 (gl_TIME_R): Likewise. -2006-09-08 Paul Eggert +2006-08-09 Karl Berry - * config/srclist.txt: Temporarily comment out mktime.c until glibc bug - 2821 is fixed. + * config/srclist.txt: no more gettext-tools, per Bruno. -2006-09-08 Jim Meyering +2006-08-08 Eric Blake - Don't make generated files read-only. That would bother too many - people. However, do retain the ability to work when targets are - read-only: remove the destination and temporary files before writing - them (when generated via sed or echo), or by using the -f option for - both cp and mv commands. Suggestion to use -f from Paul Eggert. - * modules/alloca-opt, modules/argz, modules/arpa_inet: - * modules/byteswap, modules/configmake, modules/fcntl: - * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes: - * modules/localcharset, modules/netinet_in, modules/poll: - * modules/stdbool, modules/stdint, modules/sys_select: - * modules/sys_socket, modules/sys_stat, modules/sysexits: + * modules/verror: New module. + * MODULES.html.sh: Document it. -2006-09-08 Jim Meyering +2006-08-08 Eric Blake - Avoid new build failure on FreeBSD 6.0. - * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include - when testing whether getmntinfo uses statvfs. Patch by - Pavel Tsekov, in . + * lib/verror.h, lib/verror.c: New files. -2006-09-07 Ralf Wildenhues +2006-08-08 Eric Blake - * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo. + * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that + verror_at_line output complies with GNU Coding Standards even when + file is NULL. -2006-09-07 Jim Meyering +2006-08-07 Bruno Haible - Fix global typo in last change: use chmod u-w, not chmod u-x. - Spotted by Paul Eggert and Bruce Korb. - * modules/alloca-opt, modules/argz, modules/arpa_inet: - * modules/byteswap, modules/configmake, modules/fcntl: - * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes: - * modules/localcharset, modules/netinet_in, modules/poll: - * modules/stdbool, modules/stdint, modules/sys_select: - * modules/sys_socket, modules/sys_stat, modules/sysexits: + * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer + versions of AIX. + Reported by Ralf Wildenhues. -2006-09-06 Jim Meyering +2006-08-07 Bruno Haible - Make generated files be read-only. - * modules/alloca-opt (Makefile.am): Work also when $@ is read-only. - Ensure that each generated file is now read-only. - * modules/argz: Likewise. - * modules/arpa_inet: Likewise. - * modules/byteswap: Likewise. - * modules/configmake: Likewise. - * modules/fcntl: Likewise. - * modules/fnmatch: Likewise. - * modules/getopt: Likewise. - * modules/glob: Likewise. - * modules/inttypes: Likewise. - * modules/netinet_in: Likewise. - * modules/poll: Likewise. - * modules/stdbool: Likewise. - * modules/stdint: Likewise. - * modules/sys_select: Likewise. - * modules/sys_socket: Likewise. - * modules/sys_stat: Likewise. - * modules/sysexits: Likewise. - * modules/localcharset: Same as above, but continue using temporary - file named "t-$@" (why different?) rather than the "$@-t" used - everywhere else. + * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets + in an AC_DEFUN. Needed so that the autoconf snippets can use + AC_REQUIRE. - * modules/sysexits (Makefile.am): Replace literal occurrences - of "sysexit.h" more readable, and more consistent, "$@". +2006-08-06 Ralf Wildenhues -2006-09-06 Bruno Haible + * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): + Initialize pkgdata_DATA. + * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than + overriding it. - * modules/striconv: New file. - * modules/xstriconv: New file. - * MODULES.html.sh (Internationalization functions): Add striconv, - xstriconv. +2006-08-06 Eric Blake -2006-09-06 Bruno Haible + * lib/error.h: Fold in some upstream changes from glibc. + * lib/error.c: Likewise. - * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD. - * modules/iconvme (Makefile.am): Likewise. Also handle the case of - not using libtool correctly. +2006-08-04 Bruno Haible -2006-09-06 Bruno Haible + * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): + Make the mostlyclean-local rule depend on mostlyclean-generic. + Reported by Jim Meyering. Solution suggested by Ralf Wildenhues. - * lib/striconv.h: New file. - * lib/striconv.c: New file, merging iconvme.c with GNU gettext's - iconvstring.c. - * lib/xstriconv.h: New file. - * lib/xstriconv.c: New file. +2006-07-31 Bruno Haible -2006-09-06 Bruno Haible + * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for , + , . - * gnulib-tool (func_emit_lib_Makefile_am): Initialize also - lib_..._LDFLAGS. +2006-07-30 Bruno Haible -2006-09-05 Ralf Wildenhues + * modules/readlink (License): Change to LGPL. - * lib/argz_.h: Sync from Libtool. +2006-07-30 Bruno Haible - 2006-09-04 George Bosilca - and Ralf Wildenhues + * modules/javaversion (Makefile.am): Distribute javaversion.java and + javaversion.class. Also install javaversion.class in $(pkgdatadir) and + set PKGDATADIR to point to it. - * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus. +2006-07-30 Bruno Haible -2006-09-05 Davide Angelocola + * modules/csharpexec (configure.ac): Comment out macro invocation. + * modules/javaexec (configure.ac): Likewise. + * modules/javacomp-script (configure.ac): Likewise. - * modules/trim: New file. + * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE. -2006-09-05 Davide Angelocola +2006-07-30 Bruno Haible - * lib/trim.h: New file. - * lib/trim.c: New file. + * modules/clean-temp (Depends-on): Add linkedhash-list, remove + linked-list. -2006-09-05 Bruno Haible +2006-07-30 Bruno Haible - * MODULES.html.sh (String handling): Add trim. + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume exists. -2006-09-04 Karl Berry +2006-07-30 Bruno Haible - * config/srclist.txt (signed.m4, gettext.m4): changes not propagated - until next release. + * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): + Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps + get removed. -2006-09-03 Bruno Haible +2006-07-29 Bruno Haible - * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries - correctly. + Make it possible for gnulib-tool to work with locally modified or + augmented gnulib repositories. + * gnulib-tool (func_usage): Document --local-dir option. + (local_gnulib_dir): New variable. + Handle --local-dir option. + (func_lookup_file): New function. + (func_all_modules, func_verify_module): Look also in $local_gnulib_dir. + (func_get_description, func_get_filelist, func_get_description, + func_get_filelist, func_get_dependencies, func_get_autoconf_snippet, + func_get_automake_snippet, func_get_include_directive, + func_get_license, func_get_maintainer): Use func_lookup_file. + (func_import, func_create_testdir): Use func_lookup_file. -2006-09-01 Paul Eggert +2006-07-29 Bruno Haible - * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG, - not gl_GETLOADAVG. Omit unneeded semicolons. - Problems reported by Ralf Wildenhues in - . - (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define. Put - at the end, which is the usual gnulib style. + * modules/setenv (Depends-on): Add unistd. - * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead - of doing all the work ourselves. - * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for - sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H. +2006-07-29 Bruno Haible -2006-09-01 Paul Eggert + * lib/setenv.c: Undo unintended modification done on 2006-02-27. - * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG. - Problem reported by Ralf Wildenhues in - . +2006-07-29 Bruno Haible - * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by - HAVE_STRUCT_STATFS_F_FSTYPENAME. + * lib/localcharset.c: Assume , , exist. -2006-09-01 Paul Eggert +2006-07-29 Bruno Haible - * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in - yesterday's patch by changing test -n to test -z. + * gnulib-tool (import, update): If there is no Makefile.am, look at + aclocal.m4, instead of bailing out. -2006-08-31 Paul Eggert +2006-07-29 Bruno Haible - * modules/getloadavg (Files): Add m4/getloadavg.m4. - (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as - the former is now obsolescent. + * gnulib-tool (func_usage): Revert most of the 2006-07-15 change. + Categorize the options by when they are useful. - * modules/chdir-long (Depends-on): Add fcntl. +2006-07-29 Bruno Haible -2006-08-31 Paul Eggert + * gnulib-tool (func_usage): Document option --no-libtool. + Handle option --no-libtool. + (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update + for changed semantics of $libtool variable. + (func_import): Likewise. If libtool is not used, show this through + an option --no-libtool. + (func_create_testdir): Update. - * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is - obsolescent, and programs should use gnulib instead. - * m4/getloadavg.m4: New file, with contents taken from Autoconf - but with prefixes changed. +2006-07-29 Bruno Haible + + * gnulib-tool (func_import): Extend error message about missing + --doc-base. -2006-08-31 Paul Eggert +2006-07-29 Bruno Haible - * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h - or stdbool.h, because they might not exist while configuring. + * gnulib-tool (func_import): Don't create the $docbase directory if + there is no file to store there. - * lib/chdir-long.c: Include , for O_DIRECTORY. - Don't include unistd.h or limits.h; not needed, since chdir-long.h - does that for us. - (O_DIRECTORY): Remove. +2006-07-29 Bruno Haible -2006-08-31 Eric Blake + * gnulib-tool (autoconf_minversion): If a --dir option is given and + relevant, look for configure.ac there, not in the current directory. + Also use a simple search for AC_PREREQ, not "autoconf --trace". - * gnulib-tool: Don't let emacs change spaces to TAB. +2006-07-29 Bruno Haible -2006-08-31 Bruno Haible + * gnulib-tool (SORT): New variable. + (func_usage): Undocument --assume-autoconf option. + Remove --assume-autoconf option handling. + (autoconf_minversion): Determine from the contents of configure.ac. + (func_import): Remove autoconf_minversion handling. + Suggested by Eric Blake. - * gnulib-tool: When calling func_import more than once, do it in a - subshell. - Reported by Eric Blake . +2006-07-29 Bruno Haible -2006-08-31 Bruno Haible + * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option. - * gnulib-tool (nl): Remove variable. - (sed_transform_lib_file): Use more robust test for config-h module. - (func_import): Fix typo in 2006-08-25 patch. +2006-07-29 Bruno Haible -2006-08-31 Bruno Haible + * config/srclist.txt (*setenv.[ch]): Remove rules. - * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was - specified, augment Makefile.am variables instead of assigning them. +2006-07-28 Yoann Vandoorselaere -2006-08-30 Paul Eggert + * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too. - Work around a bug in both the Linux and SunOS 64-bit kernels: - nanosleep mishandles sleeps for longer than 2**31 seconds. - Problem reported by Frank v Waveren in - . - * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME. - Check for nanosleep bug. - (LIB_NANOSLEEP): Append clock_gettime library if needed. +2006-07-28 Yoann Vandoorselaere -2006-08-30 Paul Eggert + * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before + arpa/inet.h. - Work around a bug in both the Linux and SunOS 64-bit kernels: - nanosleep mishandles sleeps for longer than 2**31 seconds. - Problem reported by Frank v Waveren in - . - * lib/nanosleep.c (BILLION): New constant. - (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions. - (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new - implementation. +2006-07-28 Simon Josefsson -2006-08-30 Paul Eggert + * modules/inet_ntop (Depends-on): Depend on arpa_inet. + * modules/inet_pton (Depends-on): Likewise. - * modules/nanosleep (Depends-on): Add gettime. +2006-07-28 Simon Josefsson -2006-08-30 Paul Eggert - and Simon Josefsson - and Oskar Liljeblad + * m4/netinet_in_h.m4: New file. - * MODULES.html.sh (Support for building documentation): Add gpl, lgpl. - * gnulib-tool (func_import): New license type 'unmodifiable license - text'. - * modules/fdl: Use it. Longer description. - * module/gpl, module/lgpl: New files. +2006-07-28 Simon Josefsson -2006-08-30 Jim Meyering + * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h + #include's. - * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid - shadowing the parameter. +2006-07-28 Simon Josefsson -2006-08-29 Ralf Wildenhues + * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h + #include's. - Sync from Libtool: +2006-07-28 Paul Eggert - 2006-08-28 Ralf Wildenhues + * lib/modechange.c (mode_compile): Numeric modes now affect setuid and + setgid on directories only if they set these bits. + * lib/modechange.h: Remove obsolete comment about masks. - * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code - sharing with gnulib. Report by Eric Blake. +2006-07-28 Eric Blake -2006-08-29 Paul Eggert + * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89 + macro expansion. - * modules/isapipe: New file. - * MODULES.html.sh (File descriptor based Input/Output): Add isapipe. +2006-07-28 Bruno Haible -2006-08-29 Paul Eggert + * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*. - * modules/configmake (Makefile.am): Add a comment, and omit - the CONFIGMAKE_ prefix from generated macro names. Suggested - by Bruno Haible. +2006-07-28 Bruno Haible -2006-08-29 Paul Eggert + * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl. - * m4/isapipe.m4: New file. +2006-07-28 Bruno Haible -2006-08-29 Paul Eggert + * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, + iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit): + Define fallbacks. + Avoids link error on FreeBSD 4.x. + Reported by Yoann Vandoorselaere . - * lib/isapipe.c, lib/isapipe.h: New files. + * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character + encoding. + * lib/mbswidth.c (iswcntrl): Likewise. -2006-08-29 Jim Meyering +2006-07-27 Bruno Haible - * modules/configmake (Makefile.am): Make configmake.h depend on - Makefile. Otherwise, a stale configmake.h could hang around. + * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the + test. -2006-08-29 Eric Blake +2006-07-27 Bruno Haible - * lib/error.c (error_at_line, print_errno_message): Match libc, after - resolution of upstream bug 3044. + * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if + __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is + defined. -2006-08-29 Bruno Haible +2006-07-26 Eric Blake - * modules/localcharset (Depends-on): Add configmake. - (Makefile.am): Remove setting of LIBDIR through DEFS. + * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe. -2006-08-29 Bruno Haible +2006-07-26 Eric Blake - * lib/localcharset.c: Include configmake.h in order to get LIBDIR - defined. + * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms + like mingw that lack mkstemp. + * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to + avoid compilation warning on mingw. -2006-08-28 Paul Eggert +2006-07-26 Bruno Haible - * modules/fcntl: New file. - * modules/chdir-safer (Depends-on): Add fcntl. - * modules/fts: Likewise. - * modules/mkdir-p: Likewise. + * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros + INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX, + INT_FAST*_MIN, INTPTR_MIN. - * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H. - This undoes the most recent change, since we're now addressing the - problem in a different way. +2006-07-25 Bruno Haible - * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name - into output, since the output might be called Makefile.am even - if $makefile_name is something different. - (func_import): Use $makefile_am rather than - ${makefile_name-Makefile.am}, to fix a bug where makefile_name was - empty. + * modules/version-etc (Depends-on): Add stdarg. - * modules/inttypes (Files): Add m4/inttypes-h.m4. +2006-07-25 Bruno Haible -2006-08-28 Paul Eggert + * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of + complex commands. - * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here... - * m4/stdint.m4 (gl_STDINT_H): ... from here. This undoes the most - recent change to stdint.m4, since we're now addressing the problem in a - different way. +2006-07-25 Bruno Haible -2006-08-28 Paul Eggert + * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be + defined in or config.h. - * m4/fcntl_h.m4: New file. +2006-07-24 Paul Eggert -2006-08-28 Paul Eggert + * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros. + (gl_STDIO_SAFER): Remove. - * lib/fcntl_.h: New file. - * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have - the fcntl module. - * lib/dirchownmod.c: Likewise. - * lib/fts.c: Likewise. +2006-07-24 Paul Eggert - * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]: - Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else. - * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define - just before including , to avoid circular inclusion. + * MODULES.html.sh (File stream based Input/Output): + Add fopen-safer, tmpfile-safer; remove stdio-safer. + * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer. + * modules/fopen-safer, modules/tmpfile-safer: New files. + * modules/stdio-safer: Remove. -2006-08-28 Jim Meyering +2006-07-24 Bruno Haible - * doc/visibility.texi: Actually read and correct the grammar of the - sentence affected by yesterday's change. + * modules/tmpdir: New file. + * MODULES.html.sh (File system functions): Add it. -2006-08-28 Eric Blake +2006-07-24 Bruno Haible - * modules/inttypes (Makefile.am): Fix sed error when inttypes.h - needs wrapper. + * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io, + getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr. -2006-08-28 Eric Blake +2006-07-24 Bruno Haible - * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif. + * modules/clean-temp: New file. -2006-08-28 Eric Blake +2006-07-24 Bruno Haible - * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning. + * m4/tmpdir.m4: New file, from GNU gettext. -2006-08-28 Bruno Haible +2006-07-24 Bruno Haible - * modules/c-strstr: New file, from GNU gettext. - * MODULES.html.sh (String handling): Add c-strstr. + * lib/tmpdir.h: New file, from GNU gettext. + * lib/tmpdir.c: New file, from GNU gettext. -2006-08-28 Bruno Haible +2006-07-24 Bruno Haible - * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX* - macros. - Reported by Eric Blake. + * lib/clean-temp.h: New file, from GNU gettext. + * lib/clean-temp.c: New file, from GNU gettext. -2006-08-28 Bruno Haible +2006-07-23 Eric Blake - * lib/vasnprintf.c (EOVERFLOW): Remove definition. - (VASNPRINTF): Return a string of length > INT_MAX without failing. - * lib/vasprintf.c: Include errno.h, limits.h. - (EOVERFLOW): New fallback definition. - (vasprintf): Test here whether the string length is > INT_MAX. - * lib/vsnprintf.c: Include errno.h, limits.h. - (EOVERFLOW): New fallback definition. - (vsnprintf): Fix bug when generated string was too long for the buffer. - Test here whether the string length is > INT_MAX. + * modules/stdio-safer (Files): Add tmpfile-safer.c. + (Depends-on): Add binary-io. -2006-08-28 Bruno Haible +2006-07-23 Eric Blake - * lib/inttypes_.h (SCNX*): Remove definitions. - Reported by Eric Blake. + * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c. -2006-08-28 Bruno Haible +2006-07-23 Eric Blake + + * lib/tmpfile-safer.c: New file. + * lib/stdio-safer.h (fopen_safer): Add prototype. + * lib/stdio--.h (tmpfile): Make safer. - * lib/c-strstr.h: New file, from GNU gettext. - * lib/c-strstr.c: New file, from GNU gettext. +2006-07-23 Bruno Haible -2006-08-28 Bruno Haible + * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro. + (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before, + gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node, + gl_linked_remove_at): Use it. - * gnulib-tool: Reorder some statements. +2006-07-22 Yoann Vandoorselaere + and Simon Josefsson -2006-08-28 Bruno Haible + * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined. - * gnulib-tool: New option --makefile-name. - (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use - $makefile_name. - (func_import): Write $makefile_name to the cache file, and read it from - there unless explicitly specified. Use $makefile_name as file name - instead of Makefile.am. Adjust the recommendations accordingly. + * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE. -2006-08-28 Bruno Haible +2006-07-22 Paul Eggert - * gnulib-tool (func_verify_module): Check against misapplying patch. + * modules/close-stream: New file. + * modules/closeout (Description): Make it clear that it exits + with a diagnostic on error. + (Depends-on): Add close-stream. Remove fpending, stdbool. + * MODULES.html.sh (File stream based Input/Output): Add close-stream. -2006-08-28 Bruno Haible +2006-07-22 Paul Eggert - * gnulib-tool (func_relativize, func_relconcat): New functions. - Give an error if --local-dir is given with --update. - Remove trailing slashes from $local_gnulib_dir. - (func_import): Store the relativized $local_gnulib_dir in - gnulib-cache.m4, and read it from there if not specified explicitly. + * m4/close-stream.m4: New file. -2006-08-28 Bruno Haible +2006-07-22 Paul Eggert - * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir - is the current directory. Respect also $local_gnulib_dir. + * lib/close-stream.c, lib/close-stream.h: New files. -2006-08-28 Bruno Haible - Simon Josefsson +2006-07-22 Bruno Haible - BeOS portability. - * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros. + Merge from GNU gettext 0.15. -2006-08-27 Jim Meyering + 2006-05-01 Bruno Haible - * doc/visibility.texi: Remove duplicate word: "pointer". + * build-aux/javacomp.sh.in: Update for changed javacomp.m4. -2006-08-26 Bruno Haible + 2006-07-22 Bruno Haible - * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h. - Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4. - (Makefile.am): Create inttypes.h from inttypes_.h. - * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H. + * modules/javaversion: New file. + * MODULES.html.sh (Java): Add javaversion. - * modules/imaxabs: New file. + 2006-03-12 Bruno Haible - * modules/imaxdiv: New file. + * build-aux/javaexec.sh.in: Update for changed javaexec.m4. -2006-08-26 Bruno Haible + 2005-12-04 Bruno Haible - * m4/inttypes.m4: New file. - * m4/_inttypes_h.m4: Remove file. - * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST - PRI_MACROS_BROKEN. - * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H. + * build-aux/csharpexec.sh.in: Add support for 'clix' launcher + (untested). - * m4/imaxabs.m4: New file. + 2006-06-21 Bruno Haible - * m4/imaxdiv.m4: New file. + Avoid warnings from recent versions of mcs. + * build-aux/csharpcomp.sh.in (options_mcs): Don't use options + -o, -L, -r any more. Use options documented since mcs-1.0 + instead. Similarly for -g. -2006-08-26 Bruno Haible + 2005-12-04 Bruno Haible - * lib/inttypes_.h: New file. - * lib/inttypes.h: Remove file. - * lib/stdint_.h: Include through its absolute filename. + * build-aux/csharpcomp.sh.in: Suffix for resources is + .resources, not .resource. - * lib/imaxabs.c: New file. + 2005-07-09 Bruno Haible - * lib/imaxdiv.c: New file. + * build-aux/csharpcomp.sh.in (options_csc): For -l option, + add a .dll suffix. + Reported by Mark Junker . -2006-08-25 Paul Eggert + 2006-07-22 Bruno Haible - New config-h module, so that "make" output needn't be cluttered - by -DHAVE_CONFIG_H. - * MODULES.html.sh (Support for building libraries and executables): - Add config-h. - * modules/config-h: New file. - * gnulib-tool (nl, sed_transform_lib_file): New vars. - (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if - the config-h module is used. + * modules/gettext: Upgrade to gettext-0.15. + (Files): Remove m4/isc-posix.m4. Add m4/lock.m4, + m4/visibility.m4. + Replace m4/inttypes.m4 with m4/inttypes-h.m4. - New configmake module, so that "make" output needn't be cluttered - by fluff like '-DLIBDIR=\"/usr/local/lib\"'. - * MODULES.html.sh (Support for building libraries and executables): - Add configmake. - * modules/configmake: New file. +2006-07-22 Bruno Haible -2006-08-25 Paul Eggert + Merge from GNU gettext 0.15. - * m4/config-h.m4: New file. + 2006-03-25 Bruno Haible -2006-08-24 Paul Eggert + * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro. - * config/srclist.txt: Add elisp-comp. + 2006-07-21 Bruno Haible -2006-08-24 Paul Eggert + * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to + "1.1". - * MODULES.html.sh (Support for building libraries and executables): - Add elisp-comp. - * build-aux/elisp-comp: New file. - * modules/elisp-comp: New file. + 2006-05-09 Bruno Haible -2006-08-24 Bruno Haible + * javacomp.m4 (gt_JAVACOMP): On Cygwin, set + CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR + for the conftestver execution. - * gnulib-tool (func_create_testdir): Use non-default values of - sourcebase and m4base. + 2006-05-01 Bruno Haible -2006-08-24 Bruno Haible + * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an + optional target-version argument. Verify that the compiler + groks source of the specified source-version, or add -source + option as necessary. Verify that the compiler produces + bytecode in the specified target-version, or add -target and + -source options as necessary. Make the result of the test + available as variable CONF_JAVAC. Also log error output in + config.log. - * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix - HTML structure. + 2006-03-11 Bruno Haible -2006-08-23 Paul Eggert + * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x. - * modules/openat (Depends-on): Add lchown. + 2006-05-09 Bruno Haible -2006-08-23 Bruno Haible + * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set + CLASSPATH_SEPARATOR to a semicolon. - * gnulib-tool (func_import, func_create_testdir): Emit an invocation - of gl_LOCK_EARLY instead of gl_LOCK. + 2006-03-12 Bruno Haible -2006-08-23 Bruno Haible + * javaexec.m4 (gt_JAVAEXEC): Make the result of the test + available as variable CONF_JAVA, for subsequent autoconf + tests. Also log error output in config.log. - * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads - on OSF/1 to no. - Reported by Stephen Cartwright . + 2006-07-19 Bruno Haible -2006-08-23 Bruno Haible + * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume + that getline works on glibc2 systems. Needed to avoid trouble + in relocatable.c. + Reported by Nils Magnus Larsgard . - * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs - as unusable. + 2005-12-04 Bruno Haible - * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK. - (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation. - (gl_LOCK): New macro. + * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix' + launcher (untested). -2006-08-22 Simon Josefsson + 2005-12-04 Bruno Haible - * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes - to md5 module. + * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS. -2006-08-22 Simon Josefsson + 2006-07-22 Bruno Haible - * MODULES.html.sh: Add "Support for maintaining and release - projects". + * gettext.m4: Update from GNU gettext-0.15. + * nls.m4: Likewise. + * po.m4: Likewise. + * inttypes-pri.m4: Likewise. + * inttypes-h.m4: Renamed from inttypes.m4. + (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H. - * build-aux/gnupload: New file, from coreutils. +2006-07-22 Bruno Haible -2006-08-22 Paul Eggert + Merge from GNU gettext 0.15. - Avoid the need for AC_LIBSOURCES in m4 macros. - * modules/arcfour (EXTRA_DIST): Add arcfour.h. - * modules/arctwo (EXTRA_DIST): Add arctwo.h. - * modules/check-version (EXTRA_DIST): Add check-version.h. - * modules/crc (EXTRA_DIST): Add crc.h. - * modules/des (EXTRA_DIST): Add des.h. - * modules/gc (EXTRA_DIST): Add gc.h. - * modules/getdelim (EXTRA_DIST): Add getdelim.h. - * modules/getline (EXTRA_DIST): Add getline.h. - * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h. - * modules/hmac-md5 (EXTRA_DIST): Add hmac.h. - * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h. - * modules/md2 (EXTRA_DIST): Add md2.h. - * modules/md4 (EXTRA_DIST): Add md4.h. - * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h. - * modules/read-file (EXTRA_DIST): Add read-file.h. - * modules/readline (EXTRA_DIST): Add readline.h. - * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h, - rijndael-api-fst.h. + 2005-07-05 Bruno Haible -2006-08-22 Paul Eggert + * printf-args.c (printf_fetchargs): Work around broken + definition of wint_t on mingw. - * m4/rijndael.m4 (gl_ARCFOUR): - * m4/arctwo.m4 (gl_ARCTWO): - * m4/check-version.m4 (gl_CHECK_VERSION): - * m4/crc.m4 (gl_CRC): - * m4/des.m4 (gl_DES): - * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1): - * m4/gc.m4 (gl_GC): - * m4/getdelim.m4 (gl_FUNC_GETDELIM): - * m4/getline.m4 (gl_FUNC_GETLINE): - * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): - * m4/hmac-md5.m4 (gl_HMAC_MD5): - * m4/hmac-sha1.m4 (gl_HMAC_SHA1): - * m4/md2.m4 (gl_MD2): - * m4/md4.m4 (gl_MD4): - * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): - * m4/read-file.m4 (gl_FUNC_READ_FILE): - * m4/readline.m4 (gl_FUNC_READLINE): - * m4/rijndael.m4 (gl_RIJNDAEL): - Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/ - to get the necessary .h files and whatnot. + 2005-02-12 Bruno Haible -2006-08-22 Paul Eggert + * xallocsa.h: Add extern "C" for C++. - * config/srclist.txt: Remove gnupload, since coreutils now syncs from - gnulib rather than the other way around. - * config/srclistvars.sh (COREUTILS): Remove. + 2006-05-17 Bruno Haible -2006-08-22 Jim Meyering + Cygwin portability. + * progreloc.c (WIN32_NATIVE): Renamed from WIN32. - * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/. + 2006-04-30 Bruno Haible - * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST. + * progreloc.c: Include if available. + (find_executable): Use _NSGetExecutablePath when possible. -2006-08-22 Eric Blake + 2006-05-06 Charles Wilson - * modules/regexprops-generic: New file. - * MODULES.html.sh (Support for building documentation): List it. + * progreloc.c (maybe_executable) [CYGWIN]: Use the access() + function. -2006-08-22 Eric Blake + 2005-12-29 Bruno Haible - * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning. - * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise. - * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise. - * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise. + * progreloc.c (set_program_name_and_installdir): Fix + compilation error. -2006-08-22 Bruno Haible + 2005-12-04 Bruno Haible - * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES - and lib_LTLIBRARIES like the other lib_* variables. + Cygwin portability. + * progreloc.c: Include also on Cygwin. + (find_executable): Add support for Cygwin. + (set_program_name_and_installdir): Handle also platforms with + nonempty EXEEXT. -2006-08-22 Bruno Haible + 2006-07-11 Bruno Haible - * build-aux/x-to-1.in: New file, from GNU gettext. + * javacomp.c: Fix a comment. + Reported by Jim Meyering. -2006-08-22 Bruno Haible + 2006-04-30 Bruno Haible - * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if or - exists. + * javacomp.h (compile_java_class): Add source_version, + target_version arguments. + * javacomp.c: Rewritten to choose only a compiler that + respects the specified source_version and target_version. -2006-08-22 Bruno Haible + 2006-06-27 Bruno Haible - * lib/readutmp.h: Skip most definitions if neither nor - exists. + Assume correct S_ISDIR macro. + * mkdtemp.c: Remove test of STAT_MACROS_BROKEN. -2006-08-21 Paul Eggert + 2006-07-22 Bruno Haible - BeOS portability. - * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't - exist. - Problem reported by Bruno Haible. + * javaversion.h: New file, from GNU gettext. + * javaversion.c: New file, from GNU gettext. + * javaversion.java: New file, from GNU gettext. + * javaversion.class: New file, from GNU gettext. -2006-08-21 Paul Eggert + 2006-05-17 Bruno Haible - Avoid the need for AC_LIBSOURCES in m4 macros. - * modules/acl (EXTRA_DIST): Add acl.h. - * modules/argmatch (Files): Add m4/argmatch.m4. - (configure.ac): Add gl_ARGMATCH. - (EXTRA_DIST): Renamed from lib_SOURCES, for - consistency with the other modules. Remove argmatch.c. - * modules/backupfile (EXTRA_DIST): Add backupfile.h. - * modules/c-strtod (EXTRA_DIST): Add c-strtod.h. - * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h. - * modules/canonhost (EXTRA_DIST): Add c-canonhost.h. - * modules/canonicalize (EXTRA_DIST): Add canonicalize.h. - * modules/chdir-long (EXTRA_DIST): Add chdir-long.h. - * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h. - * modules/cloexec (EXTRA_DIST): Add cloexec.h. - * modules/close-stream (EXTRA_DIST): Add close-stream.h. - * modules/closeout (EXTRA_DIST): Add closeout.h. - * modules/cycle-check (EXTRA_DIST): Add cycle-check.h. - * modules/dev-ino (EXTRA_DIST): Add dev-ino.h. - * modules/dirfd (EXTRA_DIST): Add dirfd.h. - * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES. Add - dirname.h; remove basename.c and stripslash.c. - * modules/exclude (EXTRA_DIST): Add exclude.h. - * modules/exitfail (EXTRA_DIST): Add exitfail.h. - * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h. - * modules/file-type (EXTRA_DIST): Add file-type.h. - * modules/filemode (EXTRA_DIST): Add filemode.h. - * modules/filenamecat (EXTRA_DIST): Add filenamecat.h. - * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h. - * modules/fpending (EXTRA_DIST): Add __fpending.h. - * modules/fprintftime (EXTRA_DIST): Add fprintftime.h. - * modules/fsusage (EXTRA_DIST): Add fsusage.h. - * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c. - * modules/getcwd (EXTRA_DIST): Add getcwd.h. - * modules/getdate (EXTRA_DIST): Add getdate.c. - * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h. - * modules/getpagesize (EXTRA_DIST): Add getpagesize.h. - * modules/getpass (EXTRA_DIST): Add getpass.h. - * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h. - * modules/group-member (EXTRA_DIST): Add group-member.h. - * modules/hard-locale (EXTRA_DIST): Add hard-locale.h. - * modules/hash (EXTRA_DIST): Add hash.h. - * modules/human (EXTRA_DIST): Add human.h. - * modules/inttypes (EXTRA_DIST): Add inttypes.h. - * modules/lchmod (EXTRA_DIST): Add lchmod.h. - * modules/lchown (EXTRA_DIST): Add lchown.h. - * modules/long-options (EXTRA_DIST): Add long-options.h. - * modules/lstat (EXTRA_DIST): Add lstat.h. - * modules/md5 (EXTRA_DIST): Add memcasecmp.h. - * modules/memcoll (EXTRA_DIST): Add memcoll.h. - * modules/mempcpy (EXTRA_DIST): Add mempcpy.h. - * modules/memrchr (EXTRA_DIST): Add memrchr.h. - * modules/memxor (EXTRA_DIST): Add memxor.h. - * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h. - * modules/mkdir-p (EXTRA_DIST): Add modechange.h. - * modules/mountlist (EXTRA_DIST): Add mountlist.h. - * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h. - * modules/pathmax (EXTRA_DIST): Add pathmax.h. - * modules/physmem (EXTRA_DIST): Add physmem.h. - * modules/posixtm (EXTRA_DIST): Add posixtm.h. - * modules/posixver (EXTRA_DIST): Add posixver.h. - * modules/quote (EXTRA_DIST): Add quote.h. - * modules/quotearg (EXTRA_DIST): Add quotearg.h. - * modules/readtokens (EXTRA_DIST): Add readtokens.h. - * modules/readutmp (EXTRA_DIST): Add readutmp.h. - * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c - regex_internal.h regexec.c. - * modules/safe-read (EXTRA_DIST): Add safe-read.h. - * modules/safe-write (EXTRA_DIST): Add safe-write.h. - * modules/same (EXTRA_DIST): Add same.h. - * modules/same-inode (EXTRA_DIST): Add same-inode.h. - * modules/save-cwd (EXTRA_DIST): Add save-cwd.h. - * modules/savedir (EXTRA_DIST): Add savedir.h. - * modules/sha1 (EXTRA_DIST): Add sha1.h. - * modules/sig2str (EXTRA_DIST): Add sig2str.h. - * modules/stat-macros (EXTRA_DIST): Add stat-macros.h. - * modules/stat-time (EXTRA_DIST): Add stat-time.h. - * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h. - * modules/strdup (EXTRA_DIST): Add strdup.h. - * modules/strftime (EXTRA_DIST): Add strftime.h. - * modules/strndup (EXTRA_DIST): Add strndup.h. - * modules/strnlen (EXTRA_DIST): Add strnlen.h. - * modules/strverscmp (EXTRA_DIST): Add strverscmp.h. - * modules/time_r (EXTRA_DIST): Add time_r.h. - * modules/timespec (EXTRA_DIST): Add timespec.h. - * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h. - * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h. - * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h. - * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h. - * modules/userspec (EXTRA_DIST): Add userspec.h. - * modules/utimecmp (EXTRA_DIST): Add utimecmp.h. - * modules/utimens (EXTRA_DIST): Add utimens.h. - * modules/xalloc (EXTRA_DIST): Add xalloc.h. - * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h. - * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h. - * modules/xreadlink (EXTRA_DIST): Add xreadlink.h. - * modules/xstrtod (EXTRA_DIST): Add xstrtod.h. - * modules/xstrtol (EXTRA_DIST): Add xstrtol.h. - * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h. - * modules/yesno (EXTRA_DIST): Add yesno.h. + Cygwin portability. + * javaexec.c (execute_java_class): Test for jview program + also on Cygwin. -2006-08-21 Paul Eggert + 2006-04-09 Bruno Haible - * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod. + * fatal-signal.c: Don't include string.h. + (at_fatal_signal): Use a copying loop instead of memcpy. - * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed. - * m4/dev-ino.m4, same-inode.m4: Remove. + 2005-12-04 Bruno Haible - * m4/_inttypes_h.m4 (gl_INTTYPES_H): - * m4/acl.m4 (AC_FUNC_ACL): - * m4/backupfile.m4 (gl_BACKUPFILE): - * m4/c-strtod.m4 (gl_C99_STRTOLD): - * m4/canon-host.m4 (gl_CANON_HOST): - * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): - * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): - * m4/chdir-safer.m4 (gl_CHDIR_SAFER): - * m4/cloexec.m4 (gl_CLOEXEC): - * m4/close-stream.m4 (gl_CLOSE_STREAM): - * m4/closeout.m4 (gl_CLOSEOUT): - * m4/dirfd.m4 (gl_FUNC_DIRFD): - * m4/dirname.m4 (gl_DIRNAME): - * m4/exclude.m4 (gl_EXCLUDE): - * m4/exitfail.m4 (gl_EXITFAIL): - * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): - * m4/file-type.m4 (gl_FILE_TYPE): - * m4/filemode.m4 (gl_FILEMODE): - * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT): - * m4/fpending.m4 (gl_FUNC_FPENDING): - * m4/fprintftime.m4 (gl_FPRINTFTIME): - * m4/fts.m4 (gl_FUNC_FTS): - * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): - * m4/getdate.m4 (gl_GETDATE): - * m4/gethrxtime.m4 (gl_GETHRXTIME): - * m4/getpagesize.m4 (gl_GETPAGESIZE): - * m4/getpass.m4 (gl_FUNC_GETPASS): - * m4/gettime.m4 (gl_GETTIME): - * m4/getugroups.m4 (gl_GETUGROUPS): - * m4/glob.m4 (gl_GLOB_SUBSTITUTE): - * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): - * m4/hard-locale.m4 (gl_HARD_LOCALE): - * m4/hash.m4 (gl_HASH): - * m4/idcache.m4 (gl_IDCACHE): - * m4/lchmod.m4 (gl_FUNC_LCHMOD): - * m4/lchown.m4 (gl_FUNC_LCHOWN): - * m4/long-options.m4 (gl_LONG_OPTIONS): - * m4/lstat.m4 (gl_FUNC_LSTAT): - * m4/md5.m4 (gl_MD5): - * m4/memcasecmp.m4 (gl_MEMCASECMP): - * m4/memcoll.m4 (gl_MEMCOLL): - * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): - * m4/memrchr.m4 (gl_FUNC_MEMRCHR): - * m4/memxor.m4 (gl_MEMXOR): - * m4/mkancesdirs.m4 (gl_MKANCESDIRS): - * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): - * m4/modechange.m4 (gl_MODECHANGE): - * m4/mountlist.m4 (gl_MOUNTLIST): - * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): - * m4/openat.m4 (gl_FUNC_OPENAT): - * m4/pathmax.m4 (gl_PATHMAX): - * m4/physmem.m4 (gl_PHYSMEM): - * m4/posixtm.m4 (gl_POSIXTM): - * m4/posixver.m4 (gl_POSIXVER): - * m4/quote.m4 (gl_QUOTE): - * m4/quotearg.m4 (gl_QUOTEARG): - * m4/readtokens.m4 (gl_READTOKENS): - * m4/readutmp.m4 (gl_READUTMP): - * m4/regex.m4 (gl_REGEX): - * m4/safe-read.m4 (gl_SAFE_READ): - * m4/safe-write.m4 (gl_SAFE_WRITE): - * m4/same.m4 (gl_SAME): - * m4/save-cwd.m4 (gl_SAVE_CWD): - * m4/savedir.m4 (gl_SAVEDIR): - * m4/settime.m4 (gl_SETTIME): - * m4/sha1.m4 (gl_SHA1): - * m4/sig2str.m4 (gl_FUNC_SIG2STR): - * m4/stat-macros.m4 (gl_STAT_MACROS): - * m4/stat-time.m4 (gl_STAT_TIME): - * m4/stdio-safer.m4 (gl_FOPEN_SAFER): - * m4/stdlib-safer.m4 (gl_STDLIB_SAFER): - * m4/strdup.m4 (gl_FUNC_STRDUP): - * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): - * m4/strndup.m4 (gl_FUNC_STRNDUP): - * m4/strnlen.m4 (gl_FUNC_STRNLEN): - * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): - * m4/time_r.m4 (gl_TIME_R): - * m4/timespec.m4 (gl_TIMESPEC): - * m4/unistd-safer.m4 (gl_UNISTD_SAFER): - * m4/unlinkdir.m4 (gl_UNLINKDIR): - * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): - * m4/userspec.m4 (gl_USERSPEC): - * m4/utimecmp.m4 (gl_UTIMECMP): - * m4/utimens.m4 (gl_UTIMENS): - * m4/xalloc.m4 (gl_XALLOC): - * m4/xgetcwd.m4 (gl_XGETCWD): - * m4/xnanosleep.m4 (gl_XNANOSLEEP): - * m4/xreadlink.m4 (gl_XREADLINK): - * m4/xstrtod.m4 (gl_XSTRTOD): - * m4/yesno.m4 (gl_YESNO): - Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/ - to get the necessary .h files and whatnot. + * csharpexec.c: Add support for 'clix' launcher (untested). + (execute_csharp_using_sscli): New function. + (execute_csharp_program): Call it. -2006-08-21 Mark D. Baushke - Bruno Haible + 2006-06-21 Bruno Haible - * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2 - /bin/sh understanding of '!' conditional negation. + Avoid warnings from recent versions of mcs. + * csharpcomp.c (compile_csharp_using_mono): Don't use options + -o, -L, -r any more. Use options documented since mcs-1.0 + instead. Similarly for -g. -2006-08-21 Jim Meyering + 2005-07-09 Bruno Haible - * modules/openat (Depends-on): Really alphabetize. + * csharpcomp.c (compile_csharp_using_sscli): For -l option, + add a .dll suffix. + Reported by Mark Junker . - * modules/acl (Depends-on): Add error and quote. + 2006-06-17 Bruno Haible - * check-module (find_included_lib_files): Add at-func.c to the - ok-to-include-more-than-once white list. + * config.charset: Update for NetBSD 3.0. - * modules/openat (Depends-on): Add lstat. Alphabetize. + 2006-05-17 Bruno Haible -2006-08-21 Bruno Haible + Cygwin portability. + * localcharset.c (WIN32_NATIVE): Renamed from WIN32. - * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): - Emit a pkgdata_DATA variable only if some snippets add contents to it. - Reported by Martin Lambers . + 2006-05-16 Bruno Haible -2006-08-21 Bruno Haible + * localcharset.c [CYGWIN]: Include . + (get_charset_aliases): For Cygwin, return the same CPxxx + aliases list as under WIN32. + (locale_charset) [CYGWIN]: Try to retrieve the encoding from + the environment variables. Fall back to GetACP(). - * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already - specify an installation location, don't emit a noinst_LIBRARIES or - noinst_LTLIBRARIES assignment. + 2006-04-05 Bruno Haible -2006-08-21 Bruno Haible + * config.charset: Update Juan Manuel Guerrero's address. - BeOS portability. - * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since - BeOS has mbrtowc() but no . + 2005-02-12 Bruno Haible -2006-08-21 Bruno Haible + * allocsa.h: Add extern "C" for C++. - BeOS portability. - * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if doesn't - exist. + 2005-02-10 Bruno Haible -2006-08-21 Bruno Haible + * allocsa.h (sa_alignof): Define differently with AIX xlc, to + avoid a bug of this compiler on AIX 3.2.5 dealing with enums. - BeOS portability. - * lib/mbchar.h: Include only if it exists. + 2006-07-22 Bruno Haible -2006-08-20 Paul Eggert + * gettext.h: Update to GNU gettext-0.15. - Remove files that are no longer needed by their respective modules. - * m4/obstack.m4: Remove. - * m4/strerror_r.m4: Remove. - * m4/uint32_t.m4: Remove. - * m4/uintptr_t.m4: Remove. - * m4/ullong_max.m4: Remove. - * m4/xstrtoimax.m4: Remove. - * m4/xstrtoumax.m4: Remove. +2006-07-22 Bruno Haible - * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require - gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib - dependencies now capture this. + * config/srclist.txt: Resync printf-args.c, vasnprintf.c, + localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4, + lib-prefix.m4, longdouble.m4, ssize_t.m4. - * m4/cycle-check.m4 (gl_CYCLE_CHECK): - Do not use AC_LIBSOURCES, since gnulib modules now do this. - * m4/fsusage.m4 (gl_FSUSAGE): Likewise. - * m4/human.m4 (gl_HUMAN): Likewise. - * m4/inttostr.m4 (gl_INTTOSTR): Likewise. - * m4/xstrtol.m4 (gl_XSTRTOL): Likewise. +2006-07-21 Eric Blake - * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE. + * modules/stdlib-safer: New file. + * MODULES.html.sh (File stream based Input/Output): Add + stdlib-safer. - * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require - gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require - stdint. - * m4/human.m4 (gl_HUMAN): Likewise. - * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise. - * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise. - * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise. - * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise. - * m4/xstrtol (gl_XSTRTOL): Likewise. +2006-07-21 Eric Blake - * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG -> - AC_TYPE_LONG_LONG_INT. - * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise. - * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise. - * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long. - * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise. + * lib/stdlib-safer.h: New file from coreutils, required by + stdlib--.h. - * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend - on stdbool. +2006-07-20 Paul Eggert - * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove. - (gl_PREREQ_XSTRTOUL): Remove. + * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'. - * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt. +2006-07-20 Bruno Haible - * m4/posixver.m4: Fix comment since head -1 now works even in POSIX - mode. + * gnulib-tool: Recognize new option --assume-autoconf. + (autoconf_minversion): New variable. + (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4. -2006-08-20 Paul Eggert +2006-07-20 Bruno Haible - Add and change modules to make it easier for coreutils to use - gnulib-tool. - * modules/backupfile (Files): Remove m4/d-ino.m4. - (Depends-on): Add d-ino. - * modules/cycle-check (Depends-on): Add stdint. - (lib_SOURCES): Add cycle-check.h. - * modules/d-ino: New module. - * modules/d-type: New module. - * modules/error (Files): Remove m4/strerror_r.m4. - * modules/filemode (Files): Add m4/st_dm_mode.m4. - * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4, - m4/inttypes_h.m4, m4/uintmax_t.m4. - (Depends-on): Add stdint. - (lib_SOURCES): Add fsusage.h. - * modules/getcwd (Files): Remove d-ino.m4. - (Depends-on): Add d-ino. - * modules/getndelim2 (Depends-on): Add stdint. - * modules/glob (Files): Remove m4/d-type.m4. - (Depends-on): Add d-type. - * modules/host-os: New module. - * modules/human (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4, - m4/inttypes_h.m4, m4/uintmax_t.m4. - * Depends-on: Add stdint. - (lib_SOURCES): Add human.h. - * modules/inttostr (Files): Remove m4/intmax_t.m4, - m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4, - m4/uintmax_t.m4, m4/ulonglong.m4. - (Depends-on): Add stdint. - (EXTRA_DIST): Add inttostr.h. - * modules/lchmod: New module. - * modules/link-follow: New module. - * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4. - (Depends-on): Add lchmod. - * modules/mkstemp (Files): Remove m4/ulonglong.m4, - m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4. - (Depends-on): Add stdint. - * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4, - m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4. - (Depends-on): Add stdint. - (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK. - * modules/perl: New module. - * modules/regex (Depends-on): Add stdint. - * modules/rmdir-errno: New module. - * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4, - m4/intmax_t.m4. - (Depends-on): Add stdint. - * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4, - m4/uintmax_t.m4. - (Depends-on): Add stdint. - * modules/unlink-busy: New module. - * modules/utimecmp (Depends-on): Add stdint. - * modules/uptime: New module. - * modules/winsz-ioctl: New module. - * modules/winsz-termios: New module. - * modules/xnanosleep (Depends-on): Add nanosleep. - * modules/ullong_max: Remove. - * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4. - (configure.ac): Remove gl_XSTRTOIMAX; no action needed now. - * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4, - m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4. - (Depends-on): Add inttypes. - (lib_SOURCES): Add xstrtol.h. - * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4. - (configure.ac): Remove gl_XSTRTOUMAX; no action needed now. - * MODULES.html.sh: Move 'assert' into the assert section. - Move 'dummy' into the linking section. - Remove ullong_max. - Add section for compatibility checks for POSIX:2001 functions, - and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy, - winsz-ioctl, and winsz-termios into it. - Add lchmod. - Add top-level Misc section and put host-os, perl, and uptime - into it. + * MODULES.html.sh (func_all_modules): Add a missing func_begin_table. -2006-08-20 Paul Eggert +2006-07-19 Derek R. Price - * lib/cycle-check.h: Include unconditionally, since we - now assume the stdint module. Do not include inttypes.h. - * lib/fsusage.h: Likewise. - * lib/getndelim2.c: Likewise. - * lib/human.h: Likewise. - * lib/inttostr.h: Likewise. - * lib/obstack.c: Likewise. - * lib/regex_internal.h: Likewise. - * lib/tempname.c: Likewise. - * lib/utimecmp.c: Likewise. - * lib/xstrtol.h: Likewise. + * lib/getaddrinfo.h: Don't define unimplemented AI_* flags. + Reindent and repaginate. - * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT. +2006-07-19 Derek Price - * lib/strtoimax.c: Adjust to macro name changes in Autoconf, - e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT. - * lib/xtime.h: Likewise. + * doc/gnulib.texi (Libtool and Windows): Eliminate passive voice. + Correct grammar. -2006-08-19 Paul Eggert +2006-07-17 Bruno Haible - * modules/openat (Files): Add lib/fchmodat.c. - Fixes problem reported by Jay Youngman. + * modules/list: New file. + * modules/array-list: New file. + * modules/carray-list, modules/carray-list-tests: New files. + * modules/linked-list, modules/linked-list-tests: New files. + * modules/avltree-list, modules/avltree-list-tests: New files. + * modules/rbtree-list, modules/rbtree-list-tests: New files. + * modules/linkedhash-list, modules/linkedhash-list-tests: New files. + * modules/avltreehash-list, modules/avltreehash-list-tests: New files. + * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files. + * modules/oset: New file. + * modules/array-oset: New file. + * modules/avltree-oset, modules/avltree-oset-tests: New files. + * modules/rbtree-oset, modules/rbtree-oset-tests: New files. + * tests/test-carray_list.c: New file. + * tests/test-linked_list.c: New file. + * tests/test-avltree_list.c: New file. + * tests/test-rbtree_list.c: New file. + * tests/test-linkedhash_list.c: New file. + * tests/test-avltreehash_list.c: New file. + * tests/test-rbtreehash_list.c: New file. + * tests/test-avltree_oset.c: New file. + * tests/test-rbtree_oset.c: New file. + * MODULES.html.sh (Container data structures): New section. -2006-08-19 Paul Eggert +2006-07-17 Bruno Haible - * lib/fchmodat.c: New file, from coreutils. This was inadvertently - omitted in the 2006-08-17 update. Problem reported by Jay Youngman. + * m4/gl_list.m4: New file. -2006-08-18 Paul Eggert - Bruno Haible +2006-07-17 Bruno Haible - * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists - and is a script that invokes bison. Tighten the code. Add comments. + * lib/gl_list.h: New file. + * lib/gl_list.c: New file. + * lib/gl_array_list.h: New file. + * lib/gl_array_list.c: New file. + * lib/gl_carray_list.h: New file. + * lib/gl_carray_list.c: New file. + * lib/gl_linked_list.h: New file. + * lib/gl_linked_list.c: New file. + * lib/gl_anylinked_list1.h: New file. + * lib/gl_anylinked_list2.h: New file. + * lib/gl_avltree_list.h: New file. + * lib/gl_avltree_list.c: New file. + * lib/gl_anyavltree_list1.h: New file. + * lib/gl_anyavltree_list2.h: New file. + * lib/gl_rbtree_list.h: New file. + * lib/gl_rbtree_list.c: New file. + * lib/gl_anyrbtree_list1.h: New file. + * lib/gl_anyrbtree_list2.h: New file. + * lib/gl_anytree_list1.h: New file. + * lib/gl_anytree_list2.h: New file. + * lib/gl_linkedhash_list.h: New file. + * lib/gl_linkedhash_list.c: New file. + * lib/gl_anyhash_list1.h: New file. + * lib/gl_anyhash_list2.h: New file. + * lib/gl_avltreehash_list.h: New file. + * lib/gl_avltreehash_list.c: New file. + * lib/gl_rbtreehash_list.h: New file. + * lib/gl_rbtreehash_list.c: New file. + * lib/gl_anytreehash_list1.h: New file. + * lib/gl_anytreehash_list2.h: New file. -2006-08-18 Jim Meyering + * lib/gl_oset.h: New file. + * lib/gl_oset.c: New file. + * lib/gl_array_oset.h: New file. + * lib/gl_array_oset.c: New file. + * lib/gl_avltree_oset.h: New file. + * lib/gl_avltree_oset.c: New file. + * lib/gl_rbtree_oset.h: New file. + * lib/gl_rbtree_oset.c: New file. + * lib/gl_anytree_oset.h: New file. - * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for - CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via - gettime.c. Gabor Z. Papp reported that gethrxtime-using programs - failed to link due to unresolved clock_gettime on a linux-2.4.x system. +2006-07-16 Paul Eggert -2006-08-18 Bruno Haible + * m4/mkancesdirs.m4: New file. + * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c, + dirchownmod.h. Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER; + no longer needed. Require gl_FUNC_LCHOWN, since dirchownmod.c needs + it. - * modules/bison-i18n: New file. - * MODULES.html.sh (Internationalization functions): Add it. +2006-07-16 Paul Eggert -2006-08-18 Bruno Haible + * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c: + * lib/mkancesdirs.h: New files. + * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h, + unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h, + save-cwd.h. Instead, include dirchownmod.h and mkancesdirs.h. + (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE, + MODE_BITS. Remove options VERBOSE_FMT_STRING, CWD_ERRNO. All + callers changed. Revamp internals significantly, by not + attempting to create directories that are temporarily more + permissive than the final results. Do not attempt to use + save_cwd/restore_cwd; it isn't worth it for mkdir and install. + This removes some race conditions, fixes some bugs, and simplifies + things. Use new dirchownmod function to do owner and mode changes. + * lib/mkdir-p.h: Likewise. + * lib/modechange.c (octal_to_mode): New function. + (struct mode_change): New member mentioned. + (make_node_op_equals): New arg mentioned. All callers changed. + (mode_compile): Keep track of which mode bits the user has explicitly + mentioned. + (mode_adjust): New arg DIR, so that we implement the X op correctly. + New arg PMODE_BITS, to keep track of which mode bits the user + mentioned; it treats S_ISUID and S_ISGID speciall. + All callers changed. + * lib/modechange.h: Likewise. - * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for - sys/statvfs.h. When getmntinfo was found, check its declaration and - set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it. +2006-07-16 Paul Eggert -2006-08-18 Bruno Haible + * MODULES.html.sh: Add mkancestors. + * modules/mkancesdirs: New module. + * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h, + lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4. + The chdir-safer and afs files are now orphans; I'll remove them + unless someone speaks up. + Add lib/dirchownmod.c, lib/dirchownmod.h. + (Depends-on): Remove alloca, chown, save-cwd, dirname. + Add lchown, mkancesdirs. + (Maintainer): Add self. - * m4/bison-i18n.m4: New file, from bison. +2006-07-15 Karl Berry -2006-08-18 Bruno Haible + * gnulib-tool: help message wording/arrangement. - * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h. - (ME_DUMMY): Treat "kernfs" as a dummy. - (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement. +2006-07-14 Simon Josefsson -2006-08-17 Paul Eggert + * doc/gnulib.texi (Libtool and Windows): New section. - Update from coreutils. +2006-07-12 Simon Josefsson - 2006-08-15 Jim Meyering + * modules/gendocs (License): Fix license, approved by Karl. - * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES. +2006-07-12 Eric Blake - 2006-01-17 Jim Meyering + * MODULES.html.sh: Add gendocs. - * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT. +2006-07-11 Eric Blake - 2006-01-11 Jim Meyering + * modules/fdl: New module, to install doc/fdl.texi. + * MODULES.html.sh: Add new section for documentation modules. + * gnulib-tool: Avoid space-tab. + (--doc-base): New option, to manage files from doc. - * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c. - Check for the lchmod function. +2006-07-11 Eric Blake -2006-08-17 Paul Eggert + * m4/absolute-header.m4: Fix comments to match recent change. - Update from coreutils. +2006-07-11 Eric Blake - * lib/__fpending.h: Add copyright notice. - * lib/fprintftime.h: Likewise. - * lib/savedir.c: Use (C) in copyright notice. - * lib/savedir.h: Likewise. + * gnulib-tool: List --doc-base before --tests-base. - 2006-08-15 Jim Meyering +2006-07-11 Derek R. Price - * lib/at-func.c: New file, with the logic of all emulated at-functions. - * lib/openat-priv.h: Include and define ENOSYS, - in support of the EXPECTED_ERRNO macro. - * lib/openat.c (fstatat, unlinkat, fchownat): Remove function - definitions. Instead, define the appropriate symbols and include - "at-func.c". - * lib/mkdirat.c (mkdirat): Likewise. - * lib/fchmodat.c (fchmodat): Likewise. - (ENOSYS): Remove definition. - * lib/openat.c: Don't include , now that "openat-priv.h" does - it. Don't include "unistd--.h" -- it wasn't ever used. + * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/. - 2006-01-17 Jim Meyering +2006-07-11 Bruno Haible - Rewrite fts.c not to change the current working directory, - by using openat, fstatat, fdopendir, etc.. + * README: Mention where to put documentation. - * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h". - (HAVE_OPENAT_SUPPORT): Define. - [_LIBC] (fchdir): Don't undef or define; no longer used. - (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir. - Now, this `function' always succeeds, and consumes its file descriptor - parameter -- so callers must not close such FDs. Update callers. - (diropen_fd, opendirat, cwd_advance_fd): New functions. - (diropen): Add parameter, SP. Adjust all callers. - Implement using diropen_fd, rather than open. - (fts_open): Initialize new member, fts_cwd_fd. - Remove fts_rft-setting code. - (fts_close): Close fts_cwd_fd, if necessary. - (__opendir2): Define in terms of opendir or opendirat, - depending on whether the FST_NOCHDIR flag is set. - (fts_build): Since fts_safe_changedir consumes its FD, and since - this code must do `closedir(dirp)', dup the dirfd(dirp) argument, - and close the dup'd file descriptor upon failure. - (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat. - (fts_safe_changedir): Tweak semantics to reflect that this function - now calls cwd_advance_fd and hence consumes its FD argument. - * lib/fts_.h [struct FTS] (fts_cwd_fd): New member. - [struct FTS] (fts_rft): Remove now-unused member. - [struct FTS] (fts_cycle.state): Improve comment. +2006-07-10 Ralf Wildenhues - * lib/openat.c (openat_needs_fchdir): New function. - * lib/openat.h (openat_needs_fchdir): Declare it. + * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos. -2006-08-16 Paul Eggert +2006-07-10 Paul Eggert - * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too. - Problem and fix reported by Pádraig Brady in - . + * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change + to stdint.m4. -2006-08-15 Paul Eggert +2006-07-10 Paul Eggert - * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK. + * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to + absolute-header.m4. Also, set ABSOLUTE_STDINT_H to a string + "no/such/file/stdint.h" when there is no such file, so that + the resulting C code can be parsed by dodgy compilers. + Problems reported by Bob Proulx. -2006-08-15 Paul Eggert +2006-07-10 Derek R. Price - * lib/memcoll.c (memcoll): Optimize for the common case where the - arguments are bytewise equal. + * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h: + Ignore the obsolescent !HAVE_DIRENT_H case. Consolidate NAMLEN + macros into the GNU _D_EXACT_NAMLEN. + * lib/savedir.c: Likewise. + (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen. -2006-08-15 Paul Eggert +2006-07-10 Derek R. Price + and Paul Eggert - * doc/regexprops-generic.texi: Add a copyright notice. + * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4: + * m4/savedir.m4: + Ignore the obsolescent !HAVE_DIRENT_H case. Consolidate NAMLEN + macros into the GNU _D_EXACT_NAMLEN. -2006-08-15 Bruno Haible +2006-07-09 Paul Eggert - * modules/tmpdir (License): Change to LGPL. + * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <> + around the absolute name, to work around a problem with the HP-UX + 11.23 native C compiler, reported by Bob Proulx. -2006-08-15 Bruno Haible +2006-07-09 Paul Eggert - * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a - module. + * doc/maintain.texi, make-stds.texi: Sync from + . -2006-08-14 Simon Josefsson +2006-07-09 Paul Eggert - * config/srclist.txt: Add gnupload. + * build-aux/depcomp, build-aux/install-sh: Sync from Automake. -2006-08-14 Paul Eggert +2006-07-09 Jim Meyering - Change copyright notice from LGPL 2 to GPL 2, since that's the - standard form used in the gnulib repository. - * tests/test-lock.c: Likewise. - * tests/test-stdint.c: Likewise. - * tests/test-tls.c: Likewise. + * m4/glob.m4: Remove a doubled word in a comment. - * users.txt: Add bison, diffutils, libprelude, prelude-lml, - prelude-manager. User shorter URLs for GNU projects, without '?'. - Add copyright notice. +2006-07-09 Jim Meyering - * check-module: Add copyright notice. Output a copyright - notice if "--version" is specified. - * modules/COPYING: New file. - * tests/test-getaddrinfo.c: Add copyright notice. - * tests/test-verify.c: Likewise. + * lib/argp-pv.c: Remove a doubled word in a comment. + * lib/check-version.c (check_version): Likewise. + * lib/javacomp.c (compile_java_class): Likewise. -2006-08-14 Paul Eggert +2006-07-08 Paul Eggert - Change copyright notice from LGPL 2 to GPL 2, since that's the - standard form used in the gnulib repository. - * lib/lock.c: LGPL -> GPL. - * lib/lock.h: Likewise. - * lib/strnlen1.c: Likewise. - * lib/strnlen1.h: Likewise. - * lib/tls.c: Likewise. - * lib/tls.h: Likewise. - * lib/tmpdir.c: Likewise. + * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4, + for the benefit of people using Autoconf 2.60. If you want to + support older Autoconf versions you can copy m4/onceonly_2_57.m4 + (or m4/onceonly.m4, if pre-2.57) manually. - * lib/TODO: Remove; this belongs only in coreutils. +2006-07-08 Jim Meyering -2006-08-14 Paul Eggert + * m4/link-follow.m4: Remove one of two adjacent "whether"s in a + comment. + * m4/getopt.m4: Remove one of two adjacent "your"s in a comment. + * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a + comment. - Add copyright notices to long-enough files that lack them, since - otherwise the files aren't clearly free. Use the same notice that - getdate.texi already uses. - * doc/alloca-opt.texi: Add copyright notice. - * doc/alloca.texi: Likewise. - * doc/ctime.texi: Likewise. - * doc/functions.texi: Likewise. - * doc/gcd.texi: Likewise. - * doc/gnulib-tool.texi: Likewise. - * doc/inet_ntoa.texi: Likewise. - * doc/visibility.texi: Likewise. +2006-07-08 Jim Meyering - * doc/getdate.texi: Update FDL version from 1.1 to 1.2. - * doc/quote.texi: Add copyright notice. + * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment. - * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS - 4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B. SunOS 4.1.3 - was Solaris 1.1A. Remove space before B in Solaris 1.1.1B. - Mention SunOS 5.11. Mention that everything before SunOS 5.7 - is now obsolete, and give a pointer to the Sun list. - Add copyright notice. +2006-07-07 Simon Josefsson -2006-08-14 Paul Eggert + * tests/test-crc.c: Change expected crc value, the test vector + were probably computed using the old broken crc.c? - * config/srclistvars.sh: Add copyright notice. +2006-07-06 Simon Josefsson -2006-08-14 Eric Blake + * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is + now the canonical place for the M4 file). - Import the following change from libc: + * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it + from the sys_socket dependency now. - 2006-08-12 Ulrich Drepper + * modules/inet_pton (Files): Ditto. - Upstream bug 2997. - * lib/misc/error.c: Add space between program name and message if file - name is missing. + * modules/inet_ntop (Files): Ditto. -2006-08-12 Karl Berry +2006-07-06 Ralf Wildenhues (tiny change) - * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4): - remove, these originate in gnulib now. + * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL, + not gl_PREREQ_GETUSERSHELL. -2006-08-11 Ralf Wildenhues +2006-07-06 Ralf Wildenhues - * doc/Makefile (standards.info standards.html standards.dvi): - Also depend on make-stds.texi. + * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE + with only one argument, for Autoconf 2.60. + * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may + expand to nothing, so add a shell command to avoid syntax error. + * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise. -2006-08-11 Paul Eggert +2006-07-06 Ralf Wildenhues - * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE -> - HAVE_PIPE. Fix a file descriptor leak when fd_safer fails. + * lib/strtod.c (strtod): cast the argument of tolower to unsigned char. - * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits - in wchar_t. Problem reported by Eric Blake. +2006-07-06 Paul Eggert - * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when - LEN is smaller than SIZE. Suggested by Bruno Haible. - Also, help the compiler to keep LEN in a register. + * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl; + no longer needed. Check for isblank decl. + * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl. + * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead + of existence. -2006-08-11 Eric Blake +2006-07-06 Paul Eggert - * users.txt: Sort. Add tar. + * lib/getloadavg.c: Use __VMS, not VMS. + * lib/getopt.c: Likewise. + * lib/getpagesize.h: Likewise. + * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while + and probably does not work. -2006-08-11 Bruno Haible +2006-07-06 Paul Eggert - * users.txt: New file. + * lib/.cppi-disable: Add wcwidth. + * lib/fnmatch.c (ISBLANK): Remove. All uses changed to isblank. + (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro. + (ISGRAPH): Remove. All uses changed to isgraph. + (FOLD) [!defined _LIBC]: Remove special case. + * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower. + * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not + HAVE_ISBLANK. + * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special + case. -2006-08-11 Bruno Haible +2006-07-06 Jim Hyslop (tiny change) - * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include and - before . Needed for OSF/1 and BSD/OS. + * lib/getaddrinfo.c: Changes to compile under MSVC6: changed + '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside + brackets. Other minor changes to suppress some compiler + warnings. -2006-08-10 Paul Eggert +2006-07-06 Derek R. Price + and Paul Eggert - * modules/snprintf (Depends-on): Remove minmax. - (Maintainer): Add self and Bruno. + * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead + of invoking obsolescent AC_HEADER_DIRENT macro. + * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise. + * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise. + * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise. + * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise. + * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise. + * m4/glob.m4 (gl_PREREQ_GLOB): Likewise. + * m4/savedir.m4 (gl_SAVEDIR): Likewise. + * m4/readdir.m4: Remove; no longer needed. -2006-08-10 Paul Eggert +2006-07-06 Derek R. Price + and Paul Eggert - * lib/.cppi-disable: Add snprintf.h, socket_.h. - * lib/snprintf.c: Include and . - (EOVERFLOW): Define if the system does not. - Do not include "minmax.h"; it wasn't used. - (snprintf): Don't assume size_t promotes to an unsigned type. - Fix bug when generated string was too long for the buffer: the - buffer's contents are supposed to be the initial prefix of the - output. Don't assume vasnprintf returns EOVERFLOW if the size - exceeds INT_MAX; do the check ourselves. + * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]: + Don't worry about this obsolete case any more. + (HAVE_DIR): Remove. All uses removed; we now assume you can read + directories. + * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't + worry about this obsolete case any more. + * lib/fts.c: Likewise. + * lib/getcwd.c: Likewise. + * lib/glob.h: Likewise. + * lib/savedir.c: Likewise. - Import the following changes from libc: +2006-07-05 Paul Eggert - 2006-06-02 Jakub Jelinek + * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE + rather than AC_CHECK_DECLS for strtoimax and strtoumax. + * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer + needed. + All uses removed. + * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise. + * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise. + * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer + needed. + * m4/getdate.m4 (gl_GETDATE): Likewise. + * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise. + * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise. + * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise. + * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise. + * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise. + * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise. + * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer + needed. - * lib/posix/regex_internal.c (re_string_skip_chars): If no character - has been converted at all, set *last_wc to WEOF. If mbrtowc failed, - set wc to the byte which couldn't be converted. - (re_string_reconstruct): Don't clear valid_raw_len before calling - re_string_skip_chars. If wc is WEOF after re_string_skip_chars, set - tip_context using re_string_context_at. +2006-07-05 Paul Eggert - 2006-05-02 Ulrich Drepper + * lib/memcasecmp.c: Include . + (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX. + * lib/strtod.c (strtod): Don't assume isspace works on negative chars. + Don't assume isdigit succeeds only on '0' through '9'. - * lib/posix/regex.h: g++ still cannot handled [restrict]. +2006-07-05 Eric Blake - 2006-04-21 Ulrich Drepper + * modules/getaddrinfo (Depends-on): Add snprintf. - * lib/posix/regex.h: Remove special handling for VMS. +2006-07-05 Eric Blake -2006-08-10 Jim Meyering + * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET + to avoid 'header present but could not be compiled' on cygwin. - * modules/same-inode: New module. - * modules/dev-ino: New module. - * modules/cycle-check: Depend on these modules, rather than simply - including their .h files. - (Makefile.am): Don't list cycle-check.[ch] here, now that they're - required via m4/cycle-check.m4. - * modules/same: Depend on new same-inode module, rather than - including same-inode.h. - * modules/chdir-safer: New file. +2006-07-05 Eric Blake - * modules/chown (Depends-on): Add stat-macros. + * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if + missing from netdb.h. + * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf. -2006-08-10 Jim Meyering +2006-07-05 Derek R. Price - * m4/cycle-check.m4: New file. - Require gl_STRUCT_DEV_INO and gl_SAME_INODE. - * m4/dev-ino.m4, m4/same-inode.m4: New files. + * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC; + no longer needed. + * m4/exclude.m4 (gl_EXCLUDE): Likewise. + * m4/getdate.m4 (gl_GETDATE): Likewise. + * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise. + * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise. + * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise. + * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise. + * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise. -2006-08-10 Eric Blake +2006-07-05 Derek R. Price - * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck - in from original proposal. + * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed. + All uses of is_space replaced by isspace. + * lib/exit.h: Don't talk about STDC_HEADERS. + * lib/fnmatch.c (ISASCII): Remove; no longer needed. All uses removed. + (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT): + (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed. All uses + replaced by isprint etc. + * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise. + * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise. + * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise. + * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise. + * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise. + * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise. -2006-08-10 Eric Blake - and Ralf Wildenhues +2006-07-05 Bruno Haible - * gnulib-tool (func_import): Detect unexpanded macros in gnulib - namespace. + * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether + the function exists, before testing against AIX. + Reported by Martin Lambers . -2006-08-10 Bruno Haible +2006-07-04 Paul Eggert - * gnulib-tool (func_create_testdir): Detect unexpanded macros here - as well. + * modules/cycle-check (lib_SOURCES): Add same-inode.h. + From Mark D. Baushke. -2006-08-09 Paul Eggert +2006-07-04 Paul Eggert - Sync from coreutils. + * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes + to the absolute name, not just one, to bypass Sun C 5.8's + "warning: #include of /usr/include/... may be non-portable". + +2006-07-04 Eric Blake + + * modules/dirname-tests: New test module. + * tests/test-dirname.c: New file, replacing dirname.c + TEST_DIRNAME section that was recently deleted. - 2006-07-19 Mike Frysinger +2006-07-04 Bruno Haible - * lib/mountlist.c [ME_REMOTE]: Filter out cifs. - Reported by Toralf Förster in . + Assume ANSI C header files and functions. + * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros. + (mbsnwidth): Use isprint, iscntrl instead. -2006-08-09 Paul Eggert +2006-07-03 Paul Eggert - * modules/restrict: Remove; no longer needed now that we assume - Autoconf 2.59 or later. - * MODULES.html.sh: Remove 'restrict'. - * modules/argp (Depends-on): Remove 'restrict'. - * modules/base64 (Depends-on): Likewise. - * modules/gc (Depends-on): Likewise. - * modules/getaddrinfo (Depends-on): Likewise. - * modules/glob (Depends-on): Likewise. - * modules/inet_ntop (Depends-on): Likewise. - * modules/inet_pton (Depends-on): Likewise. - * modules/memxor (Depends-on): Likewise. - * modules/regex (Depends-on): Likewise. - * modules/strtok_r (Depends-on): Likewise. - * modules/time_r (Depends-on): Likewise. + Merge from coreutils. + * MODULES.html.sh: Add xstrtold. + * modules/xstrtold: New file. + * modules/cycle-check (Files): Add lib/same-inode.h. + * modules/dirname (Files): Add m4/double-slash-root.m4. + * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4. + * modules/mkdir-p (Files): Add lib/same-inode.h. + * modules/same (Files): Add lib/same-inode.h. -2006-08-09 Paul Eggert +2006-07-03 Paul Eggert - * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT. - * m4/gc.m4 (gl_PREREQ_GC): Likewise. - * m4/glob.m4 (gl_PREREQ_GLOB): Likewise. - * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise. - * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise. - * m4/memxor.m4 (gl_MEMXOR): Likewise. - * m4/restrict.m4: Remove; no longer needed. All remaining uses of - gl_C_RESTRICT replaced by AC_C_RESTRICT. + * m4/absolute-header.m4: Renamed from full-header-path.m4. + This is to keep the terminology clean; POSIX talks about + "absolute pathnames", not "full pathnames", but the GNU + Coding Standards say to use "path" for something else; + so use "absolute" to keep both sides happy. + (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH. + Set gl_absolute_header, not gl_full_header_path. + Set gl_cv_absolute_
, not gl_full_path_
. + Define ABSOLUTE_
, not FULL_PATH_
. + All uses changed. Merge from coreutils. - * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not - gl_C_RESTRICT, now that we assume Autoconf 2.59 or later. - * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise. - * m4/time_r.m4 (gl_TIME_R): Likewise. -2006-08-09 Karl Berry + 2006-06-30 Paul Eggert - * config/srclist.txt: no more gettext-tools, per Bruno. + * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES. + Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't + want to require the building of c-strtod.o. + * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer + needs -lm directly. + * m4/xstrtod.m4 (gl_XSTRTOLD): New macro. -2006-08-08 Eric Blake + 2006-06-19 Paul Eggert - * modules/verror: New module. - * MODULES.html.sh: Document it. + * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's + --as-needed option if available. Problem reported by Albert Chin in + . + However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11 + cc merely issues a bunch of annoying warnings for --as-needed + (this problem was reported by Bob Proulx). Also, try linking with + -lm to detect a bug in binutils 2.16 (this problem was reported + by Ralf Wildenhues). -2006-08-08 Eric Blake + 2006-06-18 Jim Meyering - * lib/verror.h, lib/verror.c: New files. + Test for a bug that causes glibc's getcwd to suffer a failed assertion. + * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and + macro. + * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null, + also check for glibc-2.4's abort-inducing bug. -2006-08-08 Eric Blake + * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo. + Low-probability clean-up should be to use rmdir to get rid of + the just-created directory, not unlink. - * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that - verror_at_line output complies with GNU Coding Standards even when - file is NULL. + * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make + configure fail, and request a bug report to inform us about it. + Add a comment that, barring reports to the contrary, in 2007 we'll + assume ftruncate is universally available. -2006-08-07 Bruno Haible + 2006-04-17 Paul Eggert - * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer - versions of AIX. - Reported by Ralf Wildenhues. + * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration. -2006-08-07 Bruno Haible + 2006-03-12 Jim Meyering - * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets - in an AC_DEFUN. Needed so that the autoconf snippets can use - AC_REQUIRE. + * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list. + * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise. + * m4/same.m4 (gl_SAME): Likewise. + * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise. -2006-08-06 Ralf Wildenhues + 2006-03-11 Eric Blake - * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): - Initialize pkgdata_DATA. - * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than - overriding it. + * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT. + * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT. + * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h. + (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define. -2006-08-06 Eric Blake +2006-07-03 Paul Eggert - * lib/error.h: Fold in some upstream changes from glibc. - * lib/error.c: Likewise. + * lib/stdint_.h: Include after @FULL_PATH_STDINT_H@, for + MacOS X 10.4.6. Don't mention . Problems + reported by Mark D. Baushke, one in + . -2006-08-04 Bruno Haible + Merge from coreutils. - * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): - Make the mostlyclean-local rule depend on mostlyclean-generic. - Reported by Jim Meyering. Solution suggested by Ralf Wildenhues. + * lib/.cppi-disable: Add stdint_.h. + * lib/.cvsignore: Add stdint.h. -2006-07-31 Bruno Haible + 2006-06-30 Paul Eggert - * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for , - , . + * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support + both double and long double versions. + (XSTRTOD): Renamed from xstrtod. Use DOUBLE internally. + * lib/xstrtold.c: New file. + * lib/xstrtod.h (xstrtold): New decl. -2006-07-30 Bruno Haible + 2006-05-22 Paul Eggert - * modules/readlink (License): Change to LGPL. + * lib/filemode.c (setst): Remove. + (strmode): Rewrite to avoid setst. This makes the code shorter, + (arguably) clearer, and the generated code is a bit smaller on my + Debian GNU/Linux stable x86 host. -2006-07-30 Bruno Haible + 2006-04-17 Paul Eggert - * modules/javaversion (Makefile.am): Distribute javaversion.java and - javaversion.class. Also install javaversion.class in $(pkgdatadir) and - set PKGDATADIR to point to it. + * lib/filemode.c: Include "filemode.h" first, to test the interface. + Assume that filemode.h includes sys/types.h and sys/stat.h. + (HAVE_ST_DM_MODE): New macro, moved here from ls.c. + (ftypelet): Reorder to put common cases first, for efficiency. + Add 'P', 'w'. Remove 'M', since it's now the caller's responsibility + to do 'M'. + (strmode): Renamed from mode_string, and now stores 12 bytes instead + of 10, for compatibility with FreeBSD. All callers changed. + (filemodestring): Now stores 12 bytes instead of 10, and sets file + types that can't be deduced solely from st_mode. First arg is now a + const pointer. + * lib/filemode.h (HAVE_DECL_STRMODE): Include for strmode. + (strmode): Renamed from mode_string. + (filemodestring): New decl. + * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy. + (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never + needed. + (S_ISPORT, S_ISWHT): New macros, if not already defined. -2006-07-30 Bruno Haible + 2006-04-12 Paul Eggert - * modules/csharpexec (configure.ac): Comment out macro invocation. - * modules/javaexec (configure.ac): Likewise. - * modules/javacomp-script (configure.ac): Likewise. + * lib/fsusage.c: Don't include or , since + fsusage.h now does that. Include fsusage.h first, to test interface. + Prefer statvfs if it works, since it's blessed by POSIX. Attempt + at most one method (the old code could have generated decls that + didn't conform to C89, not that this was ever exercised). + * lib/fsusage.h: Include and if they exist. - * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE. + 2006-03-19 Jim Meyering -2006-07-30 Bruno Haible + Work even in a chroot where d_ino values for entries in "/" + don't match the stat.st_ino values for the same names. + * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode + number, iterate through all entries again, using lstat instead. + Reported by Kenshi Muto in http://bugs.debian.org/355810, and by + Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656. - * modules/clean-temp (Depends-on): Add linkedhash-list, remove - linked-list. + * lib/getcwd.c (__getcwd): Clarify a comment. + Use memcpy in place of a call to strcpy. -2006-07-30 Bruno Haible + 2006-03-12 Jim Meyering - * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume exists. + * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair + matches that of the current directory (which we're about to chdir ".." + out of), then save the dev-ino of the parent, instead. -2006-07-30 Bruno Haible + * lib/same-inode.h (SAME_INODE): New file/macro. + * lib/chdir-safer.c (SAME_INODE): Remove definition. + Include "same-inode.h", instead. + * lib/same.c: Likewise. + * lib/cycle-check.h: Include "same-inode.h". + (CYCLE_CHECK_REFLECT_CHDIR_UP): Define. + * lib/cycle-check.c (SAME_INODE): Remove definition. + * lib/root-dev-ino.h: Include "same-inode.h". - * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): - Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps - get removed. + 2006-03-11 Eric Blake -2006-07-29 Bruno Haible + * lib/same.c (same_name): s/base_name/last_component/ + * lib/backupfile.c (check_extension, numbered_backup): Likewise. + * lib/filenamecat.c (file_name_concat): Likewise. - Make it possible for gnulib-tool to work with locally modified or - augmented gnulib repositories. - * gnulib-tool (func_usage): Document --local-dir option. - (local_gnulib_dir): New variable. - Handle --local-dir option. - (func_lookup_file): New function. - (func_all_modules, func_verify_module): Look also in $local_gnulib_dir. - (func_get_description, func_get_filelist, func_get_description, - func_get_filelist, func_get_dependencies, func_get_autoconf_snippet, - func_get_automake_snippet, func_get_include_directive, - func_get_license, func_get_maintainer): Use func_lookup_file. - (func_import, func_create_testdir): Use func_lookup_file. + 2006-03-11 Eric Blake , + Paul Eggert + + * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4. + [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a + drive prefix. + (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on + platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE. + (last_component): New method. + * lib/dirname.c (dir_len): Determine when drive letters need a + subsequent slash. Preserve // when it is special. + (dir_name): Don't append dot when drive letter is absolute. + [TEST_DIRNAME]: Move into a full-blown gnulib test. + * lib/basename.c (base_name): New semantics - malloc the result. + Preserve // when it is special. Preserve relative files that look + like drive letters. + (base_len): Preserve // when it is special. + (last_component): New method, similar to old base_name semantics. + * lib/stripslash.c (strip_trailing_slashes): Use last_component, not + base_name. Strip redundant slashes from ///. -2006-07-29 Bruno Haible +2006-07-03 Jim Meyering - * modules/setenv (Depends-on): Add unistd. + * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this + macro is used before the first cycle_check call. -2006-07-29 Bruno Haible +2006-07-03 Eric Blake - * lib/setenv.c: Undo unintended modification done on 2006-02-27. + * modules/dirname (Depends-on): Add xstrndup. -2006-07-29 Bruno Haible +2006-07-02 Paul Eggert - * lib/localcharset.c: Assume , , exist. + * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for + test cases, so that config.log is a bit easier to follow. -2006-07-29 Bruno Haible +2006-07-02 Paul Eggert - * gnulib-tool (import, update): If there is no Makefile.am, look at - aclocal.m4, instead of bailing out. + * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if + both are 64 bits, since this seems to be the tradition, and this + prevents gcc -Wformat from warning about usages with PRIuMAX. If + we ever run into a host that prefers long long to long in this + case, we'll need another configure-time test. Problem reported by + Jim Meyering. -2006-07-29 Bruno Haible +2006-07-02 Eric Blake - * gnulib-tool (func_usage): Revert most of the 2006-07-15 change. - Categorize the options by when they are useful. + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS. -2006-07-29 Bruno Haible +2006-07-01 Paul Eggert - * gnulib-tool (func_usage): Document option --no-libtool. - Handle option --no-libtool. - (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update - for changed semantics of $libtool variable. - (func_import): Likewise. If libtool is not used, show this through - an option --no-libtool. - (func_create_testdir): Update. + * modules/inttypes (Depends-on): No longer depends on stdint. + * modules/stdint (Description): Say more about assumptions. + Say that the fast types might differ. Say macros are used. + (Files): Remove m4/size_max.m4, m4/wchar_t.m4. Add m4/longlong.m4. + (Makefile.am): Revise list of substituted symbols to match + new stdint.m4. + * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4. + (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T. + * tests/test-stdint.c (verify_same_types) + [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that + the code conforms to C99/C89. + Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T. + Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T. -2006-07-29 Bruno Haible +2006-07-01 Paul Eggert - * gnulib-tool (func_import): Extend error message about missing - --doc-base. + * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60, + but fix a bug, by requiring at least 64 bits. + * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise. + * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call + AC_TYPE_LONG_LONG_INT. This macro is obsolete and will go soon. + * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise. -2006-07-29 Bruno Haible + * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h + changes. Make 2.59 a prerequisite. Check and substitute for + HAVE_LONG_LONG_INT. Rely on Autoconf to check for stdint.h and + inttypes.h. Do not use special include files; just use the + defaults. Check for sys/inttypes.h and sys/bitypes.h in the usual + way now. Remove no-longer-needed tests for HAVE_LONG_64BIT, + HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t, + uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t, + int_least32_t, int_least64_t, uint_least8_t, uint_least16_t, + uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t, + int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t, + uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t, + uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, + UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, + INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, + UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX, + UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX, + UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, + UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX, + INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN, + INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX, + UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, + INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, + SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, + WINT_MAX. Check for C99 conformance more strictly, by detecting + bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9. On the other hand do + not check for things that C99 does not require, e.g., int8_t. If + a test isn't needed unless isn't working, and is + unlikely to be needed for any other reason, then don't do it + unless isn't working. Do not check for ptrdiff_t or + size_t, since we assume C89 freestanding at least. Do not check + for sig_atomic_t, wchar_t, or wint_t, since the code now does + the right thing even if the types are not defined. Instead use: + (gl_STDINT_TYPE_PROPERTIES): New macro. + (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove. Don't bother + testing whether clashes, as Autoconf does this for + us now. All uses removed. + (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND): + (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2): + (gl_CHECK_TYPE_SAME): + Remove; no longer needed. + (gl_STDINT_BITSIZEOF): Don't bother to check whether the type + exists, since we'll return 0 anyway in that case. + (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros. - * gnulib-tool (func_import): Don't create the $docbase directory if - there is no file to store there. +2006-07-01 Paul Eggert -2006-07-29 Bruno Haible + * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid + possible collision with system files. + (, , ) [defined __cplusplus && ! defined + __STDC_CONSTANT_MACROS)]: Do not include, since we don't need + WCHAR_MIN and WCHAR_MAX in this case. + (): Do not include; no longer needed. + (): Include if @HAVE_SYS_TYPES_H@, not if + (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)). + (): Include if @HAVE_SYS_INTTYPES_H@ && + !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__) + && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)). + (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined + __c99]: Define, to work around IRIX incompatibility. + (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ && + !defined(__c99))]: Include in this case too, since it's harmless + now. + () [@HAVE_INTTYPES_H@]: Include, since it's no longer + dangerous to do so. + (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) && + @HAVE_INTTYPES_H@]: Do not include, since we now include . + (_STDINT_MIN, _STDINT_MAX): New macros. + (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t): + (uint64_t, int_least8_t, uint_least8_t, int_least16_t): + (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t): + (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t): + (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t): + (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now + macros, not typedefs; this simplifies things quite a bit. + Use long int for all types narrower than int64_t. + (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C): + Define in terms of long long int or int64_t or long int, + not int64_t or int32_t. This saves some compile-time testing. + (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX): + (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX): + (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX): + (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX): + (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX): + (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN): + (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX): + (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX): + (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN): + (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX): + (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX): + (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX): + undef any previous version and define our own version, for + simplicity and consistency with the new macros for types. + (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX): + (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX): + Simplify definitions by using _STDINT_MIN and _STDINT_MAX + where appropriate. Rely on new symbols @PTRDIFF_T_SUFFIX@, + @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@, + @WINT_T_SUFFIX@ to keep things simple here. + (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C): + Simplify by assuming typical 8/16/32/64 host, since we're + already doing that elsewhere anyway. + Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@, + and assume long long int is 64 bits if available. This + speeds up 'configure'. - * gnulib-tool (autoconf_minversion): If a --dir option is given and - relevant, look for configure.ac there, not in the current directory. - Also use a simple search for AC_PREREQ, not "autoconf --trace". +2006-07-01 Eric Blake -2006-07-29 Bruno Haible + * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM. + Reported by Andreas Buening. - * gnulib-tool (SORT): New variable. - (func_usage): Undocument --assume-autoconf option. - Remove --assume-autoconf option handling. - (autoconf_minversion): Determine from the contents of configure.ac. - (func_import): Remove autoconf_minversion handling. - Suggested by Eric Blake. +2006-07-01 Eric Blake -2006-07-29 Bruno Haible + * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy. - * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option. +2006-06-30 Jim Hyslop (tiny change) -2006-07-29 Bruno Haible + * lib/getaddrinfo.c: fixed typo - * config/srclist.txt (*setenv.[ch]): Remove rules. +2006-06-29 Jim Meyering -2006-07-28 Yoann Vandoorselaere + * modules/strftime (Maintainer): Add my name, since with the + FPRINTFTIME changes strftime.c has forked from glibc. - * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too. +2006-06-29 Eric Blake -2006-07-28 Yoann Vandoorselaere + * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE. - * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before - arpa/inet.h. +2006-06-29 Eric Blake -2006-07-28 Simon Josefsson + * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file. - * modules/inet_ntop (Depends-on): Depend on arpa_inet. - * modules/inet_pton (Depends-on): Likewise. +2006-06-29 Eric Blake -2006-07-28 Simon Josefsson + * lib/stat_.h: New file. - * m4/netinet_in_h.m4: New file. +2006-06-29 Eric Blake -2006-07-28 Simon Josefsson + * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about + unused static function. - * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h - #include's. +2006-06-29 Eric Blake -2006-07-28 Simon Josefsson + * doc/functions.texi (Function Portability): Document missing lstat + on mingw. - * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h - #include's. +2006-06-29 Eric Blake -2006-07-28 Paul Eggert + * MODULES.html.sh: Add sys_stat. + * modules/sys_stat: New module. + * modules/mkstemp (Depends-on): Add sys_stat. - * lib/modechange.c (mode_compile): Numeric modes now affect setuid and - setgid on directories only if they set these bits. - * lib/modechange.h: Remove obsolete comment about masks. +2006-06-29 Derek R. Price -2006-07-28 Eric Blake + * m4/strftime.m4: Don't call AC_FUNC_STRFTIME. - * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89 - macro expansion. +2006-06-29 Derek R. Price -2006-07-28 Bruno Haible + * m4/c-bs-a.m4: Removed. - * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*. +2006-06-29 Derek R. Price -2006-07-28 Bruno Haible + * lib/strftime.c: Assume strftime() exists. - * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl. +2006-06-29 Derek Price -2006-07-28 Bruno Haible + * modules/c-bs-a: Removed - \a is C89. + * MODULES.html.sh: Remove c-bs-a. - * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, - iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit): - Define fallbacks. - Avoids link error on FreeBSD 4.x. - Reported by Yoann Vandoorselaere . +2006-06-29 Bruno Haible + + * modules/wcwidth (License): Change to LGPL. + +2006-06-28 Simon Josefsson + + * tests/test-getaddrinfo.c: Test getnameinfo too. Call WSAStartup + on _WIN32. - * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character - encoding. - * lib/mbswidth.c (iswcntrl): Likewise. + * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by + getnameinfo. -2006-07-27 Bruno Haible +2006-06-28 Simon Josefsson - * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the - test. + * m4/getaddrinfo.m4: Look for getnameinfo prototypes too. -2006-07-27 Bruno Haible +2006-06-28 Simon Josefsson - * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if - __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is - defined. + * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the + functions there. It will succeed on Windows XP, but on Windows + 2000 and (presumably) earlier, it will fail, and use the internal + re-implementation. + (use_win32_p): New function. + (getaddrinfo): Use strtoul on servname, to support numeric ports. + Support AI_NUMERICSERV to disable getservbyname. + (getnameinfo): New function, only supports + NI_NUMERICHOST|NI_NUMERICSERV for now. -2006-07-26 Eric Blake + * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW + only have some of them. Add AI_NUMERICSERV. Add prototype for + getnameinfo. - * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe. +2006-06-28 Eric Blake -2006-07-26 Eric Blake + * modules/wcwidth: New file. + * modules/mbchar (Depends-on): Add wcwidth. + * modules/mbswidth (Depends-on): Add wcwidth. + * MODULES.html.sh: Add wcwidth. - * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms - like mingw that lack mkstemp. - * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to - avoid compilation warning on mingw. +2006-06-28 Eric Blake -2006-07-26 Bruno Haible + * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here... + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file. - * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros - INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX, - INT_FAST*_MIN, INTPTR_MIN. +2006-06-28 Eric Blake -2006-07-25 Bruno Haible + * lib/xvasprintf.h: Fix comments. - * modules/version-etc (Depends-on): Add stdarg. +2006-06-28 Eric Blake -2006-07-25 Bruno Haible + * lib/mbchar.h (wcwidth): Include wcwidth.h. + * lib/mbswidth.c (wcwidth): Move from here... + * lib/wcwidth.h: ...to this new file. - * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of - complex commands. +2006-06-28 Derek R. Price -2006-07-25 Bruno Haible + * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement. - * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be - defined in or config.h. + * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since + it's obsolete. + * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise. -2006-07-24 Paul Eggert +2006-06-28 Derek R. Price - * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros. - (gl_STDIO_SAFER): Remove. + * lib/savedir.c (CLOSEDIR): Remove. All uses changed to closedir. + Autoconf 2.60 says this stuff was obsolete. -2006-07-24 Paul Eggert +2006-06-28 Bruno Haible - * MODULES.html.sh (File stream based Input/Output): - Add fopen-safer, tmpfile-safer; remove stdio-safer. - * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer. - * modules/fopen-safer, modules/tmpfile-safer: New files. - * modules/stdio-safer: Remove. + * modules/wcwidth (Files): Add m4/wchar_t.m4. -2006-07-24 Bruno Haible +2006-06-28 Bruno Haible - * modules/tmpdir: New file. - * MODULES.html.sh (File system functions): Add it. + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and + gt_TYPE_WCHAR_T. -2006-07-24 Bruno Haible +2006-06-28 Bruno Haible - * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io, - getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr. + * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback + declaration for wcwidth. + * lib/mbswidth.c: Restore the includes of and . -2006-07-24 Bruno Haible +2006-06-28 Bruno Haible - * modules/clean-temp: New file. + * lib/mkdtemp.c [MINGW]: Include . + (mkdir): Define using _mkdir. -2006-07-24 Bruno Haible +2006-06-28 Bruno Haible - * m4/tmpdir.m4: New file, from GNU gettext. + * lib/getaddrinfo.h: Fix POSIX URL. + * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of + _WIN32. + (use_win32_p): Make static. + (getaddrinfo): Reject service name if it is empty or does not consist + solely of decimal digits, or if its value is > 65535. + (getnameinfo): Remove useless casts. -2006-07-24 Bruno Haible +2006-06-27 Simon Josefsson - * lib/tmpdir.h: New file, from GNU gettext. - * lib/tmpdir.c: New file, from GNU gettext. + * modules/sys_select: New file, suggested by Bruno Haible, Paul + Eggert and Martin Lambers. -2006-07-24 Bruno Haible +2006-06-27 Simon Josefsson - * lib/clean-temp.h: New file, from GNU gettext. - * lib/clean-temp.c: New file, from GNU gettext. + * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul + Eggert and Martin Lambers. -2006-07-23 Eric Blake +2006-06-27 Bruno Haible - * modules/stdio-safer (Files): Add tmpfile-safer.c. - (Depends-on): Add binary-io. + * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the + result to 0, not to empty. + Reported by Martin Neitzel . -2006-07-23 Eric Blake +2006-06-27 Bruno Haible - * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c. + * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef. -2006-07-23 Eric Blake +2006-06-26 Simon Josefsson - * lib/tmpfile-safer.c: New file. - * lib/stdio-safer.h (fopen_safer): Add prototype. - * lib/stdio--.h (tmpfile): Make safer. + * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is + present. -2006-07-23 Bruno Haible +2006-06-26 Paul Eggert - * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro. - (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before, - gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node, - gl_linked_remove_at): Use it. + * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid + bug in IBM C V6 for AIX. Problem reported by Larry Jones in + . -2006-07-22 Yoann Vandoorselaere - and Simon Josefsson +2006-06-26 Mark D. Baushke - * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined. + * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD. - * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE. +2006-06-26 Bruno Haible -2006-07-22 Paul Eggert + * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H. - * modules/close-stream: New file. - * modules/closeout (Description): Make it clear that it exits - with a diagnostic on error. - (Depends-on): Add close-stream. Remove fpending, stdbool. - * MODULES.html.sh (File stream based Input/Output): Add close-stream. +2006-06-26 Bruno Haible -2006-07-22 Paul Eggert + * m4/stdint.m4 (gl_STDINT_H): Test also for . - * m4/close-stream.m4: New file. +2006-06-26 Bruno Haible -2006-07-22 Paul Eggert + * m4/stdint.m4 (gl_STDINT_H): Don't include when using the + SGI C compiler in pre-C99 mode. + Suggested by Mark D. Baushke and Larry Jones. - * lib/close-stream.c, lib/close-stream.h: New files. +2006-06-26 Bruno Haible -2006-07-22 Bruno Haible + * lib/stdint_.h: Include if necessary for WCHAR_MIN or + WCHAR_MAX. + Reported by Mark D. Baushke and Larry Jones. - Merge from GNU gettext 0.15. +2006-06-26 Bruno Haible - 2006-05-01 Bruno Haible + * lib/stdint_.h: Don't include when using the SGI C compiler + in pre-C99 mode. + Suggested by Mark D. Baushke and Larry Jones. - * build-aux/javacomp.sh.in: Update for changed javacomp.m4. +2006-06-23 Simon Josefsson + Bruno Haible - 2006-07-22 Bruno Haible + * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS. + Emit mostlyclean-local rule. + (func_emit_tests_Makefile_am): Likewise. + * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS. - * modules/javaversion: New file. - * MODULES.html.sh (Java): Add javaversion. +2006-06-23 Mark D. Baushke - 2006-03-12 Bruno Haible + * lib/stdint_.h: Treat BSD/OS like OpenBSD. - * build-aux/javaexec.sh.in: Update for changed javaexec.m4. +2006-06-23 Bruno Haible - 2005-12-04 Bruno Haible + * tests/test-stdint.c: Update to match ISO C 99 Technical + Corrigendum 1. - * build-aux/csharpexec.sh.in: Add support for 'clix' launcher - (untested). +2006-06-23 Bruno Haible - 2006-06-21 Bruno Haible + * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD. - Avoid warnings from recent versions of mcs. - * build-aux/csharpcomp.sh.in (options_mcs): Don't use options - -o, -L, -r any more. Use options documented since mcs-1.0 - instead. Similarly for -g. +2006-06-23 Bruno Haible - 2005-12-04 Bruno Haible + * lib/stdint_.h: Treat IRIX like OpenBSD. - * build-aux/csharpcomp.sh.in: Suffix for resources is - .resources, not .resource. +2006-06-23 Bruno Haible - 2005-07-09 Bruno Haible + * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to + ISO C 99 Technical Corrigendum 1. - * build-aux/csharpcomp.sh.in (options_csc): For -l option, - add a .dll suffix. - Reported by Mark Junker . +2006-06-22 Simon Josefsson - 2006-07-22 Bruno Haible + * m4/sockpfaf.m4: Include winsock2.h too, to make it work under + MinGW. - * modules/gettext: Upgrade to gettext-0.15. - (Files): Remove m4/isc-posix.m4. Add m4/lock.m4, - m4/visibility.m4. - Replace m4/inttypes.m4 with m4/inttypes-h.m4. +2006-06-22 Paul Eggert -2006-07-22 Bruno Haible + * lib/glob.c (collated_compare): Remove 'const' uses that weren't + needed. Some compiler complained about some of them. Problem reported + by Larry Jones in + . - Merge from GNU gettext 0.15. +2006-06-21 Simon Josefsson - 2006-03-25 Bruno Haible + * tests/test-getaddrinfo.c: New file. - * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro. + * modules/getaddrinfo-tests: New file. - 2006-07-21 Bruno Haible + * MODULES.html.sh: Add inet_pton. - * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to - "1.1". + * modules/inet_pton: New file. - 2006-05-09 Bruno Haible +2006-06-21 Simon Josefsson - * javacomp.m4 (gt_JAVACOMP): On Cygwin, set - CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR - for the conftestver execution. + * m4/getaddrinfo.m4: Don't define WINVER. Look for gethostbyname in + -lws2_32 too. Fixes getaddrinfo on Windows 2000, with the price + of using the (limited) gnulib implementation on Windows XP. + + * m4/inet_pton.m4: New file. - 2006-05-01 Bruno Haible +2006-06-21 Simon Josefsson - * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an - optional target-version argument. Verify that the compiler - groks source of the specified source-version, or add -source - option as necessary. Verify that the compiler produces - bytecode in the specified target-version, or add -target and - -source options as necessary. Make the result of the test - available as variable CONF_JAVAC. Also log error output in - config.log. + * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return + variable. - 2006-03-11 Bruno Haible + * lib/socket_.h: Don't define WINVER. - * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x. + * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but + slightly modified to work in gnulib. - 2006-05-09 Bruno Haible +2006-06-21 Simon Josefsson - * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set - CLASSPATH_SEPARATOR to a semicolon. + * doc/gnulib.texi (Windows sockets): Add. - 2006-03-12 Bruno Haible +2006-06-21 Paul Eggert - * javaexec.m4 (gt_JAVAEXEC): Make the result of the test - available as variable CONF_JAVA, for subsequent autoconf - tests. Also log error output in config.log. + * lib/read-file.c (fread_file): Start with buffer allocation of + 0 bytes rather than 1 byte; this simplifies the code. + Don't invoke feof; it's not needed. Refactor to avoid duplicate + code to free buffer and save/restore errno. + (internal_read_file): Remove unused local. - 2006-07-19 Bruno Haible +2006-06-20 Paul Eggert - * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume - that getline works on glibc2 systems. Needed to avoid trouble - in relocatable.c. - Reported by Nils Magnus Larsgard . + * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210 + . + Problem reported by Denis Excoffier in + . - 2005-12-04 Bruno Haible +2006-06-19 Yoann Vandoorselaere - * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix' - launcher (untested). + * modules/sys_socket, modules/socklen: Include sys/types since + FreeBSD 4.x's sys/socket.h needs it. - 2005-12-04 Bruno Haible +2006-06-19 Simon Josefsson - * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS. + * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it. - 2006-07-22 Bruno Haible +2006-06-19 Paul Eggert - * gettext.m4: Update from GNU gettext-0.15. - * nls.m4: Likewise. - * po.m4: Likewise. - * inttypes-pri.m4: Likewise. - * inttypes-h.m4: Renamed from inttypes.m4. - (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H. + * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare. -2006-07-22 Bruno Haible +2006-06-19 Bruno Haible - Merge from GNU gettext 0.15. + * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H + and FULL_PATH_INTTYPES_H in angle brackets. + Reported by Mark D. Baushke . - 2005-07-05 Bruno Haible +2006-06-17 Eric Blake - * printf-args.c (printf_fetchargs): Work around broken - definition of wint_t on mingw. + * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares + errno. - 2005-02-12 Bruno Haible +2006-06-17 Bruno Haible - * xallocsa.h: Add extern "C" for C++. + * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include + . - 2006-05-17 Bruno Haible +2006-06-17 Bruno Haible - Cygwin portability. - * progreloc.c (WIN32_NATIVE): Renamed from WIN32. + * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test + whether errno is declared. Assume declares errno. - 2006-04-30 Bruno Haible +2006-06-17 Bruno Haible - * progreloc.c: Include if available. - (find_executable): Use _NSGetExecutablePath when possible. + * lib/stdint_.h [FreeBSD >= 5]: Don't include . - 2006-05-06 Charles Wilson +2006-06-17 Bruno Haible - * progreloc.c (maybe_executable) [CYGWIN]: Use the access() - function. + * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a + problem on Solaris 2.5.1. - 2005-12-29 Bruno Haible +2006-06-16 Eric Blake - * progreloc.c (set_program_name_and_installdir): Fix - compilation error. + * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno. + * lib/unicodeio.c [!defined errno]: Likewise. + * lib/strtol.c [!defined errno]: Likewise. + * lib/strtod.c [!defined errno]: Likewise. - 2005-12-04 Bruno Haible +2006-06-15 Eric Blake - Cygwin portability. - * progreloc.c: Include also on Cygwin. - (find_executable): Add support for Cygwin. - (set_program_name_and_installdir): Handle also platforms with - nonempty EXEEXT. + * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror. - 2006-07-11 Bruno Haible +2006-06-15 Eric Blake - * javacomp.c: Fix a comment. - Reported by Jim Meyering. + * config/srclist.txt (ssize_t.m4): Lose sync. - 2006-04-30 Bruno Haible +2006-06-15 Bruno Haible - * javacomp.h (compile_java_class): Add source_version, - target_version arguments. - * javacomp.c: Rewritten to choose only a compiler that - respects the specified source_version and target_version. + * modules/stdint (Files): Include m4/full-header-path.m4, + m4/size_max.m4, m4/wchar_t.m4. + (Makefile.am): Many more substitutions. + * modules/stdint-tests: New file. + * tests/test-stdint.c: New file. - 2006-06-27 Bruno Haible +2006-06-15 Bruno Haible - Assume correct S_ISDIR macro. - * mkdtemp.c: Remove test of STAT_MACROS_BROKEN. + * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h. + (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES, + gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS, + gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED, + gl_CHECK_TYPE_SAME): New macros. - 2006-07-22 Bruno Haible +2006-06-15 Bruno Haible - * javaversion.h: New file, from GNU gettext. - * javaversion.c: New file, from GNU gettext. - * javaversion.java: New file, from GNU gettext. - * javaversion.class: New file, from GNU gettext. + * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling. - 2006-05-17 Bruno Haible +2006-06-15 Bruno Haible - Cygwin portability. - * javaexec.c (execute_java_class): Test for jview program - also on Cygwin. + * lib/stdint_.h: Rewritten to be fully auto-configured. + Fixes bug on HP-UX/IA64. - 2006-04-09 Bruno Haible +2006-06-11 Paul Eggert - * fatal-signal.c: Don't include string.h. - (at_fatal_signal): Use a copying loop instead of memcpy. + * lib/getdate.y (__attribute__): Don't define if already defined. + Problem reported by Larry Jones. + * lib/utimens.c (__attribute__): Likewise. - 2005-12-04 Bruno Haible +2006-06-04 Paul Eggert - * csharpexec.c: Add support for 'clix' launcher (untested). - (execute_csharp_using_sscli): New function. - (execute_csharp_program): Call it. + * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun + reported by Andreas Schwab. - 2006-06-21 Bruno Haible +2006-05-30 Ralf Wildenhues + Bruno Haible - Avoid warnings from recent versions of mcs. - * csharpcomp.c (compile_csharp_using_mono): Don't use options - -o, -L, -r any more. Use options documented since mcs-1.0 - instead. Similarly for -g. + * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a + check for the declaration of strnlen and a run test that exposes the + AIX 5.1 strnlen bug. In the failure case, #define strndup to + rpl_strndup. - 2005-07-09 Bruno Haible +2006-05-30 Ralf Wildenhues + Bruno Haible - * csharpcomp.c (compile_csharp_using_sscli): For -l option, - add a .dll suffix. - Reported by Mark Junker . + * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition. - 2006-06-17 Bruno Haible +2006-05-28 Ralf Wildenhues - * config.charset: Update for NetBSD 3.0. + * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a + compile test, for Tru64 4.0D. - 2006-05-17 Bruno Haible +2006-05-28 Karl Berry - Cygwin portability. - * localcharset.c (WIN32_NATIVE): Renamed from WIN32. + * config/srclist.txt (printf-args.c): lose sync. - 2006-05-16 Bruno Haible +2006-05-26 Martin Lambers - * localcharset.c [CYGWIN]: Include . - (get_charset_aliases): For Cygwin, return the same CPxxx - aliases list as under WIN32. - (locale_charset) [CYGWIN]: Try to retrieve the encoding from - the environment variables. Fall back to GetACP(). + * lib/getpass.c: Updates the test for the native W32 API, and adds + missing includes, thus fixing compilation warnings. - 2006-04-05 Bruno Haible +2006-05-25 Sergey Poznyakoff - * config.charset: Update Juan Manuel Guerrero's address. + * lib/exclude.c (exclude_fnmatch): New function. + (excluded_file_name): Call exclude_fnmatch. + * lib/exclude.h (excluded_file_name): New prototype - 2005-02-12 Bruno Haible +2006-05-25 Paul Eggert - * allocsa.h: Add extern "C" for C++. + * lib/tempname.c (small_open, large_open): New macros. + (__open, __open64) [!_LIBC]: Remove. + (__gen_tempname): Use small_open and large_open instead of __open + and __open64. This fixes a portability bug on HP-UX 11.11i + reported by Simon Wing-Tang in + . - 2005-02-10 Bruno Haible +2006-05-24 Bruno Haible - * allocsa.h (sa_alignof): Define differently with AIX xlc, to - avoid a bug of this compiler on AIX 3.2.5 dealing with enums. + * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for + TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement. + Reported by Thorsten Maerz via + Aaron Stone . - 2006-07-22 Bruno Haible +2006-05-19 Paul Eggert - * gettext.h: Update to GNU gettext-0.15. + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use + gl_ rather than jm_. Link, don't run, so that cross-compiles are + allowed. Check that resulting type is arithmetic. Move AC_REQUIRE + and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're + not really conditional on the cache. + (gl_PREREQ_NANOSLEEP): Check for sys/select.h. -2006-07-22 Bruno Haible +2006-05-19 Paul Eggert - * config/srclist.txt: Resync printf-args.c, vasnprintf.c, - localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4, - lib-prefix.m4, longdouble.m4, ssize_t.m4. + * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include . + Use the usual Autoconf way to include and/or sys/time.h. + (my_usleep): Don't mishandle maximum value. -2006-07-21 Eric Blake +2006-05-19 Jim Meyering - * modules/stdlib-safer: New file. - * MODULES.html.sh (File stream based Input/Output): Add - stdlib-safer. + * lib/getugroups.c: Correct an outdated comment. From Bruno Haible. -2006-07-21 Eric Blake +2006-05-17 Bruno Haible - * lib/stdlib-safer.h: New file from coreutils, required by - stdlib--.h. + Cygwin portability. + * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'. -2006-07-20 Paul Eggert +2006-05-17 Bruno Haible - * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'. + * lib/stdint_.h: Fix recognition of Cygwin. -2006-07-20 Bruno Haible +2006-05-15 Bruno Haible - * gnulib-tool: Recognize new option --assume-autoconf. - (autoconf_minversion): New variable. - (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4. + * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based + on libtool patch by Ralf Wildenhues. -2006-07-20 Bruno Haible +2006-05-14 Paul Eggert - * MODULES.html.sh (func_all_modules): Add a missing func_begin_table. + * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky + test for C99 conformance; (bool) 0.5 is an integer constant + expression, but (bool) -0.5 is not. Problem reported by Fedor + Sergeev in . -2006-07-19 Derek R. Price +2006-05-11 Simon Josefsson - * lib/getaddrinfo.h: Don't define unimplemented AI_* flags. - Reindent and repaginate. + * m4/xvasprintf.m4: Fix obvious typo. -2006-07-19 Derek Price +2006-05-11 Jim Meyering - * doc/gnulib.texi (Libtool and Windows): Eliminate passive voice. - Correct grammar. + * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/. From + James Lemley. -2006-07-17 Bruno Haible +2006-05-10 Simon Josefsson - * modules/list: New file. - * modules/array-list: New file. - * modules/carray-list, modules/carray-list-tests: New files. - * modules/linked-list, modules/linked-list-tests: New files. - * modules/avltree-list, modules/avltree-list-tests: New files. - * modules/rbtree-list, modules/rbtree-list-tests: New files. - * modules/linkedhash-list, modules/linkedhash-list-tests: New files. - * modules/avltreehash-list, modules/avltreehash-list-tests: New files. - * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files. - * modules/oset: New file. - * modules/array-oset: New file. - * modules/avltree-oset, modules/avltree-oset-tests: New files. - * modules/rbtree-oset, modules/rbtree-oset-tests: New files. - * tests/test-carray_list.c: New file. - * tests/test-linked_list.c: New file. - * tests/test-avltree_list.c: New file. - * tests/test-rbtree_list.c: New file. - * tests/test-linkedhash_list.c: New file. - * tests/test-avltreehash_list.c: New file. - * tests/test-rbtreehash_list.c: New file. - * tests/test-avltree_oset.c: New file. - * tests/test-rbtree_oset.c: New file. - * MODULES.html.sh (Container data structures): New section. + * lib/md4.c: Typo fix, update copyright years. + (K1, K2): Don't use L because it turn computations into 64-bit on + 64-bit platforms. -2006-07-17 Bruno Haible +2006-05-10 Paul Eggert - * m4/gl_list.m4: New file. + * lib/crc.c (crc32_update): Remove unnecessary L suffix. + * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent + unwanted sign propagation, e.g., on hosts with 64-bit int. + There still are some problems with reeelly weird theoretical hosts + (e.g., 33-bit int) but it's not worth worrying about now. + * lib/sha1.c (rol): Likewise. + (K1, K2, K3, K4): Remove unnecessary L suffix. -2006-07-17 Bruno Haible +2006-05-10 Bruno Haible - * lib/gl_list.h: New file. - * lib/gl_list.c: New file. - * lib/gl_array_list.h: New file. - * lib/gl_array_list.c: New file. - * lib/gl_carray_list.h: New file. - * lib/gl_carray_list.c: New file. - * lib/gl_linked_list.h: New file. - * lib/gl_linked_list.c: New file. - * lib/gl_anylinked_list1.h: New file. - * lib/gl_anylinked_list2.h: New file. - * lib/gl_avltree_list.h: New file. - * lib/gl_avltree_list.c: New file. - * lib/gl_anyavltree_list1.h: New file. - * lib/gl_anyavltree_list2.h: New file. - * lib/gl_rbtree_list.h: New file. - * lib/gl_rbtree_list.c: New file. - * lib/gl_anyrbtree_list1.h: New file. - * lib/gl_anyrbtree_list2.h: New file. - * lib/gl_anytree_list1.h: New file. - * lib/gl_anytree_list2.h: New file. - * lib/gl_linkedhash_list.h: New file. - * lib/gl_linkedhash_list.c: New file. - * lib/gl_anyhash_list1.h: New file. - * lib/gl_anyhash_list2.h: New file. - * lib/gl_avltreehash_list.h: New file. - * lib/gl_avltreehash_list.c: New file. - * lib/gl_rbtreehash_list.h: New file. - * lib/gl_rbtreehash_list.c: New file. - * lib/gl_anytreehash_list1.h: New file. - * lib/gl_anytreehash_list2.h: New file. + * lib/des.c: Cast to avoid warnings. - * lib/gl_oset.h: New file. - * lib/gl_oset.c: New file. - * lib/gl_array_oset.h: New file. - * lib/gl_array_oset.c: New file. - * lib/gl_avltree_oset.h: New file. - * lib/gl_avltree_oset.c: New file. - * lib/gl_rbtree_oset.h: New file. - * lib/gl_rbtree_oset.c: New file. - * lib/gl_anytree_oset.h: New file. +2006-05-09 Bruno Haible -2006-07-16 Paul Eggert + * modules/xvasprintf (Files): Add m4/xvasprintf.m4. + (Depends-on): Depend also on xsize, stdarg. + (configure.ac): Add gl_XVASPRINTF. - * m4/mkancesdirs.m4: New file. - * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c, - dirchownmod.h. Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER; - no longer needed. Require gl_FUNC_LCHOWN, since dirchownmod.c needs - it. +2006-05-09 Bruno Haible -2006-07-16 Paul Eggert + * m4/xvasprintf.m4: New file. - * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c: - * lib/mkancesdirs.h: New files. - * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h, - unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h, - save-cwd.h. Instead, include dirchownmod.h and mkancesdirs.h. - (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE, - MODE_BITS. Remove options VERBOSE_FMT_STRING, CWD_ERRNO. All - callers changed. Revamp internals significantly, by not - attempting to create directories that are temporarily more - permissive than the final results. Do not attempt to use - save_cwd/restore_cwd; it isn't worth it for mkdir and install. - This removes some race conditions, fixes some bugs, and simplifies - things. Use new dirchownmod function to do owner and mode changes. - * lib/mkdir-p.h: Likewise. - * lib/modechange.c (octal_to_mode): New function. - (struct mode_change): New member mentioned. - (make_node_op_equals): New arg mentioned. All callers changed. - (mode_compile): Keep track of which mode bits the user has explicitly - mentioned. - (mode_adjust): New arg DIR, so that we implement the X op correctly. - New arg PMODE_BITS, to keep track of which mode bits the user - mentioned; it treats S_ISUID and S_ISGID speciall. - All callers changed. - * lib/modechange.h: Likewise. +2006-05-09 Bruno Haible -2006-07-16 Paul Eggert + * lib/xvasprintf.c: Include limits.h, string.h, xsize.h. + (EOVERFLOW): Define fallback value. + (xstrcat): New function. + (xvasprintf): Recognize the special case of a string concatenation. - * MODULES.html.sh: Add mkancestors. - * modules/mkancesdirs: New module. - * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h, - lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4. - The chdir-safer and afs files are now orphans; I'll remove them - unless someone speaks up. - Add lib/dirchownmod.c, lib/dirchownmod.h. - (Depends-on): Remove alloca, chown, save-cwd, dirname. - Add lchown, mkancesdirs. - (Maintainer): Add self. +2006-05-08 Eric Blake -2006-07-15 Karl Berry + * gnulib-tool (func_version): Base copyright year on CVS date. + (func_emit_copyright_notice): New function. + (func_emit_lib_Makefile_am): Use it. + (func_emit_tests_Makefile_am): Likewise. + (func_import): Likewise. - * gnulib-tool: help message wording/arrangement. +2006-05-08 Bruno Haible -2006-07-14 Simon Josefsson + * modules/stdarg: New file. + * MODULES.html.sh (func_all_modules): Add section for . - * doc/gnulib.texi (Libtool and Windows): New section. +2006-05-08 Bruno Haible -2006-07-12 Simon Josefsson + * m4/stdarg.m4: New file, from GNU gettext. - * modules/gendocs (License): Fix license, approved by Karl. +2006-05-08 Bruno Haible -2006-07-12 Eric Blake + * config/srclist.txt (build-aux/config.rpath): different from latest + release. - * MODULES.html.sh: Add gendocs. +2006-05-08 Bruno Haible -2006-07-11 Eric Blake + * build-aux/config.rpath: Add support for Sun C 5.9 on Linux. - * modules/fdl: New module, to install doc/fdl.texi. - * MODULES.html.sh: Add new section for documentation modules. - * gnulib-tool: Avoid space-tab. - (--doc-base): New option, to manage files from doc. +2006-05-05 Jim Meyering -2006-07-11 Eric Blake + * m4/warning.m4: New file, derived from bison's file by the same name. - * m4/absolute-header.m4: Fix comments to match recent change. +2006-05-03 Bruno Haible -2006-07-11 Eric Blake + * lib/stdint_.h: Shorter URL. + * lib/inttypes.h: Likewise. - * gnulib-tool: List --doc-base before --tests-base. +2006-05-02 Paul Eggert -2006-07-11 Derek R. Price + * modules/inttypes (Maintainer): Change from Derek Price to 'all'. - * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/. +2006-05-02 Paul Eggert -2006-07-11 Bruno Haible + * lib/verify.h: Document the internals better. Most of this change + was written by Bruno Haible. - * README: Mention where to put documentation. +2006-05-02 Paul Eggert -2006-07-10 Ralf Wildenhues + * doc/verify.texi: New file, partly based on a proposal by + Bruno Haible. - * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos. +2006-05-02 Bruno Haible -2006-07-10 Paul Eggert + * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next + test from here... + * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here. - * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change - to stdint.m4. +2006-04-29 Bruno Haible -2006-07-10 Paul Eggert + * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd. + Suggested by Oskar Liljeblad . - * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to - absolute-header.m4. Also, set ABSOLUTE_STDINT_H to a string - "no/such/file/stdint.h" when there is no such file, so that - the resulting C code can be parsed by dodgy compilers. - Problems reported by Bob Proulx. +2006-04-29 Bruno Haible -2006-07-10 Derek R. Price + * gnulib-tool: Make --update option actually work. - * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h: - Ignore the obsolescent !HAVE_DIRENT_H case. Consolidate NAMLEN - macros into the GNU _D_EXACT_NAMLEN. - * lib/savedir.c: Likewise. - (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen. +2006-04-29 Bruno Haible -2006-07-10 Derek R. Price - and Paul Eggert + * doc/gcd.texi: New file. + * doc/gnulib.texi: Include it. - * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4: - * m4/savedir.m4: - Ignore the obsolescent !HAVE_DIRENT_H case. Consolidate NAMLEN - macros into the GNU _D_EXACT_NAMLEN. +2006-04-25 Paul Eggert -2006-07-09 Paul Eggert + * lib/getdate.y (get_date): When adding relative date, start with the + initial time, not with the result of the first mktime call. - * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <> - around the absolute name, to work around a problem with the HP-UX - 11.23 native C compiler, reported by Bob Proulx. +2006-04-25 Bruno Haible -2006-07-09 Paul Eggert + * gnulib-tool (func_import): Output the include directives in three + blocks, sorted separately. + Reported by Ben Pfaff . - * doc/maintain.texi, make-stds.texi: Sync from - . +2006-04-24 Paul Eggert -2006-07-09 Paul Eggert + * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype + to define main with arguments, for C++. Reported by Eric Blake. + * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): + Prefer 'int main ()' to 'int main (void)', for C++. + * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise. + * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type + for 'main', for C99 and C++. - * build-aux/depcomp, build-aux/install-sh: Sync from Automake. +2006-04-24 Paul Eggert -2006-07-09 Jim Meyering + * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit. + Don't assume that exit status -1 is valid. + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise. + * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise. + * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise. + * m4/readdir.m4 (GL_FUNC_READDIR): Include . + * m4/rename.m4 (vb_FUNC_RENAME): Likewise. + * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE, + not AC_TRY_RUN. Use return, not exit. Don't assume that + functions can be used without declaring them, or that you can + exit with status -1. + * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise. - * m4/glob.m4: Remove a doubled word in a comment. +2006-04-24 Karl Berry -2006-07-09 Jim Meyering + * config/srclist.txt (longdouble.m4): sync lost. - * lib/argp-pv.c: Remove a doubled word in a comment. - * lib/check-version.c (check_version): Likewise. - * lib/javacomp.c (compile_java_class): Likewise. +2006-04-24 Eric Blake -2006-07-08 Paul Eggert + * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning. - * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4, - for the benefit of people using Autoconf 2.60. If you want to - support older Autoconf versions you can copy m4/onceonly_2_57.m4 - (or m4/onceonly.m4, if pre-2.57) manually. +2006-04-24 Bruno Haible -2006-07-08 Jim Meyering + * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the + poll() implementation in AIX. + Reported by Ralf Wildenhues . - * m4/link-follow.m4: Remove one of two adjacent "whether"s in a - comment. - * m4/getopt.m4: Remove one of two adjacent "your"s in a comment. - * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a - comment. +2006-04-24 Bruno Haible -2006-07-08 Jim Meyering + * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets + assigned exactly once. - * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment. +2006-04-23 Claudio Fontana + Bruno Haible -2006-07-07 Simon Josefsson + * modules/gettext (Makefile.am): Add a -I flag for . + * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value + for AM_CPPFLAGS. - * tests/test-crc.c: Change expected crc value, the test vector - were probably computed using the old broken crc.c? +2006-04-23 Bruno Haible -2006-07-06 Simon Josefsson + * modules/copy-file: Depend on unistd. + * modules/execute: Likewise. + * modules/fatal-signal: Likewise. + * modules/findprog: Likewise. + * modules/mkdtemp : Likewise. + * modules/pipe: Likewise. + * modules/wait-process: Likewise. - * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is - now the canonical place for the M4 file). +2006-04-23 Bruno Haible - * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it - from the sys_socket dependency now. + * lib/fwriteerror.c (fwriteerror): Call fclose also when an error + condition was already detected. + Reported by Ben Pfaff . - * modules/inet_pton (Files): Ditto. +2006-04-23 Bruno Haible - * modules/inet_ntop (Files): Ditto. + * lib/copy-file.c: Include unconditionally. + * lib/execute.c: Likewise. + * lib/fatal-signal.c: Likewise. + * lib/findprog.c: Likewise. + * lib/mkdtemp.c: Likewise. + * lib/pipe.h: Likewise. + * lib/pipe.c: Likewise. + * lib/wait-process.h: Likewise. -2006-07-06 Ralf Wildenhues (tiny change) +2006-04-23 Bruno Haible - * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL, - not gl_PREREQ_GETUSERSHELL. + * gnulib-tool (func_usage): Fix --import description. Document + --update. + (func_import): Create temporary file in a temporary directory, if + --dry-run is specified. Silence errors from 'grep' when there are no + m4 files in $m4dir. + (func_create_testdir): Silence errors from 'grep' when there are no + m4 files in $m4dir. + Reported by Karl Berry . -2006-07-06 Ralf Wildenhues +2006-04-20 Bruno Haible - * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE - with only one argument, for Autoconf 2.60. - * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may - expand to nothing, so add a shell command to avoid syntax error. + * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than + one argument, so that the code will be portable to Autoconf 2.60. + * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise. * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise. + * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise. -2006-07-06 Ralf Wildenhues +2006-04-19 Derek Price + Eric Blake - * lib/strtod.c (strtod): cast the argument of tolower to unsigned char. + * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use + rather than "/full/path.h". Update comment to match. Shorten & + generalize m4_translit call via AS_TR_CPP. -2006-07-06 Paul Eggert +2006-04-19 Derek Price + Eric Blake - * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl; - no longer needed. Check for isblank decl. - * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl. - * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead - of existence. + * lib/inttypes.h: Correct grammar in comment. -2006-07-06 Paul Eggert +2006-04-18 Derek Price + Paul Eggert - * lib/getloadavg.c: Use __VMS, not VMS. - * lib/getopt.c: Likewise. - * lib/getpagesize.h: Likewise. - * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while - and probably does not work. + * modules/inttypes: New file. + * modules/strtoimax, modules/strtoumax: Depend on inttypes. -2006-07-06 Paul Eggert +2006-04-18 Derek Price + Paul Eggert - * lib/.cppi-disable: Add wcwidth. - * lib/fnmatch.c (ISBLANK): Remove. All uses changed to isblank. - (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro. - (ISGRAPH): Remove. All uses changed to isgraph. - (FOLD) [!defined _LIBC]: Remove special case. - * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower. - * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not - HAVE_ISBLANK. - * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special - case. + * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4: + New files. -2006-07-06 Jim Hyslop (tiny change) +2006-04-18 Derek Price + Paul Eggert - * lib/getaddrinfo.c: Changes to compile under MSVC6: changed - '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside - brackets. Other minor changes to suppress some compiler - warnings. + * lib/inttypes.h: New file. + * lib/strtoimax.c: Assume . -2006-07-06 Derek R. Price - and Paul Eggert +2006-04-15 Paul Eggert - * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead - of invoking obsolescent AC_HEADER_DIRENT macro. - * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise. - * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise. - * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise. - * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise. - * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise. - * m4/glob.m4 (gl_PREREQ_GLOB): Likewise. - * m4/savedir.m4 (gl_SAVEDIR): Likewise. - * m4/readdir.m4: Remove; no longer needed. + * lib/utimens.c (futimens): glibc futimesat messes up if /proc + isn't mounted. Problem reported by Kir Kolyshkin. -2006-07-06 Derek R. Price - and Paul Eggert +2006-04-13 Paul Eggert - * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]: - Don't worry about this obsolete case any more. - (HAVE_DIR): Remove. All uses removed; we now assume you can read - directories. - * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't - worry about this obsolete case any more. - * lib/fts.c: Likewise. - * lib/getcwd.c: Likewise. - * lib/glob.h: Likewise. - * lib/savedir.c: Likewise. + * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if + RE_ENABLE_I18N is not defined. Problem reported by Mark D. Baushke via + Derek R. Price. + * lib/regex.h (RE_DUP_MAX): Update comment to match current + implementation. -2006-07-05 Paul Eggert +2006-04-12 Eric Blake - * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE - rather than AC_CHECK_DECLS for strtoimax and strtoumax. - * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer - needed. - All uses removed. - * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise. - * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise. - * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer - needed. - * m4/getdate.m4 (gl_GETDATE): Likewise. - * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise. - * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise. - * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise. - * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise. - * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise. - * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise. - * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer - needed. + * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this + is now done automatically by the corresponding Autoconf macro. -2006-07-05 Paul Eggert +2006-04-11 Paul Eggert - * lib/memcasecmp.c: Include . - (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX. - * lib/strtod.c (strtod): Don't assume isspace works on negative chars. - Don't assume isdigit succeeds only on '0' through '9'. + * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and + time_r.h. -2006-07-05 Eric Blake +2006-04-09 Paul Eggert - * modules/getaddrinfo (Depends-on): Add snprintf. + Merge regex changes from libc, removing some of our + POSIX-conformance changes that were rejected and redoing them in a + less-intrusive way. -2006-07-05 Eric Blake + * lib/regcomp.c (re_compile_internal, init_dfa): + Length arg is now size_t, not Idx. All uses changed. + (peek_token): Forward decl now says internal_function. + (__re_error_msgid, __re_error_msgid_idx): + Now static rather than extern with attribute_hidden. + (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn. + For some reason libc prefers K&R style defns for external functions. + (regerror) [!defined _LIBC]: Likewise. + (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp): + (seek_collating_symbol_entry, lookup_collation_sequence_value): + (build_range_exp, build_collating_symbol): + Use K&R-style defn. + (re_compile_fastmap): Use '\0' to memset, not 0. + (utf8_sb_map): Make the calculations more obvious. + (init_dfa, parse_bracket_exp, build_charclass_op): + Call calloc and cast result, as glibc does. + (init_word_char, fetch_token, peek_token, peek_token_bracket): + (build_range_exp, build_collating_symbol): + Now internal functions. + + * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers. + + * lib/regex.h (__USE_GNU_REGEX): New macro. Don't depend on + _REGEX_SOURCE any more; depend on _GNU_SOURCE instead. + Don't depend on VMS; depend on __VMS instead, for POSIX + namespace cleanness. + (regoff_t): Define to ssize_t, not long int. - * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET - to avoid 'header present but could not be compiled' on cygwin. + Remove the REG_ macros named below. Instead, make the old names + (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if + __USE_GNU_REGEX. + (REG_BACKSLASH_ESCAPE_IN_LISTS): + (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS): + (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS): + (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE): + (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT): + (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS): + (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES): + (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING): + (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD): + (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE): + (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS): + (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK): + (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP): + (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON): + (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC): + (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED): + (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED): + (REG_NREGS): + Remove. All uses replaced by the old RE_* names. + (RE_BACKSLASH_ESCAPE_IN_LISTS): + (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS): + (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS): + (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE): + (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT): + (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS): + (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES): + (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING): + (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD): + (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE): + (RE_CONTEXT_INVALID_DUP, RE_NO_SUB): + Don't bother having these macros be independent of each others' + values, since they no longer exist in the POSIX name space. -2006-07-05 Eric Blake + Rename the following member names back to their old names, + unless !__USE_GNU_REGEX. All uses changed back. + (buffer): Renamed from re_buffer. + (allocated): Renamed from re_allocated. + (used): Renamed from re_used. + (syntax): Renamed from re_syntax. + (fastmap): Renamed from re_fastmap. + (translate): Renamed from re_translate. + (can_be_null): Renamed from re_can_be_null. + (regs_allocated): Renamed from re_regs_allocated. + (fastmap_accurate): Renamed from re_fastmap_accurate. + (no_sub): Renamed from re_no_sub. + (not_bol): Renamed from re_not_bol. + (not_eol): Renamed from re_not_eol. + (newline_anchor): Renamed from re_newline_anchor. + (num_regs): Renamed from rm_num_regs. + (start): Renamed from rm_start. + (end): Renamed from rm_end. - * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if - missing from netdb.h. - * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf. + (free_state): Move up a bit. -2006-07-05 Derek R. Price + * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]: + #define to be empty. + (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2 + when that is what is intended. + (SBC_MAX): Define to UCHAR_MAX + 1, not 256. + (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed. + (MAX): New macro. + (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove. + All uses changed back to re_malloc, etc. It's now the caller's + responsibility to check for overflow; all callers changed. + (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc): + (re_x2nrealloc): Remove. + (free_state): Remove decl. - * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC; - no longer needed. - * m4/exclude.m4 (gl_EXCLUDE): Likewise. - * m4/getdate.m4 (gl_GETDATE): Likewise. - * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise. - * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise. - * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise. - * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise. - * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise. + * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2): + (re_set_registers, re_exec): + Use K&R-style defn. -2006-07-05 Derek R. Price + 2006-01-31 Roland McGrath - * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed. - All uses of is_space replaced by isspace. - * lib/exit.h: Don't talk about STDC_HEADERS. - * lib/fnmatch.c (ISASCII): Remove; no longer needed. All uses removed. - (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT): - (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed. All uses - replaced by isprint etc. - * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise. - * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise. - * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise. - * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise. - * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise. - * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise. + * lib/regcomp.c (calc_eclosure_iter): Remove dead variables. + Reported by Mike Frysinger . -2006-07-05 Bruno Haible + 2006-01-15 Andreas Jaeger - * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether - the function exists, before testing against AIX. - Reported by Martin Lambers . + [BZ #1950] + * lib/regex_internal.c (re_string_reconstruct): Adjust for + build_wcs_upper_buffer change. + (build_wcs_upper_buffer): Change return type. -2006-07-04 Paul Eggert + 2005-12-10 Ulrich Drepper - * modules/cycle-check (lib_SOURCES): Add same-inode.h. - From Mark D. Baushke. + * lib/regex_internal.h: Include if available. -2006-07-04 Paul Eggert + 2005-12-06 Paolo Bonzini - * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes - to the absolute name, not just one, to bypass Sun C 5.8's - "warning: #include of /usr/include/... may be non-portable". + * lib/regex_internal.h (SIZE_MAX): Provide a default definition. -2006-07-04 Eric Blake + 2005-10-14 Ulrich Drepper - * modules/dirname-tests: New test module. - * tests/test-dirname.c: New file, replacing dirname.c - TEST_DIRNAME section that was recently deleted. + * lib/regcomp.c: Adjust for changed secondary hash function. -2006-07-04 Bruno Haible + 2005-09-30 Ulrich Drepper - Assume ANSI C header files and functions. - * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros. - (mbsnwidth): Use isprint, iscntrl instead. + * lib/regex.h: Pretty printing. + Clean up namespace a bit. -2006-07-03 Paul Eggert + 2005-09-30 Jakub Jelinek - Merge from coreutils. - * MODULES.html.sh: Add xstrtold. - * modules/xstrtold: New file. - * modules/cycle-check (Files): Add lib/same-inode.h. - * modules/dirname (Files): Add m4/double-slash-root.m4. - * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4. - * modules/mkdir-p (Files): Add lib/same-inode.h. - * modules/same (Files): Add lib/same-inode.h. + * lib/regexec.c (update_cur_sifted_state, check_arrival, + check_arrival_add_next_nodes): Avoid using uninitialized variable. -2006-07-03 Paul Eggert + 2005-09-06 Paul Eggert + Ulrich Drepper - * m4/absolute-header.m4: Renamed from full-header-path.m4. - This is to keep the terminology clean; POSIX talks about - "absolute pathnames", not "full pathnames", but the GNU - Coding Standards say to use "path" for something else; - so use "absolute" to keep both sides happy. - (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH. - Set gl_absolute_header, not gl_full_header_path. - Set gl_cv_absolute_
, not gl_full_path_
. - Define ABSOLUTE_
, not FULL_PATH_
. - All uses changed. + [BZ #1302] + * lib/regex_internal.h (bitset_t): Renamed from bitset. All uses + changed. + (bitset_word_t): Renamed from bitset_word. All uses changed. - Merge from coreutils. + 2005-09-22 Ulrich Drepper - 2006-06-30 Paul Eggert + [BZ #281] + * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *. + * lib/regcomp.c: Remove unnecessary uses of + unsigned RE_TRANSLATE_TYPE. + * lib/regex_internal.h: Likewise. + * lib/regex_internal.c: Likewise. + * lib/regexec.c: Likewise. + Based on a patch by Stepan Kasal . - * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES. - Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't - want to require the building of c-strtod.o. - * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer - needs -lm directly. - * m4/xstrtod.m4 (gl_XSTRTOLD): New macro. + 2005-09-07 Ulrich Drepper - 2006-06-19 Paul Eggert + * lib/regexec.c (find_recover_state): Remove unnecessary + initialization. + (transit_state_bkref): Make DFA a const pointer. + (get_subexp): Likewise. + (check_arrival): Likewise. + (update_cur_sifted_state): Likewise. + (re_search_internal): Likewise. + (prune_impossible_nodes): Likewise. + (acquire_init_state_context): Likewise. + (proceed_next_node): Likewise. + (set_regs): Likewise. + (free_fail_stack_return): Likewise. + (check_arrival_expand_ecl): Mark DFA parameter as const. + (check_arrival_expand_ecl_sub): Likewise. + (check_subexp_limits): Likewise. + (sub_epsilon_src_nodes): Likewise. + (add_epsilon_src_nodes): Likewise. + (merge_state_array): Likewise. + (update_regs): Likewise. + (build_trtable): Likewise. + (sift_states_backward): Mark MCTX parameter as const. + (build_sifted_states): Likewise. + (update_cur_sifted_state): Likewise. + (sift_states_mkref): Likewise. + (check_arrival_expand_ecl): Mark eclosure as const. + (check_dst_limits_calc_pos_1): Likewise. + * lib/regex_internal.h (re_match_context_t): Make dfa a const + pointer. - * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's - --as-needed option if available. Problem reported by Albert Chin in - . - However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11 - cc merely issues a bunch of annoying warnings for --as-needed - (this problem was reported by Bob Proulx). Also, try linking with - -lm to detect a bug in binutils 2.16 (this problem was reported - by Ralf Wildenhues). + 2005-09-06 Ulrich Drepper - 2006-06-18 Jim Meyering + * lib/regexec.c (merge_state_with_log): Define dfa as const pointer. + (transit_state_sb): Likewise. + (transit_state_mb): Likewise. + (sift_states_iter_mb): Likewise. + (check_arrival_add_next_nodes): Likewise. + (check_node_accept_bytes): Change first parameter to pointer-to-const. + [_LIBC] (re_search_2_stub): Use mempcpy. - Test for a bug that causes glibc's getcwd to suffer a failed assertion. - * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and - macro. - * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null, - also check for glibc-2.4's abort-inducing bug. + * lib/regex_internal.c (re_string_reconstruct): Avoid calling + mbrtowc for very simple UTF-8 case. - * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo. - Low-probability clean-up should be to use rmdir to get rid of - the just-created directory, not unlink. + * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg + a pointer-to-const. + (re_acquire_state_context): Likewise. + * lib/regex_internal.h: Adjust prototypes. - * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make - configure fail, and request a bug report to inform us about it. - Add a comment that, barring reports to the contrary, in 2007 we'll - assume ftruncate is universally available. + * lib/regex.c: Prevent using C++ compilers. - 2006-04-17 Paul Eggert + * lib/regex_internal.c (re_acquire_state): Minor code rearrangement. + (re_acquire_state_context): Likewise. - * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration. +2006-04-09 Paul Eggert - 2006-03-12 Jim Meyering + * modules/regex (Depends-on): Add ssize_t. - * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list. - * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise. - * m4/same.m4 (gl_SAME): Likewise. - * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise. +2006-04-09 Paul Eggert - 2006-03-11 Eric Blake + * m4/regex.m4 (gl_REGEX): Check for new glibc interface to + translation table. - * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT. - * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT. - * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h. - (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define. +2006-04-09 Paul Eggert -2006-07-03 Paul Eggert + * doc/gnulib-tool.texi (Modified imports): pathname -> file name. - * lib/stdint_.h: Include after @FULL_PATH_STDINT_H@, for - MacOS X 10.4.6. Don't mention . Problems - reported by Mark D. Baushke, one in - . +2006-03-29 Mark D. Baushke + Bruno Haible - Merge from coreutils. + * lib/stdint_.h: On OpenBSD, don't redefine types already included in + and . - * lib/.cppi-disable: Add stdint_.h. - * lib/.cvsignore: Add stdint.h. +2006-03-25 Ralf Wildenhues - 2006-06-30 Paul Eggert + * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define + `__error_t_defined', so argp.h will not typedef the former. - * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support - both double and long double versions. - (XSTRTOD): Renamed from xstrtod. Use DOUBLE internally. - * lib/xstrtold.c: New file. - * lib/xstrtod.h (xstrtold): New decl. +2006-03-25 Paul Eggert - 2006-05-22 Paul Eggert + * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP, + REG_SYNTAX_EMACS, and REG_IGNORE_CASE. Settle for the traditional + glibc names. Even if glibc is changed to conform to POSIX, the + traditional names will be available anyway, since regex depends on + the extensions module. Also, fix a longstanding typo in the + implementation of Spencer ERE test #75 from grep 2.3. Problems + reported by Emanuele Giaquinta. Also, change sense of cached + variable, so that the message makes sense. - * lib/filemode.c (setst): Remove. - (strmode): Rewrite to avoid setst. This makes the code shorter, - (arguably) clearer, and the generated code is a bit smaller on my - Debian GNU/Linux stable x86 host. +2006-03-24 Simon Josefsson - 2006-04-17 Paul Eggert + * lib/base64.c: Fix problems reported by Eric Blake , + including some doc fixes. + (base64_encode_alloc): Fix +1 bug on allocation failures. - * lib/filemode.c: Include "filemode.h" first, to test the interface. - Assume that filemode.h includes sys/types.h and sys/stat.h. - (HAVE_ST_DM_MODE): New macro, moved here from ls.c. - (ftypelet): Reorder to put common cases first, for efficiency. - Add 'P', 'w'. Remove 'M', since it's now the caller's responsibility - to do 'M'. - (strmode): Renamed from mode_string, and now stores 12 bytes instead - of 10, for compatibility with FreeBSD. All callers changed. - (filemodestring): Now stores 12 bytes instead of 10, and sets file - types that can't be deduced solely from st_mode. First arg is now a - const pointer. - * lib/filemode.h (HAVE_DECL_STRMODE): Include for strmode. - (strmode): Renamed from mode_string. - (filemodestring): New decl. - * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy. - (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never - needed. - (S_ISPORT, S_ISWHT): New macros, if not already defined. +2006-03-24 Ralf Wildenhues - 2006-04-12 Paul Eggert + * lib/base64.c (base64_encode): Do not read past end of array with + unsanitized input on systems with CHAR_BIT > 8. - * lib/fsusage.c: Don't include or , since - fsusage.h now does that. Include fsusage.h first, to test interface. - Prefer statvfs if it works, since it's blessed by POSIX. Attempt - at most one method (the old code could have generated decls that - didn't conform to C89, not that this was ever exercised). - * lib/fsusage.h: Include and if they exist. +2006-03-24 Eric Blake - 2006-03-19 Jim Meyering + * lib/time_r.c (copy_string_result): Remove, as it is no longer used. - Work even in a chroot where d_ino values for entries in "/" - don't match the stat.st_ino values for the same names. - * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode - number, iterate through all entries again, using lstat instead. - Reported by Kenshi Muto in http://bugs.debian.org/355810, and by - Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656. +2006-03-22 Karl Berry - * lib/getcwd.c (__getcwd): Clarify a comment. - Use memcpy in place of a call to strcpy. + * config/srclist.txt (*setenv.[ch]): get from coreutils. + * config/srclistvars.sh (COREUTILS): new var. - 2006-03-12 Jim Meyering +2006-03-17 Jim Meyering - * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair - matches that of the current directory (which we're about to chdir ".." - out of), then save the dev-ino of the parent, instead. + * m4/regex.m4 (gl_REGEX): Fix typo in last change: + s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/. - * lib/same-inode.h (SAME_INODE): New file/macro. - * lib/chdir-safer.c (SAME_INODE): Remove definition. - Include "same-inode.h", instead. - * lib/same.c: Likewise. - * lib/cycle-check.h: Include "same-inode.h". - (CYCLE_CHECK_REFLECT_CHDIR_UP): Define. - * lib/cycle-check.c (SAME_INODE): Remove definition. - * lib/root-dev-ino.h: Include "same-inode.h". +2006-03-16 Paul Eggert - 2006-03-11 Eric Blake + * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code + no longer needs it. Instead, check that regoff_t is as least + as wide as ptrdiff_t. - * lib/same.c (same_name): s/base_name/last_component/ - * lib/backupfile.c (check_extension, numbered_backup): Likewise. - * lib/filenamecat.c (file_name_concat): Likewise. + Don't define _REGEX_WIDE_OFFSETS unless using the included regex, + so that our regex.h stays compatible with the installed regex. + This is helpful for installers who configure --without-included-regex. + Problem reported by Emanuele Giaquinta. - 2006-03-11 Eric Blake , - Paul Eggert +2006-03-16 Paul Eggert - * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4. - [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a - drive prefix. - (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on - platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE. - (last_component): New method. - * lib/dirname.c (dir_len): Determine when drive letters need a - subsequent slash. Preserve // when it is special. - (dir_name): Don't append dot when drive letter is absolute. - [TEST_DIRNAME]: Move into a full-blown gnulib test. - * lib/basename.c (base_name): New semantics - malloc the result. - Preserve // when it is special. Preserve relative files that look - like drive letters. - (base_len): Preserve // when it is special. - (last_component): New method, similar to old base_name semantics. - * lib/stripslash.c (strip_trailing_slashes): Use last_component, not - base_name. Strip redundant slashes from ///. + * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]: + Typedef to long int, not to off_, as POSIX will likely change + in that direction. -2006-07-03 Jim Meyering +2006-03-15 Eric Blake - * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this - macro is used before the first cycle_check call. + * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT. -2006-07-03 Eric Blake +2006-03-13 Sergey Poznyakoff - * modules/dirname (Depends-on): Add xstrndup. + * lib/argp-help.c (validate_uparams): Fix typo + * lib/argp-parse.c (argp_default_options): Consistently begin help + messages with a lowercase letter. -2006-07-02 Paul Eggert +2006-03-11 Paul Eggert - * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for - test cases, so that config.log is a bit easier to follow. + * lib/time_r.h (asctime_r, ctime_r): Remove. These functions can + overrun buffers and shouldn't be used (much as gets shouldn't be + used). + * lib/time_r.c (asctime_r, ctime_r): Likewise. -2006-07-02 Paul Eggert +2006-03-08 Simon Josefsson - * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if - both are 64 bits, since this seems to be the tradition, and this - prevents gcc -Wformat from warning about usages with PRIuMAX. If - we ever run into a host that prefers long long to long in this - case, we'll need another configure-time test. Problem reported by - Jim Meyering. + * m4/gc-random.m4: Permit 'no' as variable values and fix warnings, + suggested by Ralf Wildenhues . -2006-07-02 Eric Blake +2006-03-08 Simon Josefsson - * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS. + * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of + $target, suggested by Ralf Wildenhues . -2006-07-01 Paul Eggert +2006-03-08 Simon Josefsson - * modules/inttypes (Depends-on): No longer depends on stdint. - * modules/stdint (Description): Say more about assumptions. - Say that the fast types might differ. Say macros are used. - (Files): Remove m4/size_max.m4, m4/wchar_t.m4. Add m4/longlong.m4. - (Makefile.am): Revise list of substituted symbols to match - new stdint.m4. - * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4. - (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T. - * tests/test-stdint.c (verify_same_types) - [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that - the code conforms to C99/C89. - Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T. - Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T. + * lib/gc-gnulib.c (randomize): Don't open files called 'no', they + signal that configure disabled the device. -2006-07-01 Paul Eggert +2006-03-08 Simon Josefsson - * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60, - but fix a bug, by requiring at least 64 bits. - * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise. - * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call - AC_TYPE_LONG_LONG_INT. This macro is obsolete and will go soon. - * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise. + * build-aux/maint.mk: Fix refresh-po, to handle no translated + languages. - * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h - changes. Make 2.59 a prerequisite. Check and substitute for - HAVE_LONG_LONG_INT. Rely on Autoconf to check for stdint.h and - inttypes.h. Do not use special include files; just use the - defaults. Check for sys/inttypes.h and sys/bitypes.h in the usual - way now. Remove no-longer-needed tests for HAVE_LONG_64BIT, - HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t, - uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t, - int_least32_t, int_least64_t, uint_least8_t, uint_least16_t, - uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t, - int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t, - uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t, - uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, - UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, - INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, - UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX, - UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX, - UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, - UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX, - INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN, - INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX, - UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, - INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, - SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, - WINT_MAX. Check for C99 conformance more strictly, by detecting - bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9. On the other hand do - not check for things that C99 does not require, e.g., int8_t. If - a test isn't needed unless isn't working, and is - unlikely to be needed for any other reason, then don't do it - unless isn't working. Do not check for ptrdiff_t or - size_t, since we assume C89 freestanding at least. Do not check - for sig_atomic_t, wchar_t, or wint_t, since the code now does - the right thing even if the types are not defined. Instead use: - (gl_STDINT_TYPE_PROPERTIES): New macro. - (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove. Don't bother - testing whether clashes, as Autoconf does this for - us now. All uses removed. - (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND): - (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2): - (gl_CHECK_TYPE_SAME): - Remove; no longer needed. - (gl_STDINT_BITSIZEOF): Don't bother to check whether the type - exists, since we'll return 0 anyway in that case. - (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros. +2006-03-07 Simon Josefsson -2006-07-01 Paul Eggert + * modules/getopt (Depends-on): Add unistd. - * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid - possible collision with system files. - (, , ) [defined __cplusplus && ! defined - __STDC_CONSTANT_MACROS)]: Do not include, since we don't need - WCHAR_MIN and WCHAR_MAX in this case. - (): Do not include; no longer needed. - (): Include if @HAVE_SYS_TYPES_H@, not if - (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)). - (): Include if @HAVE_SYS_INTTYPES_H@ && - !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__) - && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)). - (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined - __c99]: Define, to work around IRIX incompatibility. - (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ && - !defined(__c99))]: Include in this case too, since it's harmless - now. - () [@HAVE_INTTYPES_H@]: Include, since it's no longer - dangerous to do so. - (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) && - @HAVE_INTTYPES_H@]: Do not include, since we now include . - (_STDINT_MIN, _STDINT_MAX): New macros. - (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t): - (uint64_t, int_least8_t, uint_least8_t, int_least16_t): - (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t): - (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t): - (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t): - (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now - macros, not typedefs; this simplifies things quite a bit. - Use long int for all types narrower than int64_t. - (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C): - Define in terms of long long int or int64_t or long int, - not int64_t or int32_t. This saves some compile-time testing. - (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX): - (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX): - (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX): - (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX): - (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX): - (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN): - (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX): - (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX): - (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN): - (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX): - (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX): - (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX): - undef any previous version and define our own version, for - simplicity and consistency with the new macros for types. - (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX): - (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX): - Simplify definitions by using _STDINT_MIN and _STDINT_MAX - where appropriate. Rely on new symbols @PTRDIFF_T_SUFFIX@, - @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@, - @WINT_T_SUFFIX@ to keep things simple here. - (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C): - Simplify by assuming typical 8/16/32/64 host, since we're - already doing that elsewhere anyway. - Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@, - and assume long long int is 64 bits if available. This - speeds up 'configure'. + * modules/unistd: New file. -2006-07-01 Eric Blake +2006-03-07 Simon Josefsson - * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM. - Reported by Andreas Buening. + * modules/gc-random: New file. -2006-07-01 Eric Blake +2006-03-07 Simon Josefsson - * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy. + * m4/unistd_h.m4: New file. -2006-06-30 Jim Hyslop (tiny change) +2006-03-07 Simon Josefsson - * lib/getaddrinfo.c: fixed typo + * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the + test to be side-effect free by storing the result in the cache + variable gl_cv_lib_readline, and moving the assignment of + LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT. + From Ralf Wildenhues . -2006-06-29 Jim Meyering +2006-03-07 Simon Josefsson - * modules/strftime (Maintainer): Add my name, since with the - FPRINTFTIME changes strftime.c has forked from glibc. + * m4/gc-random.m4: New file, mostly from gc.m4. Warn instead of + error on missing devices (the functions will return an error). -2006-06-29 Eric Blake + * m4/gc.m4: Move random stuff to gc-random.m4 - * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE. +2006-03-07 Simon Josefsson -2006-06-29 Eric Blake + * lib/unistd_.h: New file. - * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file. +2006-03-07 Simon Josefsson -2006-06-29 Eric Blake + * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM. - * lib/stat_.h: New file. +2006-03-07 Paul Eggert -2006-06-29 Eric Blake + * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file. + Problem reported by Juan Manuel Guerrero. - * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about - unused static function. +2006-03-07 Paul Eggert -2006-06-29 Eric Blake + * lib/c-stack.c: Include unistd.h unconditionally, since we now assume + the unistd module. + * lib/getlogin_r.c: Likewise. + * lib/getlogin_r.h: Likewise. + * lib/glob.c: Likewise. + * lib/pagealign_alloc.c: Likewise. + * lib/unistd_.h: Remove; no longer needed. - * doc/functions.texi (Function Portability): Document missing lstat - on mingw. +2006-03-07 Paul Eggert -2006-06-29 Eric Blake + * MODULES.html.sh (Support for systems lacking POSIX:2001): + Add unistd. + * modules/c-stack (Depends-on): Add unistd. + * modules/getlogin_r: Likewise. + * modules/glob: Likewise. + * modules/pagealign_alloc: Likewise. + * modules/unistd (Files): Remove lib/unistd_.h. + (EXTRA_DIST): Remove. + (unistd.h): Create using 'echo' rather than 'cp', so that we don't + need unistd_.h. + (MOSTLYCLEANFILES): Remove unistd.h-t. - * MODULES.html.sh: Add sys_stat. - * modules/sys_stat: New module. - * modules/mkstemp (Depends-on): Add sys_stat. +2006-03-03 Simon Josefsson -2006-06-29 Derek R. Price + * build-aux/maint.mk: Add several syntax checks from CoreUtils. - * m4/strftime.m4: Don't call AC_FUNC_STRFTIME. +2006-03-03 Simon Josefsson -2006-06-29 Derek R. Price + * build-aux/maint.mk: Add refresh-po rule, based on ideas from + libidn and bison. - * m4/c-bs-a.m4: Removed. +2006-03-03 Simon Josefsson -2006-06-29 Derek R. Price + * build-aux/maint.mk: Add indent target. - * lib/strftime.c: Assume strftime() exists. +2006-03-03 Ralf Wildenhues (tiny change) -2006-06-29 Derek Price + * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use + our replacement poll.h in any case, to avoid a differing + declaration from a system header. Seen on AIX. - * modules/c-bs-a: Removed - \a is C89. - * MODULES.html.sh: Remove c-bs-a. +2006-03-01 Simon Josefsson -2006-06-29 Bruno Haible + * lib/readline.c: Fix typo, tiny patch from Stepan Kasal + . - * modules/wcwidth (License): Change to LGPL. +2006-03-01 Paul Eggert -2006-06-28 Simon Josefsson + * modules/gettime (Depends-on): Add extensions module. + * modules/nanosleep (Depends-on): Likewise. + * modules/settime (Depends-on): Likewise. - * tests/test-getaddrinfo.c: Test getnameinfo too. Call WSAStartup - on _WIN32. +2006-03-01 Paul Eggert - * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by - getnameinfo. + * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS, + not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled + pedantically. + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise. + * m4/timespec.m4 (gl_TIMESPEC): Likewise. -2006-06-28 Simon Josefsson + * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test", + not "==". Reported by Ralf Wildenhues. - * m4/getaddrinfo.m4: Look for getnameinfo prototypes too. +2006-03-01 Karl Berry -2006-06-28 Simon Josefsson + * doc/Copyright/request-*: new files, synced from gnuorg. - * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the - functions there. It will succeed on Windows XP, but on Windows - 2000 and (presumably) earlier, it will fail, and use the internal - re-implementation. - (use_win32_p): New function. - (getaddrinfo): Use strtoul on servname, to support numeric ports. - Support AI_NUMERICSERV to disable getservbyname. - (getnameinfo): New function, only supports - NI_NUMERICHOST|NI_NUMERICSERV for now. +2006-03-01 Karl Berry - * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW - only have some of them. Add AI_NUMERICSERV. Add prototype for - getnameinfo. + * config/srclist.txt (Copyright/*): new entries. -2006-06-28 Eric Blake +2006-02-28 Simon Josefsson - * modules/wcwidth: New file. - * modules/mbchar (Depends-on): Add wcwidth. - * modules/mbswidth (Depends-on): Add wcwidth. - * MODULES.html.sh: Add wcwidth. + * lib/getopt.c: Protect #include of unistd.h, for MSVS. -2006-06-28 Eric Blake +2006-02-27 Simon Josefsson - * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here... - * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file. + * lib/base64.h: Indent #define's. From Jim Meyering + . -2006-06-28 Eric Blake +2006-02-27 Jim Meyering - * lib/xvasprintf.h: Fix comments. + Revert the change of 2006-02-24, so these files can continue + to be sync'd from gettext. + * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion + of `config.h'. -2006-06-28 Eric Blake +2006-02-26 Paul Eggert - * lib/mbchar.h (wcwidth): Include wcwidth.h. - * lib/mbswidth.c (wcwidth): Move from here... - * lib/wcwidth.h: ...to this new file. + * modules/intprops: New file. + * MODULES.html.sh (Numeric conversion functions ): + Add intprops. + * modules/getloadavg (Files): Remove lib/intprops.h. + (Depends-on): Add intprops. + * modules/human: Likewise. + * modules/inttostr: Likewise. + * modules/openat: Likewise. + * modules/sig2str: Likewise. + * modules/userspec: Likewise. + * modules/utimecmp: Likewise. + * modules/xnanosleep: Likewise. + * modules/xstrtol: Likewise. -2006-06-28 Derek R. Price +2006-02-24 Ralf Wildenhues (tiny changes) + + * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES. + * modules/lock-tests (TESTS): Use $(EXEEXT). + * modules/tls-tests: Likewise. + * modules/argp-tests: Likewise. + (check_PROGRAMS): New var, replacing... + (noinst_PROGRAMS, test_argp_SOURCES): Remove. + +2006-02-24 Ralf Wildenhues + + * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of + `config.h'. + +2006-02-24 Paul Eggert + + * lib/glob.c: Say "invalid" rather than "illegal" in comments. + +2006-02-22 Ralf Wildenhues + + Sync from coreutils. + * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and + gl_CHDIR_SAFER. + +2006-02-22 Jim Meyering + + Sync from coreutils. + * m4/chdir-safer.m4: New file. - * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement. +2006-02-20 Paul Eggert - * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since - it's obsolete. - * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise. + * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where + AT_FDCWD exceeds INT_MAX. + * lib/openat.h (AT_FDCWD): Likewise. -2006-06-28 Derek R. Price +2006-02-17 Eric Blake - * lib/savedir.c (CLOSEDIR): Remove. All uses changed to closedir. - Autoconf 2.60 says this stuff was obsolete. + * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error. -2006-06-28 Bruno Haible +2006-02-16 Simon Josefsson - * modules/wcwidth (Files): Add m4/wchar_t.m4. + * modules/getaddrinfo (Depends-on): Add sys_socket. -2006-06-28 Bruno Haible +2006-02-15 Simon Josefsson - * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and - gt_TYPE_WCHAR_T. + * build-aux/maint.mk: Add dsyntax-check rule. -2006-06-28 Bruno Haible +2006-02-15 Eric Blake - * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback - declaration for wcwidth. - * lib/mbswidth.c: Restore the includes of and . + * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using + winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes + 'present but cannot compile' warnings on cygwin. + * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET. Don't + use ws2tcpip.h if sys/socket.h works. + * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET. + (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present. -2006-06-28 Bruno Haible +2006-02-14 Simon Josefsson - * lib/mkdtemp.c [MINGW]: Include . - (mkdir): Define using _mkdir. + * modules/maintainer-makefile (Files): Rename. -2006-06-28 Bruno Haible + * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk + and (the local) Makefile.cfg to maint-cfg.mk. - * lib/getaddrinfo.h: Fix POSIX URL. - * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of - _WIN32. - (use_win32_p): Make static. - (getaddrinfo): Reject service name if it is empty or does not consist - solely of decimal digits, or if its value is > 65535. - (getnameinfo): Remove useless casts. + * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former + to the latter. -2006-06-27 Simon Josefsson + * modules/maintainer-makefile: New module. - * modules/sys_select: New file, suggested by Bruno Haible, Paul - Eggert and Martin Lambers. + * build-aux/Makefile.maint: New file, from GNU CoreUtils, although + severaly stripped to make it possible to build it up from scratch + with reliable tests. -2006-06-27 Simon Josefsson + * build-aux/GNUmakefile: New file, from GNU CoreUtils with some + fixes to permit overriding the default actions when configure and + makefile are not available. - * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul - Eggert and Martin Lambers. +2006-02-14 Paul Eggert -2006-06-27 Bruno Haible + Sync from coreutils. + * modules/lstat (Depends-on): Don't depend on xalloc. + (License): Change from GPL to LGPL, since this is now simply a + replacement for a libc function. - * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the - result to 0, not to empty. - Reported by Martin Neitzel . +2006-02-14 Jim Meyering -2006-06-27 Bruno Haible + Sync from coreutils. - * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef. + Eliminate the unwelcome (albeit unlikely) possibility of xmalloc + failure on deficient systems, and simplify gnulib lgpl dependencies. + * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the + xmalloc/lstat combination. Based on a patch from Bruno Haible. -2006-06-26 Simon Josefsson + * lib/xalloc-die.c: Remove unused definition of N_. - * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is - present. +2006-02-14 Jim Meyering -2006-06-26 Paul Eggert + Sync from coreutils. + * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke + AC_CHECK_FUNCS(getmntent) unconditionally so that tests of + $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not + double-quote uses of that variable, to accommodate the rare case in + which getmntent is available in none of the libraries checked. This + happens at least on FreeBSD 5.0. - * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid - bug in IBM C V6 for AIX. Problem reported by Larry Jones in - . +2006-02-13 Simon Josefsson -2006-06-26 Mark D. Baushke + * gnulib-tool (Usage): Fix --import, from + karl@freefriends.org (Karl Berry). - * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD. +2006-02-13 Sergey Poznyakoff -2006-06-26 Bruno Haible + * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12 - * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H. +2006-02-07 Sergey Poznyakoff -2006-06-26 Bruno Haible + * lib/argp-namefrob.h: Restore changes accidentally lost during the + "autoupdate" on 2005-12-12. - * m4/stdint.m4 (gl_STDINT_H): Test also for . +2006-02-07 Paul Eggert -2006-06-26 Bruno Haible + * modules/closeout (Depends-on): Remove atexit. - * m4/stdint.m4 (gl_STDINT_H): Don't include when using the - SGI C compiler in pre-C99 mode. - Suggested by Mark D. Baushke and Larry Jones. +2006-02-07 Paul Eggert -2006-06-26 Bruno Haible + * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero + ints to 0 or 1, as this isn't true for the stdbool.h substitute. - * lib/stdint_.h: Include if necessary for WCHAR_MIN or - WCHAR_MAX. - Reported by Mark D. Baushke and Larry Jones. +2006-02-05 Paul Eggert -2006-06-26 Bruno Haible + * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define + __EXTENSIONS__ if this causes compilation to fail. Problem + reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7 + c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED. - * lib/stdint_.h: Don't include when using the SGI C compiler - in pre-C99 mode. - Suggested by Mark D. Baushke and Larry Jones. +2006-01-27 Paul Eggert -2006-06-23 Simon Josefsson - Bruno Haible + * lib/fnmatch.c (L_): Renamed from L, to work around a bug in + Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in + . + All uses changed. - * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS. - Emit mostlyclean-local rule. - (func_emit_tests_Makefile_am): Likewise. - * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS. +2006-01-26 Simon Josefsson -2006-06-23 Mark D. Baushke + * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo + prototype is visible on mingw32. - * lib/stdint_.h: Treat BSD/OS like OpenBSD. + * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set, + for mingw32. -2006-06-23 Bruno Haible + * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for + mingw32). - * tests/test-stdint.c: Update to match ISO C 99 Technical - Corrigendum 1. +2006-01-26 Paul Eggert -2006-06-23 Bruno Haible + * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too. Don't + attempt to open for write; this always fails, at least on POSIX + hosts. This reinstates the 2006-01-09 change, which was + inadvertently removed. - * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD. +2006-01-26 Bruno Haible -2006-06-23 Bruno Haible + * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :". + Reported by Paul Eggert. - * lib/stdint_.h: Treat IRIX like OpenBSD. +2006-01-26 Bruno Haible + Paul Eggert -2006-06-23 Bruno Haible + * lib/stdbool_.h (_Bool) + [(! (defined __cplusplus || defined __BEOS__) + && !defined __GNUC__ + && !(defined __HP_cc || defined __xlc__ + || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1)) + || defined __sgi))]: + #define to signed char in these cases too; this simplifies + the code (so that we don't have to worry about HP-UX, AIX, SunPRO, + etc., separately) and makes it more conservative. - * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to - ISO C 99 Technical Corrigendum 1. +2006-01-25 Simon Josefsson -2006-06-22 Simon Josefsson + * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and + -lws2_32. Protect sys/socket.h and netdb.h #include's. Include + ws2tcpip.h with WINVER=0x0501. All for mingw32. - * m4/sockpfaf.m4: Include winsock2.h too, to make it work under - MinGW. +2006-01-25 Sergey Poznyakoff -2006-06-22 Paul Eggert + * lib/argp-namefrob.h: Bugfix. Remove stray # - * lib/glob.c (collated_compare): Remove 'const' uses that weren't - needed. Some compiler complained about some of them. Problem reported - by Larry Jones in - . +2006-01-25 Paul Eggert -2006-06-21 Simon Josefsson + * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too, + so that we test the test. + Check for yet another HP-UX cc bug involving *bool |= bool. - * tests/test-getaddrinfo.c: New file. +2006-01-25 Karl Berry - * modules/getaddrinfo-tests: New file. + * config/srclist.txt (vasnprintf.c): sync lost. - * MODULES.html.sh: Add inet_pton. +2006-01-25 Jim Meyering - * modules/inet_pton: New file. + Sync from the stable (b5) branch of coreutils: -2006-06-21 Simon Josefsson + * lib/fts.c (fts_children): Don't let close() clobber errno from + failed fchdir(). - * m4/getaddrinfo.m4: Don't define WINVER. Look for gethostbyname in - -lws2_32 too. Fixes getaddrinfo on Windows 2000, with the price - of using the (limited) gnulib implementation on Windows XP. + * lib/fts.c (fts_stat): When following a symlink-to-directory, + don't necessarily interpret stat-fails+lstat-succeeds as indicating + a dangling symlink. That can also happen at least for ELOOP. + The fix: return FTS_SLNONE only when the stat errno is ENOENT. + FYI, this bug predates the inclusion of fts.c in coreutils. - * m4/inet_pton.m4: New file. + * lib/fts.c (fts_open): Put new maxarglen declaration and uses + in their own block, so pre-c99 compilers don't object. -2006-06-21 Simon Josefsson + Avoid the double-free (first in fts_read, second in fts_close) that + would occur when an `active' directory is made inaccessible (e.g., + via chmod a-x) during a traversal. + * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur + before returning. Reproduce this failure by + mkdir -p a/b; cd a; chmod a-x . b + Reported by Stavros Passas. - * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return - variable. +2006-01-25 Jim Meyering - * lib/socket_.h: Don't define WINVER. + * lib/fileblocks.c: Remove more useless parentheses. + * lib/readutmp.h: Likewise. - * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but - slightly modified to work in gnulib. +2006-01-25 Bruno Haible -2006-06-21 Simon Josefsson + * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid + warnings. + Reported by Paul Eggert. - * doc/gnulib.texi (Windows sockets): Add. +2006-01-25 Bruno Haible -2006-06-21 Paul Eggert + * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get + rid of a trap command. For Solaris sh. + Reported by Mark D. Baushke . - * lib/read-file.c (fread_file): Start with buffer allocation of - 0 bytes rather than 1 byte; this simplifies the code. - Don't invoke feof; it's not needed. Refactor to avoid duplicate - code to free buffer and save/restore errno. - (internal_read_file): Remove unused local. +2006-01-24 Simon Josefsson -2006-06-20 Paul Eggert + * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by + Bruno. - * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210 - . - Problem reported by Denis Excoffier in - . +2006-01-24 Karl Berry -2006-06-19 Yoann Vandoorselaere + * config/srclist.txt (argp-namefrob.h): sync lost. - * modules/sys_socket, modules/socklen: Include sys/types since - FreeBSD 4.x's sys/socket.h needs it. +2006-01-24 Jim Meyering -2006-06-19 Simon Josefsson + * modules/openat (Files): Add lib/intprops.h. + From Mark D. Baushke. - * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it. +2006-01-24 Jim Meyering -2006-06-19 Paul Eggert + * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]). + Reported by Mark D. Baushke. - * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare. +2006-01-24 Jim Meyering -2006-06-19 Bruno Haible + * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'. - * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H - and FULL_PATH_INTTYPES_H in angle brackets. - Reported by Mark D. Baushke . +2006-01-24 Bruno Haible -2006-06-17 Eric Blake + * modules/strnlen (Maintainer): Change from glibc to all. - * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares - errno. +2006-01-24 Bruno Haible -2006-06-17 Bruno Haible + * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs. + Patch by Paul Eggert. - * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include - . +2006-01-24 Bruno Haible -2006-06-17 Bruno Haible + * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler + already has it. + Report and patch by Albert Chin-A-Young on + 2005-11-26. - * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test - whether errno is declared. Assume declares errno. + * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as + 'signed char' to avoid problems with the built-in _Bool type. + Reported by Paul Eggert on 2005-11-26. -2006-06-17 Bruno Haible +2006-01-24 Bruno Haible - * lib/stdint_.h [FreeBSD >= 5]: Don't include . + * gnulib-tool (func_import): Avoid constructing complicated sed + expressions inside backquote. + Report and solution by Mark D. Baushke . -2006-06-17 Bruno Haible +2006-01-23 Ulrich Drepper - * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a - problem on Solaris 2.5.1. + These changes imported from libc. + * lib/getopt.c: Use __fxprintf instead of inline stream orientation + test and two separate function calls. + * lib/strndup.c (__strndup): Add libc_hidden_def. -2006-06-16 Eric Blake +2006-01-23 Simon Josefsson - * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno. - * lib/unicodeio.c [!defined errno]: Likewise. - * lib/strtol.c [!defined errno]: Likewise. - * lib/strtod.c [!defined errno]: Likewise. + * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS. + Remove the test_*_SOURCES variable: automake infers it by default. + * modules/tls-tests: Likewise. -2006-06-15 Eric Blake +2006-01-23 Paul Eggert - * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror. + Work around porting bugs reported by Dieter in + . + * lib/getopt.c (_NOPROTO): Remove; no longer needed. + Include and in all environments; it's safe now. + Include "getopt.h" first, to check interface. + (getenv): Declare only if defined HAVE_DECL_GETENV && + !HAVE_DECL_GETENV. + * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype. + (__strndup): Revert to K&R-style function dfns, the glibc style. + * lib/strnlen.c: Don't claim it's taken from glibc; it's not. + (strnlen, __strnlen): Remove #defines and #undefs; not needed. + Include strnlen.h first, to get prototype properly. + (strnlen): Renamed from __strnlen. + Remove weak alias. -2006-06-15 Eric Blake +2006-01-23 Paul Eggert - * config/srclist.txt (ssize_t.m4): Lose sync. + * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl. -2006-06-15 Bruno Haible +2006-01-23 Paul Eggert - * modules/stdint (Files): Include m4/full-header-path.m4, - m4/size_max.m4, m4/wchar_t.m4. - (Makefile.am): Many more substitutions. - * modules/stdint-tests: New file. - * tests/test-stdint.c: New file. + * config/srclist.txt: Adjust to reflect glibc reorganization. + This affects only comments. -2006-06-15 Bruno Haible +2006-01-22 Ralf Wildenhues (tiny change) - * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h. - (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES, - gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS, - gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED, - gl_CHECK_TYPE_SAME): New macros. + * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp. + Reported by Bruce Korb . -2006-06-15 Bruno Haible +2006-01-22 Paul Eggert - * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling. + * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;" + to pacify gcc -Wswitch-default. -2006-06-15 Bruno Haible +2006-01-22 Bruno Haible - * lib/stdint_.h: Rewritten to be fully auto-configured. - Fixes bug on HP-UX/IA64. + * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the + temporary buffer for sprintf, take into account the precision also + for 'd', 'i', 'u', 'o', 'x', 'X'. -2006-06-11 Paul Eggert +2006-01-21 Sergey Poznyakoff - * lib/getdate.y (__attribute__): Don't define if already defined. - Problem reported by Larry Jones. - * lib/utimens.c (__attribute__): Likewise. + * modules/argp-tests: New module + * tests/test-argp.c: New file + * tests/test-argp-2.sh: New file -2006-06-04 Paul Eggert +2006-01-21 Sergey Poznyakoff - * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun - reported by Andreas Schwab. + * lib/argp-help.c (usage_long_opt): Do not print DOC options. + (__argp_base_name): Removed + * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a + typo. + (__argp_base_name): Provide macro definition or extern declaration + depending on the configuration -2006-05-30 Ralf Wildenhues - Bruno Haible +2006-01-20 Simon Josefsson - * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a - check for the declaration of strnlen and a run test that exposes the - AIX 5.1 strnlen bug. In the failure case, #define strndup to - rpl_strndup. + * modules/inet_ntop (Depends-on): Depend on sys_socket. -2006-05-30 Ralf Wildenhues - Bruno Haible +2006-01-20 Simon Josefsson - * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition. + * lib/inet_ntop.h: Unconditionally include sys/socket.h. -2006-05-28 Ralf Wildenhues +2006-01-20 Paul Eggert - * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a - compile test, for Tru64 4.0D. + * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore + rather than -Xlinker -z -Xlinker ignore, as it's more portable. + Suggested by Bruno Haible. -2006-05-28 Karl Berry +2006-01-20 Karl Berry - * config/srclist.txt (printf-args.c): lose sync. + * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out + until changes propagate, I guess. -2006-05-26 Martin Lambers +2006-01-19 Simon Josefsson - * lib/getpass.c: Updates the test for the native W32 API, and adds - missing includes, thus fixing compilation warnings. + * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32. -2006-05-25 Sergey Poznyakoff +2006-01-19 Simon Josefsson - * lib/exclude.c (exclude_fnmatch): New function. - (excluded_file_name): Call exclude_fnmatch. - * lib/exclude.h (excluded_file_name): New prototype + * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly. -2006-05-25 Paul Eggert +2006-01-19 Simon Josefsson - * lib/tempname.c (small_open, large_open): New macros. - (__open, __open64) [!_LIBC]: Remove. - (__gen_tempname): Use small_open and large_open instead of __open - and __open64. This fixes a portability bug on HP-UX 11.11i - reported by Simon Wing-Tang in - . + * gnulib-tool: Set check_PROGRAMS. -2006-05-24 Bruno Haible + * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests, + modules/des-tests, modules/gc-arcfour-tests, + modules/gc-arctwo-tests, modules/gc-des-tests, + modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests, + modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests, + modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests, + modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests, + modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests, + modules/md5-tests, modules/readline, modules/rijndael-tests: Use + check_PROGRAMS instead of noinst_PROGRAMS to be able to remove + test_*_SOURCES. - * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for - TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement. - Reported by Thorsten Maerz via - Aaron Stone . +2006-01-18 Simon Josefsson -2006-05-19 Paul Eggert + * modules/socklen (Depends-on): Depend on sys_socket. - * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use - gl_ rather than jm_. Link, don't run, so that cross-compiles are - allowed. Check that resulting type is arithmetic. Move AC_REQUIRE - and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're - not really conditional on the cache. - (gl_PREREQ_NANOSLEEP): Check for sys/select.h. +2006-01-18 Simon Josefsson -2006-05-19 Paul Eggert + * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests, + modules/des-tests, modules/gc-arcfour-tests, + modules/gc-arctwo-tests, modules/gc-des-tests, + modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests, + modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests, + modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests, + modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests, + modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests, + modules/md5-tests, modules/readline, modules/rijndael-tests: Add + $(EXEEXT) to automake TESTS variable, for mingw32. - * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include . - Use the usual Autoconf way to include and/or sys/time.h. - (my_usleep): Don't mishandle maximum value. +2006-01-17 Simon Josefsson -2006-05-19 Jim Meyering + * modules/socklen (Include): Need sys/socket.h. - * lib/getugroups.c: Correct an outdated comment. From Bruno Haible. +2006-01-17 Bruno Haible -2006-05-17 Bruno Haible + * modules/ssize_t (Include): Add . - Cygwin portability. - * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'. +2006-01-16 Paul Eggert -2006-05-17 Bruno Haible + * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as + it's not portable and it doesn't work with cross-compiles. + Problem reported by Bruno Haible. Fix missing-$ typo in + 'test "gl_cv_ignore_unused_libraries" ...' that prevented + -zignore from being used with Sun's C compiler. - * lib/stdint_.h: Fix recognition of Cygwin. +2006-01-12 Simon Josefsson -2006-05-15 Bruno Haible + * lib/base64.c: Fix warning, reported by Bruno Haible + and patch by Paul Eggert . - * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based - on libtool patch by Ralf Wildenhues. +2006-01-12 Bruno Haible + + * modules/ldd: New file. + * build-aux/ldd.sh.in: New file. + * MODULES.html.sh (Support for building libraries and executables): Add + ldd. -2006-05-14 Paul Eggert +2006-01-12 Bruno Haible - * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky - test for C99 conformance; (bool) 0.5 is an integer constant - expression, but (bool) -0.5 is not. Problem reported by Fedor - Sergeev in . + * m4/ldd.m4: New file. -2006-05-11 Simon Josefsson +2006-01-12 Bruno Haible - * m4/xvasprintf.m4: Fix obvious typo. + * gnulib-tool (func_import, func_create_testdir): Don't go into an + endless loop while replacing $auxdir with build-aux. -2006-05-11 Jim Meyering +2006-01-11 Simon Josefsson - * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/. From - James Lemley. + * lib/stdint_.h (SIZE_MAX): Add missing (. -2006-05-10 Simon Josefsson +2006-01-11 Paul Eggert - * lib/md4.c: Typo fix, update copyright years. - (K1, K2): Don't use L because it turn computations into 64-bit on - 64-bit platforms. + Sync from coreutils. + * lib/md5.c: Fix commentary typos. + (alignof, UNALIGNED_P): No need for a GCC-specific version. + * lib/md5.h (__attribute__): Remove; unused. + * lib/sha1.c: Fix commentary to match md5 better. + * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer, + so that we don't need to worry about alignment. All uses changed. + This merges the 2005-10-28 md5 change into sha1. -2006-05-10 Paul Eggert +2006-01-11 Jim Meyering - * lib/crc.c (crc32_update): Remove unnecessary L suffix. - * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent - unwanted sign propagation, e.g., on hosts with 64-bit int. - There still are some problems with reeelly weird theoretical hosts - (e.g., 33-bit int) but it's not worth worrying about now. - * lib/sha1.c (rol): Likewise. - (K1, K2, K3, K4): Remove unnecessary L suffix. + Sync from coreutils. + * lib/md5.c (OP): Fix spacing. -2006-05-10 Bruno Haible +2006-01-11 Bruno Haible - * lib/des.c: Cast to avoid warnings. + Ensure automatic ordering between gl_LOCK and gl_ARGP. + * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK. + (gl_LOCK): New macro, requiring gl_LOCK_BODY. -2006-05-09 Bruno Haible +2006-01-11 Bruno Haible - * modules/xvasprintf (Files): Add m4/xvasprintf.m4. - (Depends-on): Depend also on xsize, stdarg. - (configure.ac): Add gl_XVASPRINTF. + Ensure automatic ordering between gl_LOCK and gl_ARGP. + * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into + the "early" section as well. -2006-05-09 Bruno Haible +2006-01-11 Bruno Haible - * m4/xvasprintf.m4: New file. + Avoid "ar: no archive members specified" error on MacOS X. + * gnulib-tool (func_modules_add_dummy): New function. + (func_import, func_create_testdir): Invoke it. -2006-05-09 Bruno Haible +2006-01-11 Bruno Haible - * lib/xvasprintf.c: Include limits.h, string.h, xsize.h. - (EOVERFLOW): Define fallback value. - (xstrcat): New function. - (xvasprintf): Recognize the special case of a string concatenation. + * gnulib-tool (func_import, func_create_testdir): Replace build-aux + with $auxdir in AC_CONFIG_FILES statements. -2006-05-08 Eric Blake +2006-01-11 Bruno Haible - * gnulib-tool (func_version): Base copyright year on CVS date. - (func_emit_copyright_notice): New function. - (func_emit_lib_Makefile_am): Use it. - (func_emit_tests_Makefile_am): Likewise. - (func_import): Likewise. + * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): + Initialize also noinst_HEADERS to empty. -2006-05-08 Bruno Haible +2006-01-11 Bruno Haible - * modules/stdarg: New file. - * MODULES.html.sh (func_all_modules): Add section for . + * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New + variables. + (func_create_megatestdir): Call aclocal, autoconf, automake here, not + autoreconf. -2006-05-08 Bruno Haible +2006-01-11 Bruno Haible - * m4/stdarg.m4: New file, from GNU gettext. + * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make + overridable by the user. + Reported by Ralf Wildenhues . -2006-05-08 Bruno Haible +2006-01-10 Simon Josefsson - * config/srclist.txt (build-aux/config.rpath): different from latest - release. + * modules/sys_socket: New file. -2006-05-08 Bruno Haible +2006-01-10 Simon Josefsson - * build-aux/config.rpath: Add support for Sun C 5.9 on Linux. + * m4/sys_socket_h.m4: New file. -2006-05-05 Jim Meyering +2006-01-10 Simon Josefsson - * m4/warning.m4: New file, derived from bison's file by the same name. + * lib/socket_.h: New file. -2006-05-03 Bruno Haible +2006-01-10 Paul Eggert - * lib/stdint_.h: Shorter URL. - * lib/inttypes.h: Likewise. + * modules/readutmp (Maintainer): Add myself. -2006-05-02 Paul Eggert +2006-01-10 Paul Eggert - * modules/inttypes (Maintainer): Change from Derek Price to 'all'. + * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing + the 2002-12-31 change. Problem and fix reported by Bruno Haible. + People who are still concerned with buggy memcmp implementations + can invoke gl_FUNC_MEMCMP themselves. -2006-05-02 Paul Eggert +2006-01-10 Paul Eggert - * lib/verify.h: Document the internals better. Most of this change - was written by Bruno Haible. + * lib/regex_internal.h (BITSET_WORD_BITS): + Work around a bug in 64-bit PGC (before version 6.1-2), where the + preprocessor mishandles large unsigned values as if they were signed. + Problem reported by Claudio Fontana in + . -2006-05-02 Paul Eggert +2006-01-10 Jim Meyering - * doc/verify.texi: New file, partly based on a proposal by - Bruno Haible. + Avoid the double-free (first in fts_read, second in fts_close) that + would occur when an `active' directory is made inaccessible (e.g., + via chmod a-x) during a traversal. + * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur + before returning. Reproduce this failure by + mkdir -p a/b; cd a; chmod a-x . b + Reported by Stavros Passas. -2006-05-02 Bruno Haible + Sync from coreutils. + * lib/sha1.c: Tweak grammar in a comment. - * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next - test from here... - * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here. +2006-01-10 Jim Meyering -2006-04-29 Bruno Haible + * m4/fpending.m4: Also include , for Dragonfly. + Patch by Joerg Sonnenberger. - * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd. - Suggested by Oskar Liljeblad . +2006-01-10 Bruno Haible -2006-04-29 Bruno Haible + * modules/readutmp: Depend on module free. + * modules/strtok_r: Depend on module restrict. - * gnulib-tool: Make --update option actually work. +2006-01-10 Bruno Haible -2006-04-29 Bruno Haible + * modules/gettext (configure.ac): Add an invocation of + AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool. - * doc/gcd.texi: New file. - * doc/gnulib.texi: Include it. +2006-01-10 Bruno Haible -2006-04-25 Paul Eggert + * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked. + Reported by Werner Lemberg . - * lib/getdate.y (get_date): When adding relative date, start with the - initial time, not with the result of the first mktime call. +2006-01-10 Bruno Haible -2006-04-25 Bruno Haible + * lib/localcharset.c: Update from GNU gettext. - * gnulib-tool (func_import): Output the include directives in three - blocks, sorted separately. - Reported by Ben Pfaff . +2006-01-10 Bruno Haible -2006-04-24 Paul Eggert + * lib/argp.h (__const): Remove macro. Use const instead. + * lib/argp-fmtstream.h (__const): Likewise. + * lib/glob_.h (__const): Remove macro. + * lib/glob-libc.h: Use const instead of __const. - * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype - to define main with arguments, for C++. Reported by Eric Blake. - * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): - Prefer 'int main ()' to 'int main (void)', for C++. - * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise. - * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type - for 'main', for C99 and C++. +2006-01-10 Bruno Haible -2006-04-24 Paul Eggert + * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR + variable. + Needed to avoid an automake error regarding the 'gettext' module. - * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit. - Don't assume that exit status -1 is valid. - * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise. - * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise. - * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise. - * m4/readdir.m4 (GL_FUNC_READDIR): Include . - * m4/rename.m4 (vb_FUNC_RENAME): Likewise. - * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE, - not AC_TRY_RUN. Use return, not exit. Don't assume that - functions can be used without declaring them, or that you can - exit with status -1. - * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise. +2006-01-09 Simon Josefsson -2006-04-24 Karl Berry + * modules/inet_ntop (Depends-on): Add restrict. - * config/srclist.txt (longdouble.m4): sync lost. +2006-01-09 Simon Josefsson -2006-04-24 Eric Blake + * modules/gc-rijndael-tests (License): Put under LGPL. - * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning. + * modules/gc-des-tests (License): Likewise. -2006-04-24 Bruno Haible + * modules/gc-arcfour-tests (License): Likewise. - * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the - poll() implementation in AIX. - Reported by Ralf Wildenhues . + * modules/gc-arctwo-tests (License): Likewise. -2006-04-24 Bruno Haible + * modules/gc-pbkdf2-sha1-tests (License): Likewise. - * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets - assigned exactly once. + * modules/gc-hmac-sha1-tests (Files): Likewise. -2006-04-23 Claudio Fontana - Bruno Haible + * modules/gc-hmac-md5-tests (License): Likewise. - * modules/gettext (Makefile.am): Add a -I flag for . - * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value - for AM_CPPFLAGS. + * modules/gc-sha1-tests (License): Likewise. -2006-04-23 Bruno Haible + * modules/gc-md5-tests (License): Likewise. - * modules/copy-file: Depend on unistd. - * modules/execute: Likewise. - * modules/fatal-signal: Likewise. - * modules/findprog: Likewise. - * modules/mkdtemp : Likewise. - * modules/pipe: Likewise. - * modules/wait-process: Likewise. + * modules/gc-md4-tests (License): Likewise. -2006-04-23 Bruno Haible + * modules/gc-md2-tests (License): Likewise. - * lib/fwriteerror.c (fwriteerror): Call fclose also when an error - condition was already detected. - Reported by Ben Pfaff . + * modules/gc-tests (License): Likewise. -2006-04-23 Bruno Haible + * modules/des-tests (License): Likewise. - * lib/copy-file.c: Include unconditionally. - * lib/execute.c: Likewise. - * lib/fatal-signal.c: Likewise. - * lib/findprog.c: Likewise. - * lib/mkdtemp.c: Likewise. - * lib/pipe.h: Likewise. - * lib/pipe.c: Likewise. - * lib/wait-process.h: Likewise. + * modules/md4-tests (License): Likewise. -2006-04-23 Bruno Haible + * modules/md2-tests (License): Likewise. - * gnulib-tool (func_usage): Fix --import description. Document - --update. - (func_import): Create temporary file in a temporary directory, if - --dry-run is specified. Silence errors from 'grep' when there are no - m4 files in $m4dir. - (func_create_testdir): Silence errors from 'grep' when there are no - m4 files in $m4dir. - Reported by Karl Berry . +2006-01-09 Paul Eggert -2006-04-20 Bruno Haible + Sync from coreutils: - * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than - one argument, so that the code will be portable to Autoconf 2.60. - * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise. - * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise. - * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise. + * MODULES.html.sh (build_lib): New section, with new lib-ignore module. + * modules/lib-ignore: New file. + * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h, + chdir-safer.m4, lchmod.m4. + * modules/openat: Add mkdirat.c, openat-priv.h. -2006-04-19 Derek Price - Eric Blake +2006-01-09 Paul Eggert - * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use - rather than "/full/path.h". Update comment to match. Shorten & - generalize m4_translit call via AS_TR_CPP. + Sync from coreutils. + * m4/lib-ignore.m4: New file. + * m4/lchmod.m4: New file. -2006-04-19 Derek Price - Eric Blake +2006-01-09 Paul Eggert - * lib/inttypes.h: Correct grammar in comment. + Sync from coreutils. + * lib/chdir-long.c (cdb_free): Don't bother trying to open directory + for write access: POSIX says that must fail. + * lib/fts.c (diropen): Likewise. + * lib/save-cwd.c (save_cwd): Likewise. + * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as + well, for minor improvements on hosts that lack O_DIRECTORY. + * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]: + Don't try O_WRONLY unless O_RDONLY failed wth EACCES. + Fall back on chown if open failed with EACCES. -2006-04-18 Derek Price - Paul Eggert + * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]: + Report an error at compile-time if only a 1-second nominal clock + resolution is found. - * modules/inttypes: New file. - * modules/strtoimax, modules/strtoumax: Depend on inttypes. + * lib/lchmod.h: New file. + * lib/mkdir-p.c: Include lchmod.h, lchown.h. + (make_dir_parents): Use lchown rather than chown, and + lchmod rather than chmod. -2006-04-18 Derek Price - Paul Eggert + * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are + dummies too. Problem with "none" reported by Bob Proulx. Problem with + "proc" reported by n0dalus. - * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4: - New files. + * lib/mountlist.c: Include . + (dev_from_mount_options) + [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: + New function. It no longer assumes "dev=" has the System V meaning + on Linux (since it doesn't). It also parses "dev=" more carefully. + (read_file_system_list) + [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it. + MOUNTED_GETMNTENT2 is new here; the code didn't used to look for + dev= in that case. -2006-04-18 Derek Price - Paul Eggert + * lib/posixtm.h (PDS_PRE_2000): New macro. + * lib/posixtm.c (year): Arg is now syntax_bits rather than + allow_century. All usages changed. Reject dates outside the range + 1969-1999 if PDS_PRE_2000 is used. - * lib/inttypes.h: New file. - * lib/strtoimax.c: Assume . +2006-01-09 Paul Eggert -2006-04-15 Paul Eggert + Sync from coreutils. + * doc/getdate.texi (General date syntax): Invalid dates are rejected. + (Time of day items): Mention the possibility of leap seconds. + Problem reported by Dr. David Alan Gilbert. - * lib/utimens.c (futimens): glibc futimesat messes up if /proc - isn't mounted. Problem reported by Kir Kolyshkin. +2006-01-09 Jim Meyering -2006-04-13 Paul Eggert + Sync from coreutils. - * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if - RE_ENABLE_I18N is not defined. Problem reported by Mark D. Baushke via - Derek R. Price. - * lib/regex.h (RE_DUP_MAX): Update comment to match current - implementation. + * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006. -2006-04-12 Eric Blake + * lib/chdir-safer.h, lib/chdir-safer.c: New files. - * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this - is now done automatically by the corresponding Autoconf macro. + * lib/modechange.c (mode_compile): Reject an invalid mode string + that starts with an octal digit. From Andreas Gruenbacher. -2006-04-11 Paul Eggert + * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open + and dup to open_safer and dup_safer, respectively. + (openat_permissive): Fix typo in comment. - * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and - time_r.h. + * lib/openat.c: Don't include , , , + "gettext.h"; either no longer needed or are guaranteed by openat.h. + (_): Remove; no longer needed. + (openat): Renamed from rpl_openat; no need for rpl_openat + since openat.h renames openat for us. + Replace most of the body with a call to openat_permissive, + to avoid duplicate code. + Port to (probably hypothetical) environments were mode_t is + wider than int. + (openat_permissive): Require mode arg, so that we can check + types better. Put it just after flags. Change cwd failure + indicator from pointer-to-bool to pointer-to-errno-value. + All callers changed. + Invoke openat_save_fail and/or openat_restore_fail if + cwd_errno is null, so that openat can call us. + (openat_permissive, fdopendir, fstatat, unlinkat): + Simplify errno handling to avoid some duplicate code, + as it's OK to set errno on success. + * lib/openat.h: Revamp code so that function macros depend on + __OPENAT_PREFIX only, not also on AT_FDCWD. + (openat_ro): Remove. Caller changed to use openat_permissive. + (openat_permissive): Now a macro, if not a function. + (openat_restore_fail, openat_save_fail): Now always functions, + since mkdirat needs them even if __OPENAT_PREFIX is defined. -2006-04-09 Paul Eggert + * lib/openat-priv.h: New file, defining macros used by mkdirat.c + and openat.c. + * lib/mkdirat.c: Include openat-priv.h. + Remove definitions of macros defined therein. + * lib/openat.c: Likewise. - Merge regex changes from libc, removing some of our - POSIX-conformance changes that were rejected and redoing them in a - less-intrusive way. + * lib/mkdirat.c (mkdirat): New file and function. + * lib/openat.h (mkdirat): Declare. - * lib/regcomp.c (re_compile_internal, init_dfa): - Length arg is now size_t, not Idx. All uses changed. - (peek_token): Forward decl now says internal_function. - (__re_error_msgid, __re_error_msgid_idx): - Now static rather than extern with attribute_hidden. - (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn. - For some reason libc prefers K&R style defns for external functions. - (regerror) [!defined _LIBC]: Likewise. - (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp): - (seek_collating_symbol_entry, lookup_collation_sequence_value): - (build_range_exp, build_collating_symbol): - Use K&R-style defn. - (re_compile_fastmap): Use '\0' to memset, not 0. - (utf8_sb_map): Make the calculations more obvious. - (init_dfa, parse_bracket_exp, build_charclass_op): - Call calloc and cast result, as glibc does. - (init_word_char, fetch_token, peek_token, peek_token_bracket): - (build_range_exp, build_collating_symbol): - Now internal functions. + * lib/openat.c (fdopendir): Don't change errno when returning non-NULL. - * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers. + * lib/openat.h (openat_permissive): Declare. + (openat_ro): Define. - * lib/regex.h (__USE_GNU_REGEX): New macro. Don't depend on - _REGEX_SOURCE any more; depend on _GNU_SOURCE instead. - Don't depend on VMS; depend on __VMS instead, for POSIX - namespace cleanness. - (regoff_t): Define to ssize_t, not long int. + * lib/openat.c (EXPECTED_ERRNO): New macro. + (openat_permissive): New function -- used in remove.c rewrite. + (all functions): Set errno just before returning, only if there + was an actual failure. + Use EXPECTED_ERRNO rather than comparing against only ENOTDIR. - Remove the REG_ macros named below. Instead, make the old names - (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if - __USE_GNU_REGEX. - (REG_BACKSLASH_ESCAPE_IN_LISTS): - (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS): - (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS): - (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE): - (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT): - (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS): - (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES): - (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING): - (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD): - (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE): - (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS): - (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK): - (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP): - (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON): - (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC): - (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED): - (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED): - (REG_NREGS): - Remove. All uses replaced by the old RE_* names. - (RE_BACKSLASH_ESCAPE_IN_LISTS): - (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS): - (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS): - (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE): - (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT): - (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS): - (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES): - (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING): - (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD): - (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE): - (RE_CONTEXT_INVALID_DUP, RE_NO_SUB): - Don't bother having these macros be independent of each others' - values, since they no longer exist in the POSIX name space. + Emulate openat-family functions using Linux's procfs, if possible. + Idea and some code based on Ulrich Drepper's glibc changes. - Rename the following member names back to their old names, - unless !__USE_GNU_REGEX. All uses changed back. - (buffer): Renamed from re_buffer. - (allocated): Renamed from re_allocated. - (used): Renamed from re_used. - (syntax): Renamed from re_syntax. - (fastmap): Renamed from re_fastmap. - (translate): Renamed from re_translate. - (can_be_null): Renamed from re_can_be_null. - (regs_allocated): Renamed from re_regs_allocated. - (fastmap_accurate): Renamed from re_fastmap_accurate. - (no_sub): Renamed from re_no_sub. - (not_bol): Renamed from re_not_bol. - (not_eol): Renamed from re_not_eol. - (newline_anchor): Renamed from re_newline_anchor. - (num_regs): Renamed from rm_num_regs. - (start): Renamed from rm_start. - (end): Renamed from rm_end. + * lib/openat.c: (BUILD_PROC_NAME): New macro. + Include , , "alloca.h" and "intprops.h". + (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s, + before falling back on save_cwd and restore_cwd. + (fdopendir, fstatat, unlinkat): Likewise. - (free_state): Move up a bit. + * lib/openat.c (fstatat, unlinkat): Perform the syscall directly, + skipping the save_cwd...restore_cwd overhead, if FILE is absolute. - * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]: - #define to be empty. - (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2 - when that is what is intended. - (SBC_MAX): Define to UCHAR_MAX + 1, not 256. - (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed. - (MAX): New macro. - (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove. - All uses changed back to re_malloc, etc. It's now the caller's - responsibility to check for overflow; all callers changed. - (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc): - (re_x2nrealloc): Remove. - (free_state): Remove decl. + * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t, + as second argument to va_arg. Otherwise, some versions of gcc + warn that `if this code is reached, the program will abort'. - * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2): - (re_set_registers, re_exec): - Use K&R-style defn. +2006-01-09 Jim Meyering - 2006-01-31 Roland McGrath + Sync from coreutils. + * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c. + Require openat-priv.h. - * lib/regcomp.c (calc_eclosure_iter): Remove dead variables. - Reported by Mike Frysinger . +2006-01-09 Bruno Haible - 2006-01-15 Andreas Jaeger + * modules/strnlen (Include): Use strnlen.h. - [BZ #1950] - * lib/regex_internal.c (re_string_reconstruct): Adjust for - build_wcs_upper_buffer change. - (build_wcs_upper_buffer): Change return type. +2006-01-09 Bruno Haible - 2005-12-10 Ulrich Drepper + * m4/stdint.m4 (gl_STDINT_H): Also test for . - * lib/regex_internal.h: Include if available. +2006-01-09 Bruno Haible - 2005-12-06 Paolo Bonzini + * lib/sysexit_.h (EX_OK): New macro. + Suggested by Martin Lambers . - * lib/regex_internal.h (SIZE_MAX): Provide a default definition. +2006-01-09 Bruno Haible - 2005-10-14 Ulrich Drepper + * lib/stdint_.h: On Linux libc4 and libc5, include and + don't define _STDINT_H_NEED_SIGNED_INT_TYPES. - * lib/regcomp.c: Adjust for changed secondary hash function. +2006-01-09 Bruno Haible - 2005-09-30 Ulrich Drepper + * lib/stdint_.h (SIZE_MAX): Write the value without involving negative + numbers. - * lib/regex.h: Pretty printing. - Clean up namespace a bit. +2006-01-09 Bruno Haible - 2005-09-30 Jakub Jelinek + * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in. + * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in. + * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in. + * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in. - * lib/regexec.c (update_cur_sifted_state, check_arrival, - check_arrival_add_next_nodes): Avoid using uninitialized variable. +2006-01-09 Bruno Haible - 2005-09-06 Paul Eggert - Ulrich Drepper + * build-aux/javacomp.sh.in: New file, moved from lib/. + * modules/javacomp-script (Files): Update. + (configure.ac): Add AC_CONFIG_FILES invocation. + (EXTRA_DIST): Remove variable. - [BZ #1302] - * lib/regex_internal.h (bitset_t): Renamed from bitset. All uses - changed. - (bitset_word_t): Renamed from bitset_word. All uses changed. + * build-aux/javaexec.sh.in: New file, moved from lib/. + * modules/javaexec (Files): Update. + (configure.ac): Add AC_CONFIG_FILES invocation. + (EXTRA_DIST): Remove javaexec.sh.in. - 2005-09-22 Ulrich Drepper + * build-aux/csharpcomp.sh.in: New file, moved from lib/. + * modules/csharpcomp-script (Files): Update. + (configure.ac): Add AC_CONFIG_FILES invocation. + (EXTRA_DIST): Remove variable. - [BZ #281] - * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *. - * lib/regcomp.c: Remove unnecessary uses of - unsigned RE_TRANSLATE_TYPE. - * lib/regex_internal.h: Likewise. - * lib/regex_internal.c: Likewise. - * lib/regexec.c: Likewise. - Based on a patch by Stepan Kasal . + * build-aux/csharpexec.sh.in: New file, moved from lib/. + * modules/csharpexec (Files): Update. + (configure.ac): Add AC_CONFIG_FILES invocation. + (EXTRA_DIST): Remove csharpexec.sh.in. - 2005-09-07 Ulrich Drepper +2006-01-09 Andreas Gruenbacher - * lib/regexec.c (find_recover_state): Remove unnecessary - initialization. - (transit_state_bkref): Make DFA a const pointer. - (get_subexp): Likewise. - (check_arrival): Likewise. - (update_cur_sifted_state): Likewise. - (re_search_internal): Likewise. - (prune_impossible_nodes): Likewise. - (acquire_init_state_context): Likewise. - (proceed_next_node): Likewise. - (set_regs): Likewise. - (free_fail_stack_return): Likewise. - (check_arrival_expand_ecl): Mark DFA parameter as const. - (check_arrival_expand_ecl_sub): Likewise. - (check_subexp_limits): Likewise. - (sub_epsilon_src_nodes): Likewise. - (add_epsilon_src_nodes): Likewise. - (merge_state_array): Likewise. - (update_regs): Likewise. - (build_trtable): Likewise. - (sift_states_backward): Mark MCTX parameter as const. - (build_sifted_states): Likewise. - (update_cur_sifted_state): Likewise. - (sift_states_mkref): Likewise. - (check_arrival_expand_ecl): Mark eclosure as const. - (check_dst_limits_calc_pos_1): Likewise. - * lib/regex_internal.h (re_match_context_t): Make dfa a const - pointer. + Sync from coreutils. - 2005-09-06 Ulrich Drepper + Add POSIX ACL support + * lib/acl.h (copy_acl, set_acl): Add declarations. + * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL + systems other than Linux. + (chmod_or_fchmod): New function: use fchmod when possible, + and chmod otherwise. + (file_has_acl): Add a POSIX ACL implementation, with a + Linux-specific subcase. + (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and + S_ISVTX from one file to another. Fall back to fchmod/chmod when + acls are unsupported. + (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and + S_ISVTX to a defined value. Fall back to fchmod/chmod when acls + are unsupported. - * lib/regexec.c (merge_state_with_log): Define dfa as const pointer. - (transit_state_sb): Likewise. - (transit_state_mb): Likewise. - (sift_states_iter_mb): Likewise. - (check_arrival_add_next_nodes): Likewise. - (check_node_accept_bytes): Change first parameter to pointer-to-const. - [_LIBC] (re_search_2_stub): Use mempcpy. +2006-01-09 Andreas Gruenbacher - * lib/regex_internal.c (re_string_reconstruct): Avoid calling - mbrtowc for very simple UTF-8 case. + Sync from coreutils. + * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests. - * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg - a pointer-to-const. - (re_acquire_state_context): Likewise. - * lib/regex_internal.h: Adjust prototypes. +2006-01-07 Bruno Haible - * lib/regex.c: Prevent using C++ compilers. + * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to + gl_EARLY. - * lib/regex_internal.c (re_acquire_state): Minor code rearrangement. - (re_acquire_state_context): Likewise. +2006-01-04 Paul Eggert -2006-04-09 Paul Eggert + * lib/strftime.c (tzname): Don't declare if it is already #defined. + Problem reported for Mingw by Mark Junker. - * modules/regex (Depends-on): Add ssize_t. +2006-01-04 Paul Eggert -2006-04-09 Paul Eggert + * README: Gnulib normally doesn't generate a tarball. - * m4/regex.m4 (gl_REGEX): Check for new glibc interface to - translation table. +2006-01-03 Paul Eggert -2006-04-09 Paul Eggert + * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use + long int, not int, for nanosecond counts, so that people who are + used to POSIX struct timespec won't be surprised. Reported by Jim + Meyering. - * doc/gnulib-tool.texi (Modified imports): pathname -> file name. +2005-12-28 Bruno Haible -2006-03-29 Mark D. Baushke - Bruno Haible + * build-aux/config.rpath: Update from GNU gettext. - * lib/stdint_.h: On OpenBSD, don't redefine types already included in - and . +2005-12-16 Jim Meyering -2006-03-25 Ralf Wildenhues + * modules/fprintftime: New module. + * MODULES.html.sh (Date and time ): Add fprintftime. - * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define - `__error_t_defined', so argp.h will not typedef the former. +2005-12-16 Jim Meyering -2006-03-25 Paul Eggert + * m4/fprintftime.m4: New file. - * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP, - REG_SYNTAX_EMACS, and REG_IGNORE_CASE. Settle for the traditional - glibc names. Even if glibc is changed to conform to POSIX, the - traditional names will be available anyway, since regex depends on - the extensions module. Also, fix a longstanding typo in the - implementation of Spencer ERE test #75 from grep 2.3. Problems - reported by Emanuele Giaquinta. Also, change sense of cached - variable, so that the message makes sense. +2005-12-16 Jim Meyering -2006-03-24 Simon Josefsson + * lib/fprintftime.c, lib/fprintftime.h: New files. - * lib/base64.c: Fix problems reported by Eric Blake , - including some doc fixes. - (base64_encode_alloc): Fix +1 bug on allocation failures. +2005-12-15 Simon Josefsson -2006-03-24 Ralf Wildenhues + * modules/socklen (configure.ac): Fix M4 macro name, to align with + new m4/socklen.m4. - * lib/base64.c (base64_encode): Do not read past end of array with - unsanitized input on systems with CHAR_BIT > 8. +2005-12-10 Sergey Poznyakoff -2006-03-24 Eric Blake + * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and + HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME - * lib/time_r.c (copy_string_result): Remove, as it is no longer used. +2005-12-10 Sergey Poznyakoff -2006-03-22 Karl Berry + * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump + * lib/argp-help.c (fill_in_uparams): Check if the constructed + struct uparams is valid. Fall back to the default values if it is + not. - * config/srclist.txt (*setenv.[ch]): get from coreutils. - * config/srclistvars.sh (COREUTILS): new var. +2005-12-09 Sergey Poznyakoff -2006-03-17 Jim Meyering + * modules/argp (Files): Add argp-pin.c + (Depends-on): dirname + (lib_SOURCES): Add argp-pin.c - * m4/regex.m4 (gl_REGEX): Fix typo in last change: - s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/. +2005-12-09 Sergey Poznyakoff -2006-03-16 Paul Eggert + * m4/argp.m4: Check if program_invocation_name and + program_invocation_short_name are declared and define appropriate + macros if they are not. - * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code - no longer needs it. Instead, check that regoff_t is as least - as wide as ptrdiff_t. +2005-12-09 Sergey Poznyakoff - Don't define _REGEX_WIDE_OFFSETS unless using the included regex, - so that our regex.h stays compatible with the installed regex. - This is helpful for installers who configure --without-included-regex. - Problem reported by Emanuele Giaquinta. + * lib/argp-help.c (__argp_base_name): New function + (__argp_short_program_name): Rewrite using __argp_base_name + * lib/argp-namefrob.h: Define program_invocation_name and + program_invocation_short_name if requested + (__argp_base_name): Add prototype + * lib/argp-parse.c (argp_def): Use gettext wrappers + (argp_default_parser): Use __argp_base_name + * lib/argp-pin.c: New file. Defines program_invocation_name and + program_invocation_short_name on systems that lack them. -2006-03-16 Paul Eggert +2005-12-07 Paul Eggert - * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]: - Typedef to long int, not to off_, as POSIX will likely change - in that direction. + * m4/stat-time.m4 (gl_STAT_TIME): Add check for + TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3 + porting problem reported by Georg Schwarz in + . -2006-03-15 Eric Blake +2005-12-07 Paul Eggert + + * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for + TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3 + porting problem reported by Georg Schwarz in + . - * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT. +2005-12-05 Bruno Haible -2006-03-13 Sergey Poznyakoff + * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix. + * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise. + Reported by Mark Junker . - * lib/argp-help.c (validate_uparams): Fix typo - * lib/argp-parse.c (argp_default_options): Consistently begin help - messages with a lowercase letter. +2005-12-02 Paul Eggert -2006-03-11 Paul Eggert + * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T. + Use implementation from Albert Chin, with some + comments/corrections by Stepan Kasal and myself. - * lib/time_r.h (asctime_r, ctime_r): Remove. These functions can - overrun buffers and shouldn't be used (much as gets shouldn't be - used). - * lib/time_r.c (asctime_r, ctime_r): Likewise. +2005-12-02 Bruno Haible -2006-03-08 Simon Josefsson + * gnulib-tool (func_import): Accept GPLed build tool modules when + --lgpl is given. + * modules/csharpcomp-script: New file. + * modules/csharpcomp: Depend on it. + * modules/javacomp-script: New file. + * modules/javacomp: Depend on it. + Suggested by Simon Josefsson. - * m4/gc-random.m4: Permit 'no' as variable values and fix warnings, - suggested by Ralf Wildenhues . +2005-12-01 Paul Eggert -2006-03-08 Simon Josefsson + * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch + statement, to work around an HP-UX 10.20 compiler bug reported by + Peter O'Gorman. - * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of - $target, suggested by Ralf Wildenhues . +2005-11-29 Paul Eggert -2006-03-08 Simon Josefsson + * modules/savedir (Depends-on): Add openat. - * lib/gc-gnulib.c (randomize): Don't open files called 'no', they - signal that configure disabled the device. +2005-11-29 Paul Eggert -2006-03-08 Simon Josefsson + * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare. + (uintmax_t) [defined uintmax_t]: Do not declare. + (SIZE_MAX) [defined SIZE_MAX]: Do not define. + This works around a problem if intmax_t.m4 and/or uintmax_t.m4 + and/or size_max.m4 are also used. Problem reported by Mark D. Baushke. + (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the + sake of portability to weird hosts that C allows (though we don't + know of any practical examples). - * build-aux/maint.mk: Fix refresh-po, to handle no translated - languages. + * lib/savedir.h (fdsavedir): New decl. + * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter + contains most of the former guts of savedir. + (savedir): Use savedirstream. + Include "openat.h". -2006-03-07 Simon Josefsson +2005-11-25 Paul Eggert - * modules/getopt (Depends-on): Add unistd. + * modules/obstack (Files): Add m4/ulonglong.m4. + Problem reported by Davide Angelocola. - * modules/unistd: New file. +2005-11-15 Paul Eggert -2006-03-07 Simon Josefsson + * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as + coreutils no longer futzes with rounding modes. - * modules/gc-random: New file. +2005-11-14 Jim Meyering -2006-03-07 Simon Josefsson + * lib/mkstemp-safer.c: Include , required for possible + replacement of mkstemp. - * m4/unistd_h.m4: New file. +2005-11-10 Simon Josefsson -2006-03-07 Simon Josefsson + * lib/readline.c: Remove EOL. - * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the - test to be side-effect free by storing the result in the cache - variable gl_cv_lib_readline, and moving the assignment of - LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT. - From Ralf Wildenhues . +2005-11-10 Paul Eggert -2006-03-07 Simon Josefsson + * modules/gethrxtime (Depends-on): Add gettime. - * m4/gc-random.m4: New file, mostly from gc.m4. Warn instead of - error on missing devices (the functions will return an error). +2005-11-10 Paul Eggert - * m4/gc.m4: Move random stuff to gc-random.m4 + * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME + or gettimeofday; no longer needed. -2006-03-07 Simon Josefsson +2005-11-10 Paul Eggert - * lib/unistd_.h: New file. + * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time / + time business. + (gethrxtime) [! (HAVE_NANOUPTIME + || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME) + || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling + our own approximation. -2006-03-07 Simon Josefsson +2005-11-08 Eric Blake - * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM. + * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS. -2006-03-07 Paul Eggert +2005-11-08 Eric Blake - * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file. - Problem reported by Juan Manuel Guerrero. + * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS. -2006-03-07 Paul Eggert +2005-11-04 Bruno Haible - * lib/c-stack.c: Include unistd.h unconditionally, since we now assume - the unistd module. - * lib/getlogin_r.c: Likewise. - * lib/getlogin_r.h: Likewise. - * lib/glob.c: Likewise. - * lib/pagealign_alloc.c: Likewise. - * lib/unistd_.h: Remove; no longer needed. + * gnulib-tool: Implement --update mode. -2006-03-07 Paul Eggert +2005-10-30 Paul Eggert - * MODULES.html.sh (Support for systems lacking POSIX:2001): - Add unistd. - * modules/c-stack (Depends-on): Add unistd. - * modules/getlogin_r: Likewise. - * modules/glob: Likewise. - * modules/pagealign_alloc: Likewise. - * modules/unistd (Files): Remove lib/unistd_.h. - (EXTRA_DIST): Remove. - (unistd.h): Create using 'echo' rather than 'cp', so that we don't - need unistd_.h. - (MOSTLYCLEANFILES): Remove unistd.h-t. + Fix porting problem reported by Theodoros V. Kalamatianos. + * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]: + Don't assume that futimes failing means we must fail. -2006-03-03 Simon Josefsson +2005-10-30 Paul Eggert - * build-aux/maint.mk: Add several syntax checks from CoreUtils. + * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local + variables to suggest the intended function of the PATH_MAX check. -2006-03-03 Simon Josefsson +2005-10-30 Kean Johnston - * build-aux/maint.mk: Add refresh-po rule, based on ideas from - libidn and bison. + Trivial changes to support SCO systems. + * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well + as PATH_MAX. + * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems, + where __ptr is null when no I/O is pending. -2006-03-03 Simon Josefsson +2005-10-29 Paul Eggert - * build-aux/maint.mk: Add indent target. + * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir + leave errno alone. Problem reported by Dmitry V. Levin. -2006-03-03 Ralf Wildenhues (tiny change) +2005-10-28 Simon Josefsson - * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use - our replacement poll.h in any case, to avoid a differing - declaration from a system header. Seen on AIX. + * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c: + Test more. -2006-03-01 Simon Josefsson + * tests/test-gc-md2.c, tests/test-md2.c: New files. - * lib/readline.c: Fix typo, tiny patch from Stepan Kasal - . + * modules/md2, modules/md2-tests: New files. -2006-03-01 Paul Eggert +2005-10-28 Simon Josefsson - * modules/gettime (Depends-on): Add extensions module. - * modules/nanosleep (Depends-on): Likewise. - * modules/settime (Depends-on): Likewise. + * m4/inet_ntop.m4: More tests. -2006-03-01 Paul Eggert + * m4/gc-md2.m4, md2.m4: New file. - * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS, - not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled - pedantically. - * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise. - * m4/timespec.m4 (gl_TIMESPEC): Likewise. +2005-10-28 Simon Josefsson - * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test", - not "==". Reported by Ralf Wildenhues. + * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add + "restrict" keywords, as per POSIX. Protect the function + declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP. + Don't use K&R prototypes. Check the sprintf return values. + Re-define EAFNOSUPPORT if not present. Indent. -2006-03-01 Karl Berry + * lib/md5.h, md5.c: Simplify buffer handling visavi alignment, + suggested by Bruno Haible . - * doc/Copyright/request-*: new files, synced from gnuorg. + * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value. -2006-03-01 Karl Berry + * lib/gc.h: Add MD2 and RMD160 length defines. Add prototypes. - * config/srclist.txt (Copyright/*): new entries. + * lib/gc-libgcrypt.c: Add MD2 (which is not available through + libgcrypt). -2006-02-28 Simon Josefsson + * lib/gc-gnulib.c: Add MD2. Implement gc_hash_* API. - * lib/getopt.c: Protect #include of unistd.h, for MSVS. + * lib/md2.h, lib/md2.c: New files. -2006-02-27 Simon Josefsson +2005-10-28 Paul Eggert - * lib/base64.h: Indent #define's. From Jim Meyering - . + * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave + errno alone. Problem reported by Frederic Jolliton. -2006-02-27 Jim Meyering +2005-10-27 Paul Eggert - Revert the change of 2006-02-24, so these files can continue - to be sync'd from gettext. - * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion - of `config.h'. + * modules/verify (License): Change from GPL to LGPL. This is a + tiny module and there are apparently near-equivalents that are + under the BSD license. -2006-02-26 Paul Eggert +2005-10-24 Simon Josefsson - * modules/intprops: New file. - * MODULES.html.sh (Numeric conversion functions ): - Add intprops. - * modules/getloadavg (Files): Remove lib/intprops.h. - (Depends-on): Add intprops. - * modules/human: Likewise. - * modules/inttostr: Likewise. - * modules/openat: Likewise. - * modules/sig2str: Likewise. - * modules/userspec: Likewise. - * modules/utimecmp: Likewise. - * modules/xnanosleep: Likewise. - * modules/xstrtol: Likewise. + * modules/sha1: Relicense to LGPL. -2006-02-24 Ralf Wildenhues (tiny changes) +2005-10-24 Simon Josefsson - * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES. - * modules/lock-tests (TESTS): Use $(EXEEXT). - * modules/tls-tests: Likewise. - * modules/argp-tests: Likewise. - (check_PROGRAMS): New var, replacing... - (noinst_PROGRAMS, test_argp_SOURCES): Remove. + * lib/md4.h: Shrink buffer size, now that we changed the type. -2006-02-24 Ralf Wildenhues +2005-10-23 Simon Josefsson - * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of - `config.h'. + * gnulib-tool (func_import): Fix --tests-base. -2006-02-24 Paul Eggert +2005-10-22 Simon Josefsson - * lib/glob.c: Say "invalid" rather than "illegal" in comments. + * modules/arcfour (Depends-on): Need stdint. -2006-02-22 Ralf Wildenhues +2005-10-22 Simon Josefsson - Sync from coreutils. - * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and - gl_CHDIR_SAFER. + * m4/gc.m4: Don't be fooled by --disable-*random-device parameters, + suggested by Bruno Haible . Fix error messages. -2006-02-22 Jim Meyering +2005-10-22 Simon Josefsson - Sync from coreutils. - * m4/chdir-safer.m4: New file. + * lib/md4.h, md4.c: Simplify buffer handling visavi alignment, + suggested by Bruno Haible . -2006-02-20 Paul Eggert +2005-10-22 Simon Josefsson - * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where - AT_FDCWD exceeds INT_MAX. - * lib/openat.h (AT_FDCWD): Likewise. + * lib/crc.h: Include stddef.h, for size_t. -2006-02-17 Eric Blake +2005-10-22 Simon Josefsson - * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error. + * lib/arcfour.h, arcfour.c: Use fixed size indices in the + arcfour_context struct (simplify test vector testing in GNU + Shishi). -2006-02-16 Simon Josefsson +2005-10-21 Simon Josefsson - * modules/getaddrinfo (Depends-on): Add sys_socket. + * modules/des, modules/des-tests: New files. -2006-02-15 Simon Josefsson + * modules/gc-des, modules/gc-des-tests: New files. - * build-aux/maint.mk: Add dsyntax-check rule. + * tests/test-des.c, tests/test-gc-des.c: New file. -2006-02-15 Eric Blake +2005-10-21 Simon Josefsson - * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using - winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes - 'present but cannot compile' warnings on cygwin. - * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET. Don't - use ws2tcpip.h if sys/socket.h works. - * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET. - (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present. + * modules/arctwo, modules/arctwo-tests: New files. -2006-02-14 Simon Josefsson + * tests/test-arctwo.c: New file. - * modules/maintainer-makefile (Files): Rename. + * modules/gc-arctwo, modules/gc-arctwo-tests: New files. - * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk - and (the local) Makefile.cfg to maint-cfg.mk. + * tests/test-gc-arctwo.c: New file. - * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former - to the latter. +2005-10-21 Simon Josefsson - * modules/maintainer-makefile: New module. + * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by + Bruno Haible . - * build-aux/Makefile.maint: New file, from GNU CoreUtils, although - severaly stripped to make it possible to build it up from scratch - with reliable tests. + * m4/gc-des.m4: New file. - * build-aux/GNUmakefile: New file, from GNU CoreUtils with some - fixes to permit overriding the default actions when configure and - makefile are not available. +2005-10-21 Simon Josefsson -2006-02-14 Paul Eggert + * m4/arctwo.m4: New file. - Sync from coreutils. - * modules/lstat (Depends-on): Don't depend on xalloc. - (License): Change from GPL to LGPL, since this is now simply a - replacement for a libc function. + * m4/gc-arctwo.m4: New file. -2006-02-14 Jim Meyering +2005-10-21 Simon Josefsson - Sync from coreutils. + * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one + block. - Eliminate the unwelcome (albeit unlikely) possibility of xmalloc - failure on deficient systems, and simplify gnulib lgpl dependencies. - * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the - xmalloc/lstat combination. Based on a patch from Bruno Haible. +2005-10-21 Simon Josefsson - * lib/xalloc-die.c: Remove unused definition of N_. + * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible + . -2006-02-14 Jim Meyering + * lib/hmac-sha1.c (hmac_sha1): Likewise. - Sync from coreutils. - * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke - AC_CHECK_FUNCS(getmntent) unconditionally so that tests of - $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not - double-quote uses of that variable, to accommodate the rare case in - which getmntent is available in none of the libraries checked. This - happens at least on FreeBSD 5.0. + * lib/crc.c (crc32_update): Actually use crc parameter, suggested by + Bruno Haible . -2006-02-13 Simon Josefsson + * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible + . - * gnulib-tool (Usage): Fix --import, from - karl@freefriends.org (Karl Berry). +2005-10-21 Simon Josefsson -2006-02-13 Sergey Poznyakoff + * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB. - * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12 +2005-10-21 Simon Josefsson -2006-02-07 Sergey Poznyakoff + * lib/gc-gnulib.c: Support ARCTWO in CBC mode. - * lib/argp-namefrob.h: Restore changes accidentally lost during the - "autoupdate" on 2005-12-12. +2005-10-21 Simon Josefsson -2006-02-07 Paul Eggert + * lib/des.h, lib/des.c: New files. - * modules/closeout (Depends-on): Remove atexit. + * lib/gc-gnulib.c: Support DES.c -2006-02-07 Paul Eggert +2005-10-21 Simon Josefsson - * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero - ints to 0 or 1, as this isn't true for the stdbool.h substitute. + * lib/arctwo.h, lib/arctwo.c: New files. -2006-02-05 Paul Eggert + * lib/gc-gnulib.c: Support ARCTWO. - * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define - __EXTENSIONS__ if this causes compilation to fail. Problem - reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7 - c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED. +2005-10-21 Simon Josefsson -2006-01-27 Paul Eggert + * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro, + suggested by Ralf Wildenhues . - * lib/fnmatch.c (L_): Renamed from L, to work around a bug in - Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in - . - All uses changed. +2005-10-21 Simon Josefsson -2006-01-26 Simon Josefsson + * gnulib-tool (func_import, func_create_testdir): Define automake + conditional GL_COND_LIBTOOL if libtool is used (to be used by modules + Makefile.am snippet), + suggested by Bruno Haible . - * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo - prototype is visible on mingw32. + * modules/gc (Makefile.am): Use it. - * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set, - for mingw32. +2005-10-21 Bruno Haible - * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for - mingw32). + * gnulib-tool (func_import, func_create_testdir): Add quoting to last + patch. -2006-01-26 Paul Eggert +2005-10-19 Simon Josefsson - * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too. Don't - attempt to open for write; this always fails, at least on POSIX - hosts. This reinstates the 2006-01-09 change, which was - inadvertently removed. + * tests/test-gc-rijndael.c: New file. -2006-01-26 Bruno Haible + * modules/gc-rijndael, modules/gc-rijndael-test: New files. - * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :". - Reported by Paul Eggert. +2005-10-19 Simon Josefsson -2006-01-26 Bruno Haible - Paul Eggert + * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer + interface too. - * lib/stdbool_.h (_Bool) - [(! (defined __cplusplus || defined __BEOS__) - && !defined __GNUC__ - && !(defined __HP_cc || defined __xlc__ - || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1)) - || defined __sgi))]: - #define to signed char in these cases too; this simplifies - the code (so that we don't have to worry about HP-UX, AIX, SunPRO, - etc., separately) and makes it more conservative. +2005-10-19 Simon Josefsson -2006-01-25 Simon Josefsson + * tests/test-gc-arcfour.c: New file. - * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and - -lws2_32. Protect sys/socket.h and netdb.h #include's. Include - ws2tcpip.h with WINVER=0x0501. All for mingw32. + * modules/gc-arcfour, modules/gc-arcfour-tests: New files. -2006-01-25 Sergey Poznyakoff +2005-10-19 Simon Josefsson - * lib/argp-namefrob.h: Bugfix. Remove stray # + * modules/gc-md4, modules/gc-md4-tests: New file. -2006-01-25 Paul Eggert + * tests/test-gc-md4.c: New file. - * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too, - so that we test the test. - Check for yet another HP-UX cc bug involving *bool |= bool. +2005-10-19 Simon Josefsson -2006-01-25 Karl Berry + * m4/gc-md4.m4: New file. - * config/srclist.txt (vasnprintf.c): sync lost. +2005-10-19 Simon Josefsson -2006-01-25 Jim Meyering + * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4, + gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal + . - Sync from the stable (b5) branch of coreutils: +2005-10-19 Simon Josefsson - * lib/fts.c (fts_children): Don't let close() clobber errno from - failed fchdir(). + * m4/gc-arcfour.m4: New file. - * lib/fts.c (fts_stat): When following a symlink-to-directory, - don't necessarily interpret stat-fails+lstat-succeeds as indicating - a dangling symlink. That can also happen at least for ELOOP. - The fix: return FTS_SLNONE only when the stat errno is ENOENT. - FYI, this bug predates the inclusion of fts.c in coreutils. + * m4/gc-rijndael.m4: New file. - * lib/fts.c (fts_open): Put new maxarglen declaration and uses - in their own block, so pre-c99 compilers don't object. +2005-10-19 Simon Josefsson - Avoid the double-free (first in fts_read, second in fts_close) that - would occur when an `active' directory is made inaccessible (e.g., - via chmod a-x) during a traversal. - * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur - before returning. Reproduce this failure by - mkdir -p a/b; cd a; chmod a-x . b - Reported by Stavros Passas. + * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4. -2006-01-25 Jim Meyering +2005-10-19 Simon Josefsson - * lib/fileblocks.c: Remove more useless parentheses. - * lib/readutmp.h: Likewise. + * lib/gc-gnulib.c: Support ARCFOUR. -2006-01-25 Bruno Haible +2005-10-19 Simon Josefsson - * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid - warnings. - Reported by Paul Eggert. + * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES + support. -2006-01-25 Bruno Haible + * lib/gc.h: Add ECB enum type. - * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get - rid of a trap command. For Solaris sh. - Reported by Mark D. Baushke . + * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h. -2006-01-24 Simon Josefsson +2005-10-18 Simon Josefsson - * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by - Bruno. + * tests/test-md5.c: New file. -2006-01-24 Karl Berry + * modules/md5-tests: New file. - * config/srclist.txt (argp-namefrob.h): sync lost. +2005-10-18 Simon Josefsson -2006-01-24 Jim Meyering + * tests/test-md4.c: New file. - * modules/openat (Files): Add lib/intprops.h. - From Mark D. Baushke. + * modules/md4, modules/md4-tests: New files. -2006-01-24 Jim Meyering +2005-10-18 Simon Josefsson - * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]). - Reported by Mark D. Baushke. + * m4/md4.m4: New file. -2006-01-24 Jim Meyering +2005-10-18 Simon Josefsson + + * lib/md4.h, lib/md4.c: New files, based on md5.?. - * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'. +2005-10-17 Stepan Kasal -2006-01-24 Bruno Haible + * gnulib-tool (func_create_testdir): Omit the second check whether + BUILT_SOURCES in nonempty. - * modules/strnlen (Maintainer): Change from glibc to all. +2005-10-17 Simon Josefsson -2006-01-24 Bruno Haible + * tests/test-rijndael.c: New file. - * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs. - Patch by Paul Eggert. +2005-10-17 Simon Josefsson -2006-01-24 Bruno Haible + * modules/sha1: Depend on stdint instead of md5. - * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler - already has it. - Report and patch by Albert Chin-A-Young on - 2005-11-26. + * modules/md5: Depend on stdint, remove uint32_t. - * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as - 'signed char' to avoid problems with the built-in _Bool type. - Reported by Paul Eggert on 2005-11-26. +2005-10-17 Simon Josefsson -2006-01-24 Bruno Haible + * modules/gc-sha1-tests: New file. - * gnulib-tool (func_import): Avoid constructing complicated sed - expressions inside backquote. - Report and solution by Mark D. Baushke . + * tests/test-gc-sha1.c: New file. -2006-01-23 Ulrich Drepper +2005-10-17 Simon Josefsson - These changes imported from libc. - * lib/getopt.c: Use __fxprintf instead of inline stream orientation - test and two separate function calls. - * lib/strndup.c (__strndup): Add libc_hidden_def. + * m4/md5.m4: Remove call to uint32_t.m4. -2006-01-23 Simon Josefsson +2005-10-17 Simon Josefsson - * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS. - Remove the test_*_SOURCES variable: automake infers it by default. - * modules/tls-tests: Likewise. + * lib/sha1.c: Use uint32_t instead of md5_uint32.t -2006-01-23 Paul Eggert + * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from + md5.h. - Work around porting bugs reported by Dieter in - . - * lib/getopt.c (_NOPROTO): Remove; no longer needed. - Include and in all environments; it's safe now. - Include "getopt.h" first, to check interface. - (getenv): Declare only if defined HAVE_DECL_GETENV && - !HAVE_DECL_GETENV. - * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype. - (__strndup): Revert to K&R-style function dfns, the glibc style. - * lib/strnlen.c: Don't claim it's taken from glibc; it's not. - (strnlen, __strnlen): Remove #defines and #undefs; not needed. - Include strnlen.h first, to get prototype properly. - (strnlen): Renamed from __strnlen. - Remove weak alias. + * lib/md5.c: Use uin32_t. Fix non-gcc UNALIGNED_P macro. -2006-01-23 Paul Eggert + * lib/md5.h: Use stdint.h and uint32_t. Doc fix. - * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl. +2005-10-17 Simon Josefsson -2006-01-23 Paul Eggert + * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions. - * config/srclist.txt: Adjust to reflect glibc reorganization. - This affects only comments. +2005-10-17 Simon Josefsson -2006-01-22 Ralf Wildenhues (tiny change) + * lib/gc.h, gc-libgcrypt.c: Add ciphers. - * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp. - Reported by Bruce Korb . +2005-10-17 Simon Josefsson -2006-01-22 Paul Eggert + * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert. - * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;" - to pacify gcc -Wswitch-default. + * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes. -2006-01-22 Bruno Haible +2005-10-17 Bruno Haible - * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the - temporary buffer for sprintf, take into account the precision also - for 'd', 'i', 'u', 'o', 'x', 'X'. + * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so + that it can also be used in a test. -2006-01-21 Sergey Poznyakoff +2005-10-16 Bruno Haible - * modules/argp-tests: New module - * tests/test-argp.c: New file - * tests/test-argp-2.sh: New file + * gnulib-tool (func_emit_tests_Makefile_am): Also define + TESTS_ENVIRONMENT, so that individual tests can augment it. -2006-01-21 Sergey Poznyakoff + * gnulib-tool (func_create_testdir): Use an intermediate target for + building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain + macros, like $(ALLOCA_H), which cannot be passed through the command + line. - * lib/argp-help.c (usage_long_opt): Do not print DOC options. - (__argp_base_name): Removed - * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a - typo. - (__argp_base_name): Provide macro definition or extern declaration - depending on the configuration +2005-10-15 Simon Josefsson -2006-01-20 Simon Josefsson + * modules/rijndael-tests: New file. - * modules/inet_ntop (Depends-on): Depend on sys_socket. + * modules/rijndael: New file. -2006-01-20 Simon Josefsson +2005-10-15 Simon Josefsson - * lib/inet_ntop.h: Unconditionally include sys/socket.h. + * m4/rijndael.m4: New file. -2006-01-20 Paul Eggert +2005-10-15 Simon Josefsson - * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore - rather than -Xlinker -z -Xlinker ignore, as it's more portable. - Suggested by Bruno Haible. + * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files. -2006-01-20 Karl Berry + * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files. - * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out - until changes propagate, I guess. +2005-10-14 Simon Josefsson -2006-01-19 Simon Josefsson + * tests/test-arcfour.c: New file. - * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32. + * modules/arcfour, modules/arcfour-tests: New files. -2006-01-19 Simon Josefsson +2005-10-14 Simon Josefsson - * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly. + * m4/arcfour.m4: New file. -2006-01-19 Simon Josefsson +2005-10-14 Simon Josefsson - * gnulib-tool: Set check_PROGRAMS. + * lib/arcfour.h, lib/arcfour.c: New files. - * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests, - modules/des-tests, modules/gc-arcfour-tests, - modules/gc-arctwo-tests, modules/gc-des-tests, - modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests, - modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests, - modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests, - modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests, - modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests, - modules/md5-tests, modules/readline, modules/rijndael-tests: Use - check_PROGRAMS instead of noinst_PROGRAMS to be able to remove - test_*_SOURCES. +2005-10-14 Roland McGrath -2006-01-18 Simon Josefsson + Import from libc. [BZ #1331] + * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed + macro argument. + Reported by Matej Vela . - * modules/socklen (Depends-on): Depend on sys_socket. +2005-10-14 Paul Eggert -2006-01-18 Simon Josefsson + * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't + include ; no longer needed. - * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests, - modules/des-tests, modules/gc-arcfour-tests, - modules/gc-arctwo-tests, modules/gc-des-tests, - modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests, - modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests, - modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests, - modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests, - modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests, - modules/md5-tests, modules/readline, modules/rijndael-tests: Add - $(EXEEXT) to automake TESTS variable, for mingw32. +2005-10-14 Paul Eggert -2006-01-17 Simon Josefsson + * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h. - * modules/socklen (Include): Need sys/socket.h. +2005-10-14 Jakub Jelinek + and Ulrich Drepper -2006-01-17 Bruno Haible + Import from libc. + * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf + instead of inline stream orientation test and two separate + function calls. Pay no attention to USE_IN_LIBIO. - * modules/ssize_t (Include): Add . +2005-10-13 Simon Josefsson -2006-01-16 Paul Eggert + * modules/gc-hmac-md5-tests: New file. - * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as - it's not portable and it doesn't work with cross-compiles. - Problem reported by Bruno Haible. Fix missing-$ typo in - 'test "gl_cv_ignore_unused_libraries" ...' that prevented - -zignore from being used with Sun's C compiler. + * tests/test-gc-hmac-sha1.c: New file. -2006-01-12 Simon Josefsson + * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests. - * lib/base64.c: Fix warning, reported by Bruno Haible - and patch by Paul Eggert . + * modules/gc-hmac-md5-tests: New file. -2006-01-12 Bruno Haible + * tests/test-gc-md5.c: New file. - * modules/ldd: New file. - * build-aux/ldd.sh.in: New file. - * MODULES.html.sh (Support for building libraries and executables): Add - ldd. + * modules/gc-md5-tests: New file. -2006-01-12 Bruno Haible +2005-10-13 Simon Josefsson - * m4/ldd.m4: New file. + * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation. + Move memory allocation outside of loop. -2006-01-12 Bruno Haible +2005-10-13 Paul Eggert - * gnulib-tool (func_import, func_create_testdir): Don't go into an - endless loop while replacing $auxdir with build-aux. + * lib/mkdir-p.c (make_dir_parents): Don't report an error if an + intermediate directory is in a read-only file system. Problem + reported by Eric Blake. -2006-01-11 Simon Josefsson +2005-10-13 Oskar Liljeblad - * lib/stdint_.h (SIZE_MAX): Add missing (. + * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol. -2006-01-11 Paul Eggert +2005-10-12 Simon Josefsson - Sync from coreutils. - * lib/md5.c: Fix commentary typos. - (alignof, UNALIGNED_P): No need for a GCC-specific version. - * lib/md5.h (__attribute__): Remove; unused. - * lib/sha1.c: Fix commentary to match md5 better. - * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer, - so that we don't need to worry about alignment. All uses changed. - This merges the 2005-10-28 md5 change into sha1. + * tests/test-hmac-sha1.c: New file. -2006-01-11 Jim Meyering + * modules/hmac-sha1-tests: New file. - Sync from coreutils. - * lib/md5.c (OP): Fix spacing. + * modules/hmac-sha1: New file. -2006-01-11 Bruno Haible +2005-10-12 Simon Josefsson - Ensure automatic ordering between gl_LOCK and gl_ARGP. - * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK. - (gl_LOCK): New macro, requiring gl_LOCK_BODY. + * modules/gc-sha1: New file. -2006-01-11 Bruno Haible +2005-10-12 Simon Josefsson - Ensure automatic ordering between gl_LOCK and gl_ARGP. - * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into - the "early" section as well. + * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files. -2006-01-11 Bruno Haible + * tests/test-gc-pbkdf2-sha1.c: New file. - Avoid "ar: no archive members specified" error on MacOS X. - * gnulib-tool (func_modules_add_dummy): New function. - (func_import, func_create_testdir): Invoke it. +2005-10-12 Simon Josefsson -2006-01-11 Bruno Haible + * modules/gc-md5, modules/gc-hmac-md5: New files. - * gnulib-tool (func_import, func_create_testdir): Replace build-aux - with $auxdir in AC_CONFIG_FILES statements. + * modules/gc (Files): Remove md5, memxor and hmac files. -2006-01-11 Bruno Haible +2005-10-12 Simon Josefsson - * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): - Initialize also noinst_HEADERS to empty. + * m4/gc-pbkdf2-sha1.m4: New file. -2006-01-11 Bruno Haible + * m4/gc-hmac-sha1.m4: New file. - * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New - variables. - (func_create_megatestdir): Call aclocal, autoconf, automake here, not - autoreconf. + * m4/gc-sha1: New file. -2006-01-11 Bruno Haible + * m4/hmac-sha1.m4: New file. - * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make - overridable by the user. - Reported by Ralf Wildenhues . +2005-10-12 Simon Josefsson -2006-01-10 Simon Josefsson + * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files. - * modules/sys_socket: New file. + * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5. -2006-01-10 Simon Josefsson +2005-10-12 Simon Josefsson - * m4/sys_socket_h.m4: New file. + * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types, + suggested by Bruno Haible . -2006-01-10 Simon Josefsson +2005-10-12 Simon Josefsson - * lib/socket_.h: New file. + * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1. -2006-01-10 Paul Eggert +2005-10-12 Simon Josefsson - * modules/readutmp (Maintainer): Add myself. + * lib/gc-pbkdf2-sha1.c: New file. -2006-01-10 Paul Eggert + * lib/gc.h: Add gc_pbkdf2_sha1 prototype. - * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing - the 2002-12-31 change. Problem and fix reported by Bruno Haible. - People who are still concerned with buggy memcmp implementations - can invoke gl_FUNC_MEMCMP themselves. +2005-10-12 Simon Josefsson -2006-01-10 Paul Eggert + * lib/gc-libgcrypt.c (gc_hmac_sha1): New function. - * lib/regex_internal.h (BITSET_WORD_BITS): - Work around a bug in 64-bit PGC (before version 6.1-2), where the - preprocessor mishandles large unsigned values as if they were signed. - Problem reported by Claudio Fontana in - . + * lib/gc-gnulib.c (gc_hmac_sha1): New function. -2006-01-10 Jim Meyering +2005-10-12 Simon Josefsson - Avoid the double-free (first in fts_read, second in fts_close) that - would occur when an `active' directory is made inaccessible (e.g., - via chmod a-x) during a traversal. - * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur - before returning. Reproduce this failure by - mkdir -p a/b; cd a; chmod a-x . b - Reported by Stavros Passas. + * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and + GC_USE_HMAC_MD5, respectively. - Sync from coreutils. - * lib/sha1.c: Tweak grammar in a comment. + * lib/gc-libgcrypt.c (gc_md5): Fix assert call. + (gc_md5): Fix typo. -2006-01-10 Jim Meyering + * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype. - * m4/fpending.m4: Also include , for Dragonfly. - Patch by Joerg Sonnenberger. + * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto. -2006-01-10 Bruno Haible + * lib/gc-gnulib.c (gc_hash_buffer): Ditto. - * modules/readutmp: Depend on module free. - * modules/strtok_r: Depend on module restrict. +2005-10-12 Bruno Haible -2006-01-10 Bruno Haible + * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H. + Reported by Stepan Kasal . - * modules/gettext (configure.ac): Add an invocation of - AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool. +2005-10-11 Simon Josefsson -2006-01-10 Bruno Haible + * tests/test-crc.c: New file. - * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked. - Reported by Werner Lemberg . + * modules/crc, modules/crc-tests: New files. -2006-01-10 Bruno Haible +2005-10-11 Simon Josefsson - * lib/localcharset.c: Update from GNU gettext. + * m4/crc.m4: New file. -2006-01-10 Bruno Haible +2005-10-11 Simon Josefsson - * lib/argp.h (__const): Remove macro. Use const instead. - * lib/argp-fmtstream.h (__const): Likewise. - * lib/glob_.h (__const): Remove macro. - * lib/glob-libc.h: Use const instead of __const. + * lib/gc.h: Add gc_hash and gc_hash_buffer. -2006-01-10 Bruno Haible + * lib/gc-gnulib.c (gc_hash_buffer): Add. Reorder #include's. - * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR - variable. - Needed to avoid an automake error regarding the 'gettext' module. + * lib/gc-libgcrypt.c (gc_hash_buffer): Add. -2006-01-09 Simon Josefsson +2005-10-11 Simon Josefsson - * modules/inet_ntop (Depends-on): Add restrict. + * lib/crc.h, lib/crc.c: New files. -2006-01-09 Simon Josefsson + * lib/gc.h (gc_hash_buffer): Add doc. - * modules/gc-rijndael-tests (License): Put under LGPL. +2005-10-11 Bruno Haible - * modules/gc-des-tests (License): Likewise. + * modules/c-strcasestr: New file. + * MODULES.html.sh (String handling ): Add c-strcasestr. - * modules/gc-arcfour-tests (License): Likewise. +2005-10-11 Bruno Haible - * modules/gc-arctwo-tests (License): Likewise. + * modules/c-strcase: New file. + * MODULES.html.sh (String handling ): Add c-strcase. - * modules/gc-pbkdf2-sha1-tests (License): Likewise. +2005-10-11 Bruno Haible - * modules/gc-hmac-sha1-tests (Files): Likewise. + * lib/strcasecmp.c: Include limits.h. + (strcasecmp): Avoid integer overflow on exotic platforms. + * lib/strncasecmp.c: Include limits.h. + (strncasecmp): Avoid integer overflow on exotic platforms. + Reported by Paul Eggert. - * modules/gc-hmac-md5-tests (License): Likewise. +2005-10-11 Bruno Haible - * modules/gc-sha1-tests (License): Likewise. + * lib/c-strcasestr.h: New file, from GNU gettext. + * lib/c-strcasestr.c: New file, from GNU gettext. - * modules/gc-md5-tests (License): Likewise. +2005-10-11 Bruno Haible - * modules/gc-md4-tests (License): Likewise. + * lib/c-strcase.h: New file, from GNU gettext. + * lib/c-strcasecmp.c: New file, from GNU gettext. + * lib/c-strncasecmp.c: New file, from GNU gettext. - * modules/gc-md2-tests (License): Likewise. +2005-10-10 Paul Eggert - * modules/gc-tests (License): Likewise. + * modules/mempcpy (License): GPL -> LGPL. + * modules/strchrnul (License): Likewise. + * modules/sysexits (License): Likewise. - * modules/des-tests (License): Likewise. +2005-10-08 Simon Josefsson - * modules/md4-tests (License): Likewise. + * config/srclist.txt: Bug 1423 is closed, but 1439 remains. - * modules/md2-tests (License): Likewise. +2005-10-07 Simon Josefsson -2006-01-09 Paul Eggert + * m4/memxor.m4: Remove gl_C_RESTRICT call. - Sync from coreutils: +2005-10-06 Simon Josefsson - * MODULES.html.sh (build_lib): New section, with new lib-ignore module. - * modules/lib-ignore: New file. - * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h, - chdir-safer.m4, lchmod.m4. - * modules/openat: Add mkdirat.c, openat-priv.h. + * tests/test-hmac-md5.c: New file. -2006-01-09 Paul Eggert + * modules/hmac-md5-tests: New file. - Sync from coreutils. - * m4/lib-ignore.m4: New file. - * m4/lchmod.m4: New file. + * modules/hmac-md5: New file. -2006-01-09 Paul Eggert +2005-10-06 Simon Josefsson - Sync from coreutils. - * lib/chdir-long.c (cdb_free): Don't bother trying to open directory - for write access: POSIX says that must fail. - * lib/fts.c (diropen): Likewise. - * lib/save-cwd.c (save_cwd): Likewise. - * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as - well, for minor improvements on hosts that lack O_DIRECTORY. - * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]: - Don't try O_WRONLY unless O_RDONLY failed wth EACCES. - Fall back on chown if open failed with EACCES. + * m4/hmac-md5.m4: New file. - * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]: - Report an error at compile-time if only a 1-second nominal clock - resolution is found. + * m4/memxor.m4: Require gl_C_RESTRICT. - * lib/lchmod.h: New file. - * lib/mkdir-p.c: Include lchmod.h, lchown.h. - (make_dir_parents): Use lchown rather than chown, and - lchmod rather than chmod. +2005-10-06 Simon Josefsson - * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are - dummies too. Problem with "none" reported by Bob Proulx. Problem with - "proc" reported by n0dalus. + * lib/memxor.c (memxor): Avoid casts and warnings. - * lib/mountlist.c: Include . - (dev_from_mount_options) - [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: - New function. It no longer assumes "dev=" has the System V meaning - on Linux (since it doesn't). It also parses "dev=" more carefully. - (read_file_system_list) - [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it. - MOUNTED_GETMNTENT2 is new here; the code didn't used to look for - dev= in that case. +2005-10-06 Simon Josefsson - * lib/posixtm.h (PDS_PRE_2000): New macro. - * lib/posixtm.c (year): Arg is now syntax_bits rather than - allow_century. All usages changed. Reject dates outside the range - 1969-1999 if PDS_PRE_2000 is used. + * lib/hmac-md5.c: New file. -2006-01-09 Paul Eggert + * lib/hmac.h: New file. - Sync from coreutils. - * doc/getdate.texi (General date syntax): Invalid dates are rejected. - (Time of day items): Mention the possibility of leap seconds. - Problem reported by Dr. David Alan Gilbert. +2005-10-06 Paul Eggert -2006-01-09 Jim Meyering + * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool + promotes to int, not unsigned int, to catch the AIX 5.3 + compiler bug. - Sync from coreutils. +2005-10-05 Simon Josefsson - * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006. + * modules/memxor: New file. - * lib/chdir-safer.h, lib/chdir-safer.c: New files. + * modules/iconv (Files): Move config.rpath to havelib, it is used + there. - * lib/modechange.c (mode_compile): Reject an invalid mode string - that starts with an octal digit. From Andreas Gruenbacher. + * modules/havelib (Files): Add config.rpath. - * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open - and dup to open_safer and dup_safer, respectively. - (openat_permissive): Fix typo in comment. +2005-10-05 Simon Josefsson - * lib/openat.c: Don't include , , , - "gettext.h"; either no longer needed or are guaranteed by openat.h. - (_): Remove; no longer needed. - (openat): Renamed from rpl_openat; no need for rpl_openat - since openat.h renames openat for us. - Replace most of the body with a call to openat_permissive, - to avoid duplicate code. - Port to (probably hypothetical) environments were mode_t is - wider than int. - (openat_permissive): Require mode arg, so that we can check - types better. Put it just after flags. Change cwd failure - indicator from pointer-to-bool to pointer-to-errno-value. - All callers changed. - Invoke openat_save_fail and/or openat_restore_fail if - cwd_errno is null, so that openat can call us. - (openat_permissive, fdopendir, fstatat, unlinkat): - Simplify errno handling to avoid some duplicate code, - as it's OK to set errno on success. - * lib/openat.h: Revamp code so that function macros depend on - __OPENAT_PREFIX only, not also on AT_FDCWD. - (openat_ro): Remove. Caller changed to use openat_permissive. - (openat_permissive): Now a macro, if not a function. - (openat_restore_fail, openat_save_fail): Now always functions, - since mkdirat needs them even if __OPENAT_PREFIX is defined. + * m4/memxor.m4: New file. - * lib/openat-priv.h: New file, defining macros used by mkdirat.c - and openat.c. - * lib/mkdirat.c: Include openat-priv.h. - Remove definitions of macros defined therein. - * lib/openat.c: Likewise. +2005-10-05 Simon Josefsson - * lib/mkdirat.c (mkdirat): New file and function. - * lib/openat.h (mkdirat): Declare. + * lib/memxor.c (memxor): Fix compiler error. - * lib/openat.c (fdopendir): Don't change errno when returning non-NULL. + * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also + . - * lib/openat.h (openat_permissive): Declare. - (openat_ro): Define. + * lib/memxor.h, lib/memxor.c: New files. - * lib/openat.c (EXPECTED_ERRNO): New macro. - (openat_permissive): New function -- used in remove.c rewrite. - (all functions): Set errno just before returning, only if there - was an actual failure. - Use EXPECTED_ERRNO rather than comparing against only ENOTDIR. + * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H, + we assume all systems have it, suggested by Jim Meyering + . Remove HAVE_SYS_SOCKET_H test too, to see if + any systems lack sys/socket.h; mingw32 is known to lack it, but we + don't support it yet anyway. Also remove HAVE_NETDB_H test, for + same reasons. - Emulate openat-family functions using Linux's procfs, if possible. - Idea and some code based on Ulrich Drepper's glibc changes. +2005-10-05 Simon Josefsson - * lib/openat.c: (BUILD_PROC_NAME): New macro. - Include , , "alloca.h" and "intprops.h". - (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s, - before falling back on save_cwd and restore_cwd. - (fdopendir, fstatat, unlinkat): Likewise. + * config/srclist.txt: Add glibc bug 1423 for md5.h. - * lib/openat.c (fstatat, unlinkat): Perform the syscall directly, - skipping the save_cwd...restore_cwd overhead, if FILE is absolute. +2005-10-05 Paul Eggert - * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t, - as second argument to va_arg. Otherwise, some versions of gcc - warn that `if this code is reached, the program will abort'. + * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for + sys/socket.h, netdb.h, sys/types.h; the checks areno longer + needed, since the source code now assumes these .h files. -2006-01-09 Jim Meyering +2005-10-05 Derek Price - Sync from coreutils. - * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c. - Require openat-priv.h. + * lib/getdelim.c (SIZE_MAX): New macro, if not already defined. -2006-01-09 Bruno Haible +2005-10-05 Bruno Haible - * modules/strnlen (Include): Use strnlen.h. + * modules/stdint (License): Change to LGPL. -2006-01-09 Bruno Haible +2005-10-04 Simon Josefsson - * m4/stdint.m4 (gl_STDINT_H): Also test for . + * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark + D. Baushke" . -2006-01-09 Bruno Haible +2005-10-04 Bruno Haible - * lib/sysexit_.h (EX_OK): New macro. - Suggested by Martin Lambers . + * lib/verify.h (verify_true): Provide alternative definition for C++. -2006-01-09 Bruno Haible +2005-10-03 Paul Eggert - * lib/stdint_.h: On Linux libc4 and libc5, include and - don't define _STDINT_H_NEED_SIGNED_INT_TYPES. + * lib/getdelim.c: Include getdelim.h first. Include . + (SSIZE_MAX): New macro, if not already defined. + (getdelim): Fix buffer overrun on 64-bit hosts with lines longer + than 2 GiB. -2006-01-09 Bruno Haible +2005-10-02 Paul Eggert - * lib/stdint_.h (SIZE_MAX): Write the value without involving negative - numbers. + Sync from coreutils. + * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir. + * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely + defines ULONG_MAX_LT_ULLONG_MAX. Thomas M.Ott reports that + ULLONG_MAX doesn't work with 2.7.2.1. -2006-01-09 Bruno Haible +2005-10-02 Paul Eggert - * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in. - * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in. - * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in. - * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in. + * modules/xreadlink (Makefile.am): Remove lib_SOURCES. + From Ben Pfaff. -2006-01-09 Bruno Haible + * modules/exclude (Depends-on): Depend on verify. + * modules/strtoimax (Depends-on): Likewise. + * modules/utimecmp (Depends-on): Likewise. - * build-aux/javacomp.sh.in: New file, moved from lib/. - * modules/javacomp-script (Files): Update. - (configure.ac): Add AC_CONFIG_FILES invocation. - (EXTRA_DIST): Remove variable. +2005-10-02 Paul Eggert - * build-aux/javaexec.sh.in: New file, moved from lib/. - * modules/javaexec (Files): Update. - (configure.ac): Add AC_CONFIG_FILES invocation. - (EXTRA_DIST): Remove javaexec.sh.in. + * lib/exclude.c: Include verify.h. + (verify): Remove. All callers changed to use verify.h's version. + * lib/strtoimax.c: Likewise. + * lib/utimecmp.c: Likewis.e - * build-aux/csharpcomp.sh.in: New file, moved from lib/. - * modules/csharpcomp-script (Files): Update. - (configure.ac): Add AC_CONFIG_FILES invocation. - (EXTRA_DIST): Remove variable. + Sync from coreutils. + * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h, + getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h. + * lib/.cvsignore: Add fts.h, search.h, t-fpending. + * lib/settime.c (settime): Fix { typo in previous patch. Also, don't + bother returning ENOSYS if settimeofday or stime fails; just let + them return whatever errno they want to return. + * lib/utimens.c: Include unistd.h, for dup2. + (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if. + (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1. - * build-aux/csharpexec.sh.in: New file, moved from lib/. - * modules/csharpexec (Files): Update. - (configure.ac): Add AC_CONFIG_FILES invocation. - (EXTRA_DIST): Remove csharpexec.sh.in. +2005-10-02 Jim Meyering -2006-01-09 Andreas Gruenbacher + Sync from coreutils. + * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes + from glibc-2.2.5 that fails for read-only files. + +2005-10-02 Jim Meyering Sync from coreutils. + * lib/fts-cycle.c [HAVE_CONFIG_H]: Include . + * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not + `#if HAVE_CONFIG_H'. + * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR. + Remove AT_FDCWD test. + Do not consume the fd unless successful. + * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR. + * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif + block, so that we don't even try to compile it if settimeofday is + available. This works around a compilation failure on OSF1 V5.1, + due to stime requiring a `long int*' while tv_sec is `int'. - Add POSIX ACL support - * lib/acl.h (copy_acl, set_acl): Add declarations. - * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL - systems other than Linux. - (chmod_or_fchmod): New function: use fchmod when possible, - and chmod otherwise. - (file_has_acl): Add a POSIX ACL implementation, with a - Linux-specific subcase. - (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and - S_ISVTX from one file to another. Fall back to fchmod/chmod when - acls are unsupported. - (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and - S_ISVTX to a defined value. Fall back to fchmod/chmod when acls - are unsupported. +2005-10-02 Alfred M. Szmidt -2006-01-09 Andreas Gruenbacher + Sync from coreutils. + * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path... + against `yes', rather than just testing for nonempty. + +2005-10-01 Simon Josefsson + + * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD + and Darwin. + + * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo + as an (POSIX) extension. Check for sys/types.h, sys/socket.h, and + netdb.h too, needed by getaddrinfo.h. Check if getaddrinfo, + freeaddrinfo and gai_strerror are declared by the POSIX headers. + Check if struct addrinfo is declared. + +2005-10-01 Simon Josefsson + + * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h. + Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO. Protect + AI_* and EAI_* definitions. Protect function declarations. + +2005-10-01 Jim Meyering Sync from coreutils. - * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests. -2006-01-07 Bruno Haible + * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these + libraries [inet nsl socket xnet]. Nelson Beebe reported that with + native cc on Solaris 7, getaddrinfo.c requires -lsocket. + * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname + in the inet and nsl libraries. Required on Solaris 5.7. - * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to - gl_EARLY. +2005-10-01 Jim Meyering -2006-01-04 Paul Eggert + Sync from coreutils. + * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname + in the inet and nsl libraries. Required on Solaris 5.7. - * lib/strftime.c (tzname): Don't declare if it is already #defined. - Problem reported for Mingw by Mark Junker. +2005-10-01 Eric Blake (tiny change) -2006-01-04 Paul Eggert + * lib/getdelim.c (getdelim): Remove unused variables. - * README: Gnulib normally doesn't generate a tarball. +2005-09-29 Paul Eggert -2006-01-03 Paul Eggert + * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int, + so that the code works even with ancient cpp. Portability problem + with GCC 2.7.2.1 reported by Thomas M.Ott. - * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use - long int, not int, for nanosecond counts, so that people who are - used to POSIX struct timespec won't be surprised. Reported by Jim - Meyering. +2005-09-27 Paul Eggert -2005-12-28 Bruno Haible + * modules/regex (Depends-on): Add strcase. - * build-aux/config.rpath: Update from GNU gettext. + * modules/gethostname (Licence): Change from GPL to LGPL, since + gethostname.c is a trivial implementation of a standard library + function. + * modules/poll (License): Change from GPL to LGPL, since it's + derived from LGPL code. -2005-12-16 Jim Meyering +2005-09-27 Jim Meyering - * modules/fprintftime: New module. - * MODULES.html.sh (Date and time ): Add fprintftime. + * lib/getcwd.c: Change #ifdefHAVE_CONFIG_H to #ifdef + HAVE_CONFIG_H. -2005-12-16 Jim Meyering + * lib/intprops.h (signed_type_or_expr__): Define. + (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound + for unsigned types. - * m4/fprintftime.m4: New file. +2005-09-26 Paul Eggert -2005-12-16 Jim Meyering + * lib/verify.h (verify_expr): Remove, replacing with: + (verify_true): New macro that returns true instead of void. + (verify_type__): Remove. + (verify): Use verify_true rather than verify_type__. - * lib/fprintftime.c, lib/fprintftime.h: New files. +2005-09-26 Bruno Haible -2005-12-15 Simon Josefsson + * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H + is necessary. + (lib_SOURCES): Remove mbchar.c. + * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary. + (Files): Add m4/mbrtowc.m4. + * modules/mbiter: Likewise. + * modules/mbuiter: Likewise. - * modules/socklen (configure.ac): Fix M4 macro name, to align with - new m4/socklen.m4. +2005-09-26 Bruno Haible + + * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't + compile mbchar.c if they are not both present. + * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC. + * m4/mbiter.m4 (gl_MBITER): Likewise. + * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE. + * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise. + * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise. -2005-12-10 Sergey Poznyakoff +2005-09-25 Jim Meyering - * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and - HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME + * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c + also uses socklen_t. -2005-12-10 Sergey Poznyakoff +2005-09-24 Paul Eggert - * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump - * lib/argp-help.c (fill_in_uparams): Check if the constructed - struct uparams is valid. Fall back to the default values if it is - not. + * lib/utimens.c (ENOSYS): Define if not already defined. + (futimens): Support having a null PATH if the file descriptor + is nonnegative. -2005-12-09 Sergey Poznyakoff + * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure): + Remove. + (__attribute): Define to empty unless GCC 3.1 or later. + This works around a core dump on OpenBSD 3.4, which has GCC + 2.95.3, which dumps core when given __attribute__(()). It also + simplifies other tests, since we really don't want to bother with + worrying about which ancient version of GCC supported what. + Original problem reported by Yoann Vandoorselaere, with part of + the fix suggested by Derek Price. - * modules/argp (Files): Add argp-pin.c - (Depends-on): dirname - (lib_SOURCES): Add argp-pin.c +2005-09-24 Jim Meyering -2005-12-09 Sergey Poznyakoff + * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type + so we can once again use a positive bitfield width of 1 -- now we + don't have to explain why we were using a bitfield width of 2. - * m4/argp.m4: Check if program_invocation_name and - program_invocation_short_name are declared and define appropriate - macros if they are not. +2005-09-23 Paul Eggert -2005-12-09 Sergey Poznyakoff + * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp, + and similarly for the other external symbols. Problem reported + by James Gallager. - * lib/argp-help.c (__argp_base_name): New function - (__argp_short_program_name): Rewrite using __argp_base_name - * lib/argp-namefrob.h: Define program_invocation_name and - program_invocation_short_name if requested - (__argp_base_name): Add prototype - * lib/argp-parse.c (argp_def): Use gettext wrappers - (argp_default_parser): Use __argp_base_name - * lib/argp-pin.c: New file. Defines program_invocation_name and - program_invocation_short_name on systems that lack them. + * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux + bug reported by Jim Meyering. -2005-12-07 Paul Eggert + * m4/utimens.m4 (gl_UTIMENS): Check for futimesat. + * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change; + not needed, since socklen is a prerequisite module. - * m4/stat-time.m4 (gl_STAT_TIME): Add check for - TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3 - porting problem reported by Georg Schwarz in - . +2005-09-23 Paul Eggert -2005-12-07 Paul Eggert + * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include . + Problem reported by Eric Blake. + (getaddrinfo): Initialize se so that it's not garbage. + Redo internal storage allocation so that it doesn't make unportable + assumptions about alignment. + Fix a memory leak. - * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for - TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3 - porting problem reported by Georg Schwarz in - . + * lib/utimens.c (futimens): Use futimesat if available. + Prefer it to futimes since it doesn't have the futimes bug. -2005-12-05 Bruno Haible + * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove. + (verify): Don't use the __LINE__ trick, as it doesn't work in general. + Instead, declare a function that returns a pointer to an array, + and use verify_type__ to declare the size of the array. + Problem and germ of a solution reported by Bruno Haible. + (verify_type__): Use 2, not 1, for bitfield size, to avoid + a warning with Irix 6.5 cc. Problem reported by Bruno Haible. - * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix. - * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise. - Reported by Mark Junker . +2005-09-23 Jim Meyering -2005-12-02 Paul Eggert + Sync from coreutils. + Correct build failure (socklen_t not defined) on at least + mips-sgi-irix6.5 and alphaev67-dec-osf5.1. + * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T. - * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T. - Use implementation from Albert Chin, with some - comments/corrections by Stepan Kasal and myself. +2005-09-23 Jim Meyering -2005-12-02 Bruno Haible + * modules/getaddrinfo (Depends-on): Add socklen. - * gnulib-tool (func_import): Accept GPLed build tool modules when - --lgpl is given. - * modules/csharpcomp-script: New file. - * modules/csharpcomp: Depend on it. - * modules/javacomp-script: New file. - * modules/javacomp: Depend on it. - Suggested by Simon Josefsson. +2005-09-23 Bruno Haible -2005-12-01 Paul Eggert + * tests/test-verify.c: New file. - * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch - statement, to work around an HP-UX 10.20 compiler bug reported by - Peter O'Gorman. +2005-09-22 Paul Eggert -2005-11-29 Paul Eggert + Sync from coreutils. - * modules/savedir (Depends-on): Add openat. + * modules/argmatch (Depends-on): Add verify. + * modules/getloadavg (Depends-on): Depend on fcntl-safer, not + unistd-safer. + * modules/save-cwd (Depends-on): Likewise. -2005-11-29 Paul Eggert + * modules/openat (Files): Add lib/openat-die.c. + (Depends-on): Remove error, exitfail. + Add dirname. - * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare. - (uintmax_t) [defined uintmax_t]: Do not declare. - (SIZE_MAX) [defined SIZE_MAX]: Do not define. - This works around a problem if intmax_t.m4 and/or uintmax_t.m4 - and/or size_max.m4 are also used. Problem reported by Mark D. Baushke. - (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the - sake of portability to weird hosts that C allows (though we don't - know of any practical examples). + * modules/verify: New file. + * MODULES.html.sh (Diagnostics ): New section, + with "verify" module. - * lib/savedir.h (fdsavedir): New decl. - * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter - contains most of the former guts of savedir. - (savedir): Use savedirstream. - Include "openat.h". +2005-09-22 Paul Eggert -2005-11-25 Paul Eggert + Sync from coreutils. - * modules/obstack (Files): Add m4/ulonglong.m4. - Problem reported by Davide Angelocola. + * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4: + * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4: + * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4: + * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4: + * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4: + * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4: + * m4/userspec.m4, xgetcwd.m4, xreadlink.m4: + Don't bother checking for string.h, stdlib.h, unistd.h. + * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require + AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat + module's job. + * m4/jm-macros.m4 (gl_MACROS): Likewise. + * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT. -2005-11-15 Paul Eggert + * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro. + (gl_GETDATE): Use it. - * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as - coreutils no longer futzes with rounding modes. + * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h. -2005-11-14 Jim Meyering +2005-09-22 Paul Eggert - * lib/mkstemp-safer.c: Include , required for possible - replacement of mkstemp. + Sync from coreutils. -2005-11-10 Simon Josefsson + * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h, + stat-time.h. + * lib/argmatch.h: Include verify.h + (ARGMATCH_VERIFY): Use verify rather than rolling our own. + (ARGMATCH_ASSERT): Remove; unused. + * lib/canonicalize.c: Assume STDC_HEADERS. + * lib/exclude.c: Include "strcase.h". + * lib/regex_internal.h [!defined _LIBC]: Likewise. + * lib/getusershell.c: Include stdio--.h rather than stdio.h + and stdio-safer.h. + (getusershell): Call fopen, not fopen_safer. + * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h. + Do not include unistd-safer.h. + (save_cwd): Don't call fd_safer; no longer needed + now that we include fcntl--.h. - * lib/readline.c: Remove EOL. + * lib/getdate.y (relative_time): New type. + (RELATIVE_TIME_0): New constant. + (parser_control): Use relative_time instead of doing it ourselves. + (%union): Add new relative_time rel member. + (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT): + Now typeless. + (relunit, relunit_snumber): Now of type rel. + (zone, rel, relunit, get_date): Adjust to above changes. -2005-11-10 Paul Eggert + * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h. + Do not include unistd-safer.h. + (getloadavg): Don't call fd_safer; no longer needed + now that we include fcntl--.h. - * modules/gethrxtime (Depends-on): Add gettime. + * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined. + (make_dir_parents): Treat ENOSYS like EEXIST. -2005-11-10 Paul Eggert + Improve quality of diagnostics on restore_cwd failure. + * lib/mkdir-p.h (make_dir): Remove. All uses replaced by mkdir. + (make_dir_parents): Last arg is now int * (for errno), not bool *. + * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise. + Rewrite "mkdir -p" algorithm to avoid the need for "stat" + each time through the loop. Do not diagnose restore_cwd failure; + that is the caller's job (and perhaps the caller does not care). - * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME - or gettimeofday; no longer needed. + * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove. + (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP. + If the file already exists but is not a directory, don't bother + to try to make its parents. + Close potential file descriptor leak if we can't chdir("/") (!). + Don't always return true if chdir($PWD) fails; return true only + if the requested action was done successfully (except for the + chdir($PWD)). + Don't log final directory unless we actually made it. + Refactor to avoid duplicate code to fix up permissions. + Don't attempt to fix up parent permissions if chdir($PWD) fails. -2005-11-10 Paul Eggert + * lib/strftime.c (my_strftime): Rewrite the previous change slightly, + to make it a bit faster and (I hope) clearer. + * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z. + Fix bug in formats like %2N. - * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time / - time business. - (gethrxtime) [! (HAVE_NANOUPTIME - || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME) - || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling - our own approximation. + * lib/verify.h: New file. -2005-11-08 Eric Blake +2005-09-22 Paul Eggert - * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS. + Sync from coreutils. + * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h. -2005-11-08 Eric Blake +2005-09-22 Jim Meyering - * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS. + Sync from coreutils. -2005-11-04 Bruno Haible + * m4/lstat.m4 (gl_FUNC_LSTAT): + Use AC_LIBSOURCES to require lstat.c and lstat.h. + Remove obsolete comment. + * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ. + * m4/xstrtod.m4: Likewise. - * gnulib-tool: Implement --update mode. + * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c. -2005-10-30 Paul Eggert +2005-09-22 Jim Meyering - Fix porting problem reported by Theodoros V. Kalamatianos. - * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]: - Don't assume that futimes failing means we must fail. + Sync from coreutils. -2005-10-30 Paul Eggert + * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case. - * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local - variables to suggest the intended function of the PATH_MAX check. + * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just + the .tm_year member, since otherwise gcc-4.0 would now warn about + tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday. -2005-10-30 Kean Johnston + * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in + order to avoid an unsuppressible warning from gcc on 64-bit systems. - Trivial changes to support SCO systems. - * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well - as PATH_MAX. - * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems, - where __ptr is null when no I/O is pending. + * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that + the command "date -d'2005-03-27 +1 day'" succeeds once again, even + when run in a time zone for which daylight savings time is in effect + for the starting date. -2005-10-29 Paul Eggert + * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD) + stop us from restricting permissions of just-created absolute-named + directories. + * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing + to restore initial working directory. + * lib/mkdir-p.c (make_dir_parents): New parameter: + different_working_dir, to tell caller if/when we change the working + directory and are unable to return to the initial one. + * lib/mkdir-p.h (make_dir_parents): Update prototype. + * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to + `return false'. This fixes a bug introduced on 2004-07-30. - * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir - leave errno alone. Problem reported by Dmitry V. Levin. + * lib/openat.c (fdopendir): Be sure to close the supplied + file descriptor before returning. This makes our replacement + implementation a little closer to Solaris's, where fdopendir + ties the file descriptor to the returned DIR* pointer. + * lib/openat.c (unlinkat): New function. + * lib/openat.h (unlinkat): Add prototype. + * lib/openat-die.c (openat_save_fail): Rename from openat_save_die. + (openat_restore_fail): Rename from openat_restore_die. + * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming. -2005-10-28 Simon Josefsson + Provide an alternative to exiting immediately upon save_cwd or + restore_cwd failure. Now, an application can arrange e.g., + to perform a longjump in that case. + * lib/openat.c: Include dirname.h. + Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash. + (rpl_openat, fdopendir, fstatat): Call openat_save_die + and openat_restore_die rather than calling error directly. + Don't include "error.h" or "exitfail.h"; they're no longer needed. - * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c: - Test more. + * lib/openat-die.c (openat_save_die, openat_restore_die): New file. + * lib/openat.h (openat_save_die, openat_restore_die): Declare and + define. - * tests/test-gc-md2.c, tests/test-md2.c: New files. + * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface: + size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm, + int utc, int nanoseconds); + Background: + date should not have to allocate a megabyte of virtual memory to + handle a format argument like +%1048575T. When implemented with + strftime, it must allocate such a buffer, use strftime to fill it + in, print it, then free it. + With fprintftime, it simply prints everything and exits. + With no need for memory allocation, that's one fewer way to fail. + * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the + optional field width, not before, so we accept %9:z, not %:9z. + (my_strftime): Be sure to use L_('x') for literals. - * modules/md2, modules/md2-tests: New files. + * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c: + * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c: + * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c: + * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c: + * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c: + * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c: + * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c: + * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c: + * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c: + * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c: + * lib/xgethostname.c, lib/xreadlink.c: + Assume HAVE_UNISTD_H, i.e., include unconditionally. -2005-10-28 Simon Josefsson + * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c: + * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c: + * lib/openat.h, lib/save-cwd.c, lib/tempname.c: + Assume HAVE_FCNTL_H (i.e., include unconditionally, + and don't include ). - * m4/inet_ntop.m4: More tests. +2005-09-22 Eric Blake (tiny change) - * m4/gc-md2.m4, md2.m4: New file. + Sync from coreutils. -2005-10-28 Simon Josefsson + * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin. + [__linux__]: Allocate a big enough buffer for /proc/loadavg. + [!LDAV_DONE]: Avoid unused variable warning. - * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add - "restrict" keywords, as per POSIX. Protect the function - declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP. - Don't use K&R prototypes. Check the sprintf return values. - Re-define EAFNOSUPPORT if not present. Indent. +2005-09-21 Bruno Haible - * lib/md5.h, md5.c: Simplify buffer handling visavi alignment, - suggested by Bruno Haible . + * lib/unicodeio.h (unicode_to_mb): New declaration. - * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value. +2005-09-20 Derek Price - * lib/gc.h: Add MD2 and RMD160 length defines. Add prototypes. + * lib/getaddrinfo.c: Don't include included from + getaddrinfo.h. - * lib/gc-libgcrypt.c: Add MD2 (which is not available through - libgcrypt). +2005-09-20 Bruno Haible - * lib/gc-gnulib.c: Add MD2. Implement gc_hash_* API. + * gnulib-tool: Remove trailing slashes from the values specified for + --source-base, --m4-base, --tests-base, --aux-dir. + Suggested by Simon Josefsson . - * lib/md2.h, lib/md2.c: New files. +2005-09-20 Bruno Haible -2005-10-28 Paul Eggert + * gnulib-tool (func_all_modules, func_modules_transitive_closure, + func_modules_to_filelist, func_import, func_create_testdir): Make all + sorting results locale-independent, so that gnulib-cache.m4 doesn't + change when gnulib-tool is invoked in a different locale. - * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave - errno alone. Problem reported by Frederic Jolliton. +2005-09-19 Simon Josefsson -2005-10-27 Paul Eggert + * m4/socklen.m4: Fix typo. - * modules/verify (License): Change from GPL to LGPL. This is a - tiny module and there are apparently near-equivalents that are - under the BSD license. +2005-09-19 Ralf Wildenhues -2005-10-24 Simon Josefsson + Use a consistent style for including . + * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c, + lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c, + lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c, + lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c, + lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c, + lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c, + lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c, + lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c, + lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c, + lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c, + lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c, + lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c, + lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c, + lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c, + lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, + lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c, + lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c, + lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c, + lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c, + lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c, + lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c, + lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c, + lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, + lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c, + lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c, + lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c, + lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c, + lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c, + lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c, + lib/xstrtoumax.c, lib/yesno.c: + Standardize inclusion of config.h. + * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h, + lib/inttostr.h: Removed inclusion of config.h from header files. + * lib/inttostr.c: Adjusted in-tree users. + * lib/timespec.h: Remove superfluous warning to include config.h. + * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c, + lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c, + lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c, + lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of + config.h with HAVE_CONFIG_H. - * modules/sha1: Relicense to LGPL. +2005-09-19 Jim Meyering -2005-10-24 Simon Josefsson + * modules/pathmax (License): Change to LGPL. - * lib/md4.h: Shrink buffer size, now that we changed the type. +2005-09-19 Derek Price -2005-10-23 Simon Josefsson + * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h. - * gnulib-tool (func_import): Fix --tests-base. +2005-09-19 Bruno Haible -2005-10-22 Simon Josefsson + * gnulib-tool (import): Provide default for --tests-base. - * modules/arcfour (Depends-on): Need stdint. +2005-09-19 Bruno Haible -2005-10-22 Simon Josefsson + * doc/quote.texi: New file, extracted from gnulib.texi. + * doc/ctime.texi: New file, extracted from gnulib.texi. + * doc/inet_ntoa.texi: New file, extracted from gnulib.texi. + * doc/gnulib-tool.texi: New file, extracted from gnulib.texi. + * doc/gnulib.texi: Include them. - * m4/gc.m4: Don't be fooled by --disable-*random-device parameters, - suggested by Bruno Haible . Fix error messages. +2005-09-18 Bruno Haible -2005-10-22 Simon Josefsson + Portability fix. + * gnulib-tool (func_readlink): New function. + (func_ln_if_changed): Use it. - * lib/md4.h, md4.c: Simplify buffer handling visavi alignment, - suggested by Bruno Haible . +2005-09-18 Bruno Haible -2005-10-22 Simon Josefsson + * gnulib-tool: Support --with-tests also with --import. + (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase. + (func_import): Use variables $testsbase and $inctests. Emit a + gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am. + Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and + SUBDIRS += $testsdir. + (func_create_testdir): Update. - * lib/crc.h: Include stddef.h, for size_t. +2005-09-18 Bruno Haible -2005-10-22 Simon Josefsson + * gnulib-tool: Revise --dry-run implementation. Use variable $doit + instead of $dry_run. + (func_cp_if_changed, func_mv_if_changed): Remove functions. + (func_ln_if_changed): Don't handle dry-run here. + (func_import): In dry-run mode, detect more precisely which actions + would be performed, and don't use "...ing" verbs. - * lib/arcfour.h, arcfour.c: Use fixed size indices in the - arcfour_context struct (simplify test vector testing in GNU - Shishi). +2005-09-18 Bruno Haible -2005-10-21 Simon Josefsson + * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize. + (func_import): Use join on two temporary files instead of three nested + loops, in order to determine which files are new or old. - * modules/des, modules/des-tests: New files. +2005-09-18 Bruno Haible - * modules/gc-des, modules/gc-des-tests: New files. + * gnulib-tool (func_import): Comment out code that spits out the + new files with --dry-run. - * tests/test-des.c, tests/test-gc-des.c: New file. +2005-09-18 Bruno Haible -2005-10-21 Simon Josefsson + * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten. - * modules/arctwo, modules/arctwo-tests: New files. +2005-09-16 Paul Eggert - * tests/test-arctwo.c: New file. + * lib/stat-time.h: New file. + * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP): + (MTIME_CMP, TIMESPEC_NS): Remove. Now done by stat-time.h, + in a different way. + (timespec_cmp): New function. + * lib/utimecmp.c: Include stat-time.h. + (SYSCALL_RESOLUTION): Depend on whether various struct stat + members exist, not on the obsolescent ST_MTIM_NSEC. + (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS. - * modules/gc-arctwo, modules/gc-arctwo-tests: New files. +2005-09-16 Paul Eggert + + * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c. - * tests/test-gc-arctwo.c: New file. +2005-09-16 Paul Eggert -2005-10-21 Simon Josefsson + * MODULES.html.sh (File system functions): Add stat-time. + * modules/stat-time: New file. + * modules/timespec (Files): Remove m4/st_mtim.m4; this + is now done in a different way, by the stat-time module. + * modules/utimecmp (Depends-on): Add stat-time. - * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by - Bruno Haible . +2005-09-15 Paul Eggert - * m4/gc-des.m4: New file. + * m4/st_mtim.m4: Remove. Superseded by... + * m4/stat-time.m4: New file. + * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE. + Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed. -2005-10-21 Simon Josefsson +2005-09-15 Derek Price - * m4/arctwo.m4: New file. + * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here. - * m4/gc-arctwo.m4: New file. +2005-09-15 Derek Price -2005-10-21 Simon Josefsson + * lib/regex_internal.h: Blank `pure' for GNUC < 3. + * lib/regex_internal.c: Ditto, using this... + (__GNUC_PREREQ): ...new macro. + * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1 + using... + (__GNUC_PREREQ): ...this new macro. - * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one - block. + * lib/strstr.h: Include string.h. Define strstr as a macro here. -2005-10-21 Simon Josefsson +2005-09-15 Derek Price + Paul Eggert - * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible - . + * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous + changes, consolidating in... + * lib/regex_internal.h: ...this file. - * lib/hmac-sha1.c (hmac_sha1): Likewise. +2005-09-13 Jim Meyering - * lib/crc.c (crc32_update): Actually use crc parameter, suggested by - Bruno Haible . + * lib/canon-host.c: Filter through gnu indent and reword comments + slightly. + * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing. - * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible - . +2005-09-13 Derek Price -2005-10-21 Simon Josefsson + * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation + failure. + Reported by Jim Meyering . - * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB. +2005-09-12 Ralf Wildenhues (tiny change) -2005-10-21 Simon Josefsson + * lib/base64.c: Typo. + (base64_encode): Put b64str in initialized data section. - * lib/gc-gnulib.c: Support ARCTWO in CBC mode. +2005-09-12 Paul Eggert -2005-10-21 Simon Josefsson + Merge glibc and coreutils changes into gnulib, plus a few + extra fixes. + * lib/md5.c: Use #error rather than a string. + (CYCLIC): New macro, from glibc source. Use it instead of rol. + * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already. + (__attribute__): Define to empty for non recent-GCC. + (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block): + (__md5_process_bytes, __md5_read_ctx, __md5_stream): + Renamed from their non-__ counterparts, with new macros replacing + them if not _LIBC. Add __THROW attribute. + (rol): Remove. + (struct md5_ctx): Align buffer if using GCC. + * lib/sha1.h (struct sha1_ctx): Likewise. + * lib/sha1.c (SWAP): Renamed from the NOTSWAP. All uses changed. + The old name was backwards. + (NOTSWAP): Remove; not used. + (rol): New macro, moved here from md5.h. + (sha1_process_block): Remove a FIXME that doesn't make sense. - * lib/des.h, lib/des.c: New files. +2005-09-12 Derek Price - * lib/gc-gnulib.c: Support DES.c + Return usable errors from canon-host. + * lib/canon-host.h: New file. + * lib/canon-host.c (canon_host): Wrap... + (canon_host_r): ...this new function, which now relies exclusively on + getaddrinfo. + (ch_strerror): New function. + (last_cherror): New global. + * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test + interface. + (getaddrinfo): Add AI_CANONNAME functionality. Don't do arithmetic on + void *. + (freeaddrinfo): Free ai->ai_canonname when set. -2005-10-21 Simon Josefsson +2005-09-12 Derek Price - * lib/arctwo.h, lib/arctwo.c: New files. + Make canon-host require getaddrinfo. + * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies. + AC_LIBSOURCE canon-host.h. Call... + (gl_PREREQ_CANON_HOST): ...this new function, which requires + gl_GETADDRINFO. + * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed. - * lib/gc-gnulib.c: Support ARCTWO. +2005-09-12 Derek Price -2005-10-21 Simon Josefsson + * modules/canon-host: Add canon-host.h. Depend on getaddrinfo. Make + LGPL. + * modules/getaddrinfo: Add link to opengroup spec. Depend on strdup. - * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro, - suggested by Ralf Wildenhues . +2005-09-12 Derek Price -2005-10-21 Simon Josefsson + * lib/gai_strerror.c: Include config.h when available. Include + getaddrinfo.h before other headers to test interface. + Reported by Larry Jones . - * gnulib-tool (func_import, func_create_testdir): Define automake - conditional GL_COND_LIBTOOL if libtool is used (to be used by modules - Makefile.am snippet), - suggested by Bruno Haible . +2005-09-12 Derek Price + Paul Eggert - * modules/gc (Makefile.am): Use it. + * modules/glob (Files): Add glob-libc.h. -2005-10-21 Bruno Haible +2005-09-12 Derek Price + Paul Eggert - * gnulib-tool (func_import, func_create_testdir): Add quoting to last - patch. + * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c, + glob_.h, glob-libc.h. + (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed. -2005-10-19 Simon Josefsson +2005-09-12 Derek Price + Paul Eggert - * tests/test-gc-rijndael.c: New file. + * lib/glob-libc.h: Renamed from glob_.h. The new version is + taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB' + protecting things that should be done only in gnulib contexts. + * lib/glob_.h: New file, containing only the glob things needed for + gnulib. + (GLOB_PREFIX): Remove. All uses changed to look for __GLOB_GNULIB. + (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed. + (glob, globfree, glob_pattern_p): Now defined simply in terms of + rpl_glob, rpl_globfree, rpl_glob_pattern_p. + (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer + and to respect the namespace rules better. - * modules/gc-rijndael, modules/gc-rijndael-test: New files. +2005-09-08 Simon Josefsson -2005-10-19 Simon Josefsson + * modules/socklen: New file. - * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer - interface too. +2005-09-08 Simon Josefsson -2005-10-19 Simon Josefsson + * m4/socklen.m4: New file. - * tests/test-gc-arcfour.c: New file. +2005-09-08 Paul Eggert - * modules/gc-arcfour, modules/gc-arcfour-tests: New files. + * modules/utimens (Files): Add m4/utimbuf.m4, since + m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF. + Reported by Sergey Poznyakoff. -2005-10-19 Simon Josefsson +2005-09-08 Paul Eggert - * modules/gc-md4, modules/gc-md4-tests: New file. + * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function + definitions, since that's the preferred style in glibc. + Fix a minor spacing issue, and update copyright notice to match + glibc's. - * tests/test-gc-md4.c: New file. +2005-09-08 Paul Eggert -2005-10-19 Simon Josefsson + * config/srclist.txt: Remove glibc bug 1061; it's been fixed. - * m4/gc-md4.m4: New file. +2005-09-06 Simon Josefsson -2005-10-19 Simon Josefsson + * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not + TCSETATTR. Reported by Derek Price . - * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4, - gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal - . +2005-09-06 Paul Eggert -2005-10-19 Simon Josefsson + * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall + warning. - * m4/gc-arcfour.m4: New file. +2005-09-06 Paul Eggert - * m4/gc-rijndael.m4: New file. + * config/srclist.txt: Add glibc bug 1302. -2005-10-19 Simon Josefsson +2005-09-05 Paul Eggert - * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4. + Change bitset word type from unsigned int to unsigned long int, + as this has better performance on typical 64-bit hosts. + Port bitset code to hosts with unusual word sizes. + * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp): + (build_collating_symbol): + Prefer bitset to re_bitset_ptr_t in prototypes, when the actual + argument is a bitset. This is merely a style issue, but it makes + it clearer that an entire array is expected. + (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps): + * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op): + Port to the case where bitset_word is not the same as unsigned int. + * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain): + (bitset_not, bitset_merge, bitset_set_all, bitset_mask): + Likewise. + * lib/regexec.c (check_dst_limits_calc_pos_1, + check_subexp_matching_top): + (build_trtable, group_nodes_into_DFAstates): + Likewise. + * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8): + Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS. + * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise. + * lib/regexec.c (group_nodes_into_DFAstates): Likewise. + * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff. + * lib/regcomp.c (optimize_subexps, lower_subexp): + Work even if bitset_word has holes in its bitwise representation. + * lib/regex_internal.h (BITSET_WORD_BITS): Likewise. + * lib/regexec.c (check_dst_limits_calc_pos_1, + check_subexp_matching_top): + Likewise. + * lib/regex_internal.c (re_string_reconstruct): + Don't assume UCHAR_MAX == 255. + * lib/regex_internal.h (bitset_set_all): Likewise. + * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS. + All uses changed. + (BITSET_WORDS): Renamed from BITSET_UINTS. All uses changed. + (bitset_word): New type, replacing 'unsigned int' for bitset uses. + All uses changed. + (BITSET_WORD_MAX): New macro. + (bitset_set, bitset_clear, bitset_contain, bitset_empty): + (bitset_set_all, bitset_copy): Now inline functions, not macros. + (bitset_empty, bitset_copy): + Prefer sizeof (bitset) to multiplying it out ourselves. + (bitset_not_merge): Remove; unused. + (bitset_contain): Return bool, not unsigned int with one bit on. + All callers changed. + * lib/regexec.c (build_trtable): Don't assume bitset has no stricter + alignment than re_node_set; do this by defining a new internal + type struct dests_alloc and using it to allocate memory. -2005-10-19 Simon Josefsson +2005-09-05 Bruno Haible - * lib/gc-gnulib.c: Support ARCFOUR. + * gnulib-tool (func_import): Fix comparison in handling of symbolic + links. -2005-10-19 Simon Josefsson +2005-09-04 Martin Lambers (tiny change) - * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES - support. + * modules/size_max (Makefile.am): Add size_max.h - * lib/gc.h: Add ECB enum type. +2005-09-04 Derek Price - * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h. + * gnulib-tool (func_import): Fix reversed $symbolic logic. -2005-10-18 Simon Josefsson +2005-09-03 Simon Josefsson - * tests/test-md5.c: New file. + * gnulib-tool: Fix typo. - * modules/md5-tests: New file. +2005-09-03 Simon Josefsson -2005-10-18 Simon Josefsson + * config/srclist.txt: Add glibc bug 1293. - * tests/test-md4.c: New file. +2005-09-03 Derek Price - * modules/md4, modules/md4-tests: New files. + * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error. + From Larry Jones . -2005-10-18 Simon Josefsson +2005-09-02 Simon Josefsson - * m4/md4.m4: New file. + * modules/socklen: New file. -2005-10-18 Simon Josefsson +2005-09-02 Simon Josefsson - * lib/md4.h, lib/md4.c: New files, based on md5.?. + * modules/havelib: New module. -2005-10-17 Stepan Kasal + * modules/gettext, modules/iconv, modules/lock, modules/readline: + Use havelib. - * gnulib-tool (func_create_testdir): Omit the second check whether - BUILT_SOURCES in nonempty. +2005-09-02 Paul Eggert -2005-10-17 Simon Josefsson + Check for arithmetic overflow when calculating sizes, to prevent + some buffer-overflow issues. These patches are conservative, in the + sense that when I couldn't determine whether an overflow was possible, + I inserted a run-time check. + * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New + macros. + (SIZE_MAX) [!defined SIZE_MAX]: New macro. + (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc): + (re_xnrealloc, re_x2nrealloc): New inline functions. + * lib/regcomp.c (init_dfa, analyze, build_range_exp, + parse_bracket_exp): + (build_equiv_class, build_charclass): Check for arithmetic overflow + in size expression calculations. + * lib/regex_internal.c (re_string_realloc_buffers): + (build_wcs_upper_buffer, re_node_set_add_intersect): + (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last): + (re_dfa_add_node, register_state): Likewise. + * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal): + (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival): + (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry): + (match_ctx_add_subtop, match_ctx_add_sublast): Likewise. - * tests/test-rijndael.c: New file. +2005-09-02 Paul Eggert -2005-10-17 Simon Josefsson + * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4, + m4/ulonglong.m4. Problem reported by Martin Lambers. - * modules/sha1: Depend on stdint instead of md5. +2005-09-02 Bruno Haible - * modules/md5: Depend on stdint, remove uint32_t. + Support for lib vs. lib64 distinction on biarch platforms. + * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro. + (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'. + * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise. -2005-10-17 Simon Josefsson +2005-09-02 Bruno Haible - * modules/gc-sha1-tests: New file. + * gnulib-tool (import): In the other first-use case, provide defaults + as well. - * tests/test-gc-sha1.c: New file. +2005-09-02 Bruno Haible -2005-10-17 Simon Josefsson + * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have + patches not yet found in the latest gettext release. - * m4/md5.m4: Remove call to uint32_t.m4. +2005-09-01 Paul Eggert -2005-10-17 Simon Josefsson + * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX, + to avoid a collision with bits/local_lim.h in glibc. + All uses changed. Problem reported by Dmitry V. Levin in + . - * lib/sha1.c: Use uint32_t instead of md5_uint32.t + * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability + bugs in int versus size_t comparisons. + (re_string_context_at): Fix bug where the code assumed that + Idx is signed. - * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from - md5.h. + Use bool where appropriate. + * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int. + All callers changed. + (calc_eclosure_iter): Likewise, for ROOT arg. + (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg. + (build_charclass_op): Likewise, for NON_MATCH arg. + * lib/regex_internal.c (re_string_allocate, re_string_construct): + (re_string_construct_common): Likewise, for ICASE arg. + * lib/regexec.c (re_search_2_stub, re_search_stub): + Likewise, for RET_LEN arg. + (check_matching): Likewise, for FL_LONGEST_MATCH arg. + (set_regs): Likewise, for FL_BACKTRACK arg. + * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8): + (duplicate_node_closure, calc_inveclosure, calc_eclosure): + (calc_eclosure_iter, parse_bracket_exp): + Use bool for internal variables that are booleans. + * lib/regexec.c (re_search_internal, check_matching, + proceed_next_node): + (set_regs, build_sifted_states, sift_states_bkref): + (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub): + (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates): + (find_collation_sequence_value): + Likewise. + * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last): + (re_node_set_compare): + Return bool, not int. All callers changed. + * lib/regexec.c (check_halt_node_context, check_dst_limits): + (build_trtable, check_node_accept): Likewise. + * lib/regex_internal.h: Include stdbool.h. - * lib/md5.c: Use uin32_t. Fix non-gcc UNALIGNED_P macro. + Fix bugs uncovered when converting to bool. + * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation + failure instead of charging ahead blindly. + * lib/regex_internal.c (register_state): Likewise. + * lib/regexec.c (re_search_2_stub): Use simpler method than boolean + for freeing internal storage. + (group_nodes_into_DFA_states): Use unsigned int, not int, for + bitset pieces used as boolean, to avoid undefined behavior + on hosts that do int overflow checking. - * lib/md5.h: Use stdint.h and uint32_t. Doc fix. +2005-09-01 Paul Eggert -2005-10-17 Simon Josefsson + * config/srclist.txt: Add glibc bugs 1285-1287. - * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions. +2005-09-01 Jim Meyering -2005-10-17 Simon Josefsson + * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of + CHOWN_MODIFIES_SYMLINK, which is used by lchown.c. + Require gl_STAT_MACROS, too. - * lib/gc.h, gc-libgcrypt.c: Add ciphers. +2005-09-01 Bruno Haible -2005-10-17 Simon Josefsson + * gnulib-tool (import): In the first-use case, provide defaults. - * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert. +2005-09-01 Bruno Haible - * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes. + * gnulib-tool (func_import): Remove the .tmp files. -2005-10-17 Bruno Haible +2005-09-01 Bruno Haible - * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so - that it can also be used in a test. + * gnulib-tool (func_import): Fix handling of symbolic links. -2005-10-16 Bruno Haible +2005-08-31 Paul Eggert - * gnulib-tool (func_emit_tests_Makefile_am): Also define - TESTS_ENVIRONMENT, so that individual tests can augment it. + On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the + old glibc regex code mishandles strings longer than 2**31 bytes. + This patch fixes this when the regex code is used in gnulib + (i.e., outside glibc). - * gnulib-tool (func_create_testdir): Use an intermediate target for - building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain - macros, like $(ALLOCA_H), which cannot be passed through the command - line. + This patch should not affect the use of the regex code inside + glibc. No doubt this problem also needs to be handled for glibc + as well, but the result will be an incompatible change to the + glibc ABI, and the old ABI will have to be supported too. That + can be the the subject for another patch. -2005-10-15 Simon Josefsson + * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro, + governing whether the rest of this patch is active. By default, + the macro is disabled and the patch has no effect. + (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int. + (__re_idx_t, __re_size_t, __re_long_size_t): New types. + (struct re_pattern_buffer, re_search, re_search_2, re_match): + (re_match_2, re_set_registers): Use the new types. + * lib/regex_internal.h (Idx, re_hashval_t): New types. + (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX): + New macros. + (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers): + (re_string_context_at, bin_tree_t, re_dfastate_t): + (struct re_state_table_entry, state_array_t, re_sub_match_last_t): + (re_sub_match_top_t, re_match_context_t, re_sift_context_t): + (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t): + (re_string_char_size_at, re_string_wchar_at): + (re_string_elem_size_at): + Use the new types and macros to port to 64-bit hosts. + Use unsigned types for internal values, so that the code + mostly works even for arrays larger than SSIZE_MAX. + * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node): + (search_duplicated_node, calc_eclosure_iter, fetch_number): + (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp): + (build_equiv_class, build_charclass, re_compile_fastmap_iter): + (free_dfa_content, create_initial_state, optimize_utf8, analyze): + (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure): + (calc_inveclosure, parse_dup_op, build_range_exp): + (build_collating_symbol, parse_bracket_exp, build_charclass_op): + (fetch_number, create_token_tree, mark_opt_subexp): + Likewise. + * lib/regex_internal.c (re_string_construct_common, + create_ci_newstate): + (create_cd_newstate, re_string_allocate, re_string_construct): + (re_string_realloc_buffers, build_wcs_upper_buffer): + (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer): + (re_string_reconstruct, re_string_peek_byte_case): + (re_string_fetch_byte_case, re_string_context_at): + (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2): + (re_node_set_init_copy, re_node_set_add_intersect): + (re_node_set_init_union, re_node_set_merge, re_node_set_insert): + (re_node_set_insert_last, re_node_set_compare, re_node_set_contains): + (re_node_set_remove_at, re_dfa_add_node, calc_state_hash): + (re_acquire_state, re_acquire_state_context, register_state): + Likewise. + * lib/regex.c (match_ctx_init, match_ctx_add_entry, + search_cur_bkref_entry): + (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init): + (re_search_internal, re_search_2_stub, re_search_stub) + (re_copy_regs, check_matching, check_halt_state_context, update_regs): + (push_fail_stack, sift_states_iter_mb, build_sifted_states): + (update_cur_sifted_state, check_dst_limits): + (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos): + (check_subexp_limits, sift_states_bkref, merge_state_array): + (check_subexp_matching_top, get_subexp, get_subexp_sub): + (find_subexp_node, check_arrival, check_arrival_add_next_nodes): + (check_arrival_expand_ecl, check_arrival_expand_ecl_sub): + (expand_bkref_cache, check_node_accept_bytes): + (group_nodes_into_DFAstates, check_node_accept, regexec, re_match): + (re_search, re_match_2, re_search_2, prune_impossible_nodes): + (acquire_init_state_context, check_halt_node_context): + (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return): + (sift_states_backward, clean_state_log_if_needed): + (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log): + (find_recover_state, transit_state_sb, transit_state_mb): + (transit_state_bkref, build_trtable, match_ctx_clean): + Likewise. + * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned, + to work around an assumption that REG_MISSING is negative. - * modules/rijndael-tests: New file. + * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]: + (seek_collating_symbol_entry) [defined _LIBC]: + (lookup_collation_sequence_value) [defined _LIBC]: + (build_range_exp, build_collating_symbol) [defined _LIBC]: + Use prototypes rather than old-style function definitions. + * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]: + (transit_state_sb) [0]: + (find_collation_sequence_value) [defined _LIBC]: Likewise. - * modules/rijndael: New file. + * lib/regexec.c (re_search_internal): Simplify update of rm_so and + rm_eo. -2005-10-15 Simon Josefsson + * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char): + (optimize_subexps, lower_subexp): + Don't assume 1<<31 has defined behavior on hosts with 32-bit int, + since the signed shift might overflow. Use 1u<<31 instead. + * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain): + Likewise. + * lib/regexec.c (check_dst_limits_calc_pos_1, + check_subexp_matching_top): Likewise. - * m4/rijndael.m4: New file. + * lib/regcomp.c (optimize_subexps, lower_subexp): + Use CHAR_BIT rather than 8, for clarity. + * lib/regexec.c (check_dst_limits_calc_pos_1): + (check_subexp_matching_top): Likewise. + * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't + have to worry about portability issues when shifting it left. + Remove no-longer-needed test for table_size > 0. + * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are + in a word, as the resulting behavior is undefined. + * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise; + in one case, a <= should have been an <, and in another case the + whole test was missing. + * lib/regex_internal.h (BYTE_BITS): Remove. All uses changed to + the standard name CHAR_BIT. + * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1; + this is not true on one's complement and signed-magnitude hosts. -2005-10-15 Simon Josefsson + * lib/regex_internal.h (re_sub_match_top_t): Remove unused member + next_last_offset. + (struct re_dfa_t): Remove unused member states_alloc. + * lib/regcomp.c (init_dfa): Don't initialize unused members. - * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files. +2005-08-31 Paul Eggert - * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files. + * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define + _REGEX_LARGE_OFFSETS). Test for regoff_t/off_t bug in 64-bit + and large-file glibc and in 32-bit large-file Solaris. -2005-10-14 Simon Josefsson +2005-08-31 Paul Eggert - * tests/test-arcfour.c: New file. + * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer + lengths fit in regoff_t; this isn't true if regoff_t is the same + width as size_t. + * lib/regex.c (re_search_internal): 5th arg is LAST_START + (= START + RANGE) instead of RANGE. This avoids overflow + problems when regoff_t is the same width as size_t. + All callers changed. + (re_search_2_stub): Check for overflow when adding the + sizes of the two strings. + (re_search_stub): Check for overflow when adding START + to RANGE; if it occurs, substitute the extreme value. - * modules/arcfour, modules/arcfour-tests: New files. +2005-08-31 Paul Eggert -2005-10-14 Simon Josefsson + * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284. - * m4/arcfour.m4: New file. +2005-08-31 Jim Meyering -2005-10-14 Simon Josefsson + * lib/regcomp.c (search_duplicated_node): Make first pointer arg + a pointer-to-const. + * lib/regex_internal.c (create_ci_newstate, create_cd_newstate): + (register_state): Likewise. + * lib/regexec.c (search_cur_bkref_entry, check_dst_limits): + (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos): + (group_nodes_into_DFAstates): Likewise. - * lib/arcfour.h, lib/arcfour.c: New files. +2005-08-31 Jim Meyering -2005-10-14 Roland McGrath + * check-module: Add a FIXME comment. - Import from libc. [BZ #1331] - * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed - macro argument. - Reported by Matej Vela . +2005-08-31 Eric Blake -2005-10-14 Paul Eggert + * modules/unistd-safer (Files): Add unistd--.h. + * modules/stdio-safer (Files): Add stdio--.h. - * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't - include ; no longer needed. +2005-08-31 Derek Price -2005-10-14 Paul Eggert + * lib/getdelim.c (getdelim): Return EOF on EOF. + Reported by Larry Jones . - * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h. +2005-08-31 Bruno Haible -2005-10-14 Jakub Jelinek - and Ulrich Drepper + Avoid unnecessary diffs in the generated lib/Makefile.am. + * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into + the generated files. + (func_import): Don't set cmd. - Import from libc. - * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf - instead of inline stream orientation test and two separate - function calls. Pay no attention to USE_IN_LIBIO. +2005-08-31 Bruno Haible -2005-10-13 Simon Josefsson + * lib/strstr.c: Include , for NULL. + * lib/strcasestr.c: Likewise. + Reported by Yoann Vandoorselaere . - * modules/gc-hmac-md5-tests: New file. +2005-08-31 Bruno Haible - * tests/test-gc-hmac-sha1.c: New file. + * gnulib-tool: New option --macro-prefix. + (func_import): Use macro_prefix. + (import): Handle option --macro-prefix. - * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests. +2005-08-31 Bruno Haible - * modules/gc-hmac-md5-tests: New file. + * gnulib-tool (import): Rename most ac_* variables to cached_*. + Also use new variables cached_lgpl, cached_libtool. - * tests/test-gc-md5.c: New file. +2005-08-31 Bruno Haible - * modules/gc-md5-tests: New file. + * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of + always instantiating them. -2005-10-13 Simon Josefsson +2005-08-31 Bruno Haible - * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation. - Move memory allocation outside of loop. + * gnulib-tool (func_import): Read the previous cached settings + from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were + earlier added by gnulib but are now dropped. Warn when a gnulib file + overwrites a non-gnulib file. -2005-10-13 Paul Eggert +2005-08-31 Bruno Haible - * lib/mkdir-p.c (make_dir_parents): Don't report an error if an - intermediate directory is in a read-only file system. Problem - reported by Eric Blake. + * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and + gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for + projects that don't keep autogenerated files in CVS. Put into + actioncmd only the specified modules, not the transitive closure. -2005-10-13 Oskar Liljeblad +2005-08-31 Bruno Haible - * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol. + * gnulib-tool (func_import): Fix defaulting of $libname and $libtool. + Create directories that shall be filled. + (import): Don't look for gl_* macros in configure.ac. Recurse across + all directories containing a gnulib-cache.m4 files, if meaningful. -2005-10-12 Simon Josefsson +2005-08-31 Bruno Haible - * tests/test-hmac-sha1.c: New file. + * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL. + (import): Set seen_libtool when we see gl_LIBTOOL. - * modules/hmac-sha1-tests: New file. +2005-08-31 Bruno Haible - * modules/hmac-sha1: New file. + * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit + declaration macro definitions from generated gnulib.m4. -2005-10-12 Simon Josefsson +2005-08-30 Oskar Liljeblad - * modules/gc-sha1: New file. + * lib/iconvme.h: Add prototype for iconv_alloc. -2005-10-12 Simon Josefsson +2005-08-29 Simon Josefsson - * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files. + * lib/iconvme.c: Fix errno. - * tests/test-gc-pbkdf2-sha1.c: New file. +2005-08-29 Bruno Haible -2005-10-12 Simon Josefsson + * gnulib-tool: Enclose all occurrences of $destdir in "...", so + that it works when the directory contains spaces. - * modules/gc-md5, modules/gc-hmac-md5: New files. +2005-08-29 Bruno Haible - * modules/gc (Files): Remove md5, memxor and hmac files. + * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist. -2005-10-12 Simon Josefsson +2005-08-29 Bruno Haible - * m4/gc-pbkdf2-sha1.m4: New file. + * gnulib-tool (func_import): Emit more comments into gnulib.m4. + Emit more advice. - * m4/gc-hmac-sha1.m4: New file. +2005-08-29 Bruno Haible + and Stepan Kasal - * m4/gc-sha1: New file. + * check-module: If more parameters are given, check each of them + separately; add more exceptions, as noted by Jim Meyering. + (check_module): New procedure. + (%exempt_header): Now contains all exceptions. - * m4/hmac-sha1.m4: New file. +2005-08-29 Ben Pfaff -2005-10-12 Simon Josefsson + * modules/byteswap (Makefile.am): Fix rule to not assume GNU make. - * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files. +2005-08-29 Oskar Liljeblad - * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5. + * lib/iconvme.c: Split iconv_string into iconv_alloc. -2005-10-12 Simon Josefsson +2005-08-28 Bruno Haible - * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types, - suggested by Bruno Haible . + * m4/gnulib-tool.m4: New file. -2005-10-12 Simon Josefsson +2005-08-27 Jim Meyering - * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1. + * modules/unistd-safer (Files): Add pipe-safer.c. + * modules/fcntl-safer (Files): Add creat-safer.c. -2005-10-12 Simon Josefsson +2005-08-27 Jim Meyering - * lib/gc-pbkdf2-sha1.c: New file. + * m4/stdlib-safer.m4: New file. From coreutils. + * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h. + * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the + AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ. + * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c. + Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list. - * lib/gc.h: Add gc_pbkdf2_sha1 prototype. +2005-08-27 Jim Meyering -2005-10-12 Simon Josefsson + * lib/fopen-safer.c: Merge minor changes from coreutils. + * lib/dup-safer.c: Likewise. + * lib/fd-safer.c: Likewise. - * lib/gc-libgcrypt.c (gc_hmac_sha1): New function. + Merge from coreutils. + * lib/stdio--.h: New file. + * lib/stdlib--.h: New file. + * lib/mkstemp-safer.c: New file. - * lib/gc-gnulib.c (gc_hmac_sha1): New function. + GNU tar needs these. + * lib/pipe-safer.c: New file. + * lib/creat-safer.c: New file. + * lib/fcntl--.h (creat): Define to creat_safer. + * lib/fcntl-safer.h: Include and declare creat_safer. + * lib/unistd--.h (pipe): Define to pipe_safer. + * lib/unistd-safer.h: Declare pipe_safer. -2005-10-12 Simon Josefsson +2005-08-26 Simon Josefsson - * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and - GC_USE_HMAC_MD5, respectively. + * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno + Haible . - * lib/gc-libgcrypt.c (gc_md5): Fix assert call. - (gc_md5): Fix typo. +2005-08-26 Paul Eggert - * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype. + * lib/regex_internal.h: Remove all references to + RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89 + or better. + (bitset_not, bitset_merge, bitset_not_merge): + (bitset_mask, re_string_allocate, re_string_construct): + (re_string_reconstruct, re_string_destruct, re_string_elem_size_at): + (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case): + (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1): + (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect): + (re_node_set_init_union, re_node_set_merge, re_node_set_insert): + (re_node_set_insert_last, re_node_set_compare, re_node_set_contains): + (re_node_set_remove_at, re_dfa_add_node, re_acquire_state): + (re_acquire_state_context): + Remove unnecessary forward decls. + (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at): + Put __attribute at function definition, + now that the function decl has been removed. + * lib/regex_internal.c (re_string_peek_byte_case): + (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains): + Likewise. - * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto. +2005-08-25 Stepan Kasal - * lib/gc-gnulib.c (gc_hash_buffer): Ditto. + * m4/regex.m4: Add AC_PREREQ(2.50). + (gl_REGEX): If --with-included-regex was given, skip the autodetection. -2005-10-12 Bruno Haible +2005-08-25 Simon Josefsson - * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H. - Reported by Stepan Kasal . + * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and + __fsetlocking. -2005-10-11 Simon Josefsson +2005-08-25 Simon Josefsson - * tests/test-crc.c: New file. + * lib/getpass.c: Add WIN32 implementation. Conditionalize use of + termios.h, tcgetattr, tcsetattr and __fsetlocking. Remove some + GLIBC specific code. - * modules/crc, modules/crc-tests: New files. +2005-08-25 Paul Eggert -2005-10-11 Simon Josefsson + Make regex safe for g++. This fixes one real bug (an "err" + that should have been "*err"). g++ problem reported by + Sam Steingold. + * lib/regex_internal.h (re_calloc): New macro, consistent with + re_malloc etc. All callers of calloc changed to use re_calloc. + * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t, + not int. All callers changed. + * lib/regcomp.c (re_compile_fastmap_iter): Don't use + alloca (mb_cur_max); just use an array of size MB_LEN_MAX. + * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc. + (find_recover_state): Change "err" to "*err"; this fixes what + appears to be a real bug. + (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t + versus int. - * m4/crc.m4: New file. +2005-08-25 Paul Eggert -2005-10-11 Simon Josefsson + * modules/regex (Depends-on): Add malloc, since the code + assumes that !malloc(0) means failure. - * lib/gc.h: Add gc_hash and gc_hash_buffer. +2005-08-25 Paul Eggert - * lib/gc-gnulib.c (gc_hash_buffer): Add. Reorder #include's. + * lib/regexec.c (set_regs): Don't alloca with an unbounded size. - * lib/gc-libgcrypt.c (gc_hash_buffer): Add. + alloca modernization/simplification for regex. + * lib/regex.c: Remove portability cruft for alloca. This no longer + needs to be at the start of the file, and can be moved into + regex_internal.h and simplified. + * lib/regex_internal.h: Include . + (__libc_use_alloca) [!defined _LIBC]: New macro. + * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code + now works outside glibc. -2005-10-11 Simon Josefsson +2005-08-25 Paul Eggert - * lib/crc.h, lib/crc.c: New files. + * config/srclist.txt: Add glibc bugs 1241, 1245. - * lib/gc.h (gc_hash_buffer): Add doc. +2005-08-25 Jim Meyering -2005-10-11 Bruno Haible + * lib/open-safer.c: Include . + Otherwise, we'd lose LARGEFILE support in any file using + e.g. "fcntl--.h" - * modules/c-strcasestr: New file. - * MODULES.html.sh (String handling ): Add c-strcasestr. +2005-08-25 Bruno Haible -2005-10-11 Bruno Haible + * m4/minmax.m4: Require autoconf 2.52. + (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead + of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust + alternatives of translit over the alphabet. + Based on a patch from Stepan Kasal . - * modules/c-strcase: New file. - * MODULES.html.sh (String handling ): Add c-strcase. +2005-08-24 Simon Josefsson -2005-10-11 Bruno Haible + * tests/test-getpass.c: New file. - * lib/strcasecmp.c: Include limits.h. - (strcasecmp): Avoid integer overflow on exotic platforms. - * lib/strncasecmp.c: Include limits.h. - (strncasecmp): Avoid integer overflow on exotic platforms. - Reported by Paul Eggert. +2005-08-24 Paul Eggert -2005-10-11 Bruno Haible + * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing + for GNU regex features. - * lib/c-strcasestr.h: New file, from GNU gettext. - * lib/c-strcasestr.c: New file, from GNU gettext. +2005-08-24 Paul Eggert -2005-10-11 Bruno Haible + * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX. + * lib/regex.h (regerror): Likewise. - * lib/c-strcase.h: New file, from GNU gettext. - * lib/c-strcasecmp.c: New file, from GNU gettext. - * lib/c-strncasecmp.c: New file, from GNU gettext. + * lib/regex.c: Do not include , as POSIX no longer + requires this. (The code never needed it.) -2005-10-10 Paul Eggert + * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c: + All uses of recently-renamed identifiers changed to use the new, + POSIX-compliant names. The code will build and run just fine + without these changes, but it's better to eat our own dog food + and use the standard-conforming names. - * modules/mempcpy (License): GPL -> LGPL. - * modules/strchrnul (License): Likewise. - * modules/sysexits (License): Likewise. + * lib/regex.h: Fix a multitude of POSIX name space violations. + These changes have an effect only for programs that define + _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they + do not change anything for programs compiled in the normal way. + Also, there is no effect on the ABI. -2005-10-08 Simon Josefsson + (_REGEX_SOURCE): New macro. + Do not include if _XOPEN_SOURCE and VMS are both + defined and _GNU_SOURCE is not; this fixes a name space violation. - * config/srclist.txt: Bug 1423 is closed, but 1439 remains. + Rename the following macros to obey POSIX requirements. + The old names are still visible as macros if _REGEX_SOURCE is defined. + (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from + RE_BACKSLASH_ESCAPE_IN_LISTS. + (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM. + (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES. + (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS. + (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS. + (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS. + (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE. + (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL. + (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE. + (REG_INTERVALS): renamed from RE_INTERVALS. + (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS. + (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT. + (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES. + (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS. + (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS. + (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR. + (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES. + (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from + RE_UNMATCHED_RIGHT_PAREN_ORD. + (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING. + (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS. + (REG_DEBUG): renamed from RE_DEBUG. + (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD. + (REG_IGNORE_CASE): renamed from RE_ICASE. This renaming is a bit + unusual, since we can't clash with the POSIX REG_ICASE. + (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE. + (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP. + (REG_NO_SUB): renamed from RE_NO_SUB. + (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS. + (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK. + (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK. + (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK. + (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP. + (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP. + (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP. + (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED. + (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED. + (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON. + (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC. + (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from + RE_SYNTAX_POSIX_MINIMAL_BASIC. + (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED. + (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from + RE_SYNTAX_POSIX_MINIMAL_EXTENDED. + (REG_DUP_MAX): renamed from RE_DUP_MAX. No need to undef it. + (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED. + (REG_REALLOCATE): Renamed from REGS_REALLOCATE. + (REG_FIXED): Renamed from REGS_FIXED. + (REG_NREGS): Renamed from RE_NREGS. -2005-10-07 Simon Josefsson + (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values + of other REG_* macros, since POSIX says the user is allowed to + #undef these macros selectively. - * m4/memxor.m4: Remove gl_C_RESTRICT call. + (reg_errcode_t): Update comment stating what other tables need + to be consistent. -2005-10-06 Simon Josefsson + Rename the following enum values to obey POSIX requirements. + The old names are still visible as macros. + (_REG_ENOSYS): Renamed from REG_ENOSYS. Define even if _XOPEN_SOURCE + is not defined, since GNU is supposed to be a superset of POSIX as + much as possible, and since we want reg_errcode_t to be a signed + type for implementation consistency. + (_REG_NOERROR): Renamed from REG_NOERROR. + (_REG_NOMATCH): Renamed from REG_NOMATCH. + (_REG_BADPAT): Renamed from REG_BADPAT. + (_REG_ECOLLATE): Renamed from REG_ECOLLATE. + (_REG_ECTYPE): Renamed from REG_ECTYPE. + (_REG_EESCAPE): Renamed from REG_EESCAPE. + (_REG_ESUBREG): Renamed from REG_ESUBREG. + (_REG_EBRACK): Renamed from REG_EBRACK. + (_REG_EPAREN): Renamed from REG_EPAREN. + (_REG_EBRACE): Renamed from REG_EBRACE. + (_REG_BADBR): Renamed from REG_BADBR. + (_REG_ERANGE): Renamed from REG_ERANGE. + (_REG_ESPACE): Renamed from REG_ESPACE. + (_REG_BADRPT): Renamed from REG_BADRPT. + (_REG_EEND): Renamed from REG_EEND. + (_REG_ESIZE): Renamed from REG_ESIZE. + (_REG_ERPAREN): Renamed from REG_ERPAREN. + (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE): + (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN): + (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND): + (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants. - * tests/test-hmac-md5.c: New file. + (_REG_RE_NAME, _REG_RM_NAME): New macros. + (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE. All uses + changed. But support the old name if the new one is not defined + and if _REGEX_SOURCE. - * modules/hmac-md5-tests: New file. + Change the following member names in struct re_pattern_buffer. + The old names are still supported if !_REGEX_SOURCE. + The new names are always supported, regardless of _REGEX_SOURCE. + (re_buffer): Renamed from buffer. + (re_allocated): Renamed from allocated. + (re_used): Renamed from used. + (re_syntax): Renamed from syntax. + (re_fastmap): Renamed from fastmap. + (re_translate): Renamed from translate. + (re_can_be_null): Renamed from can_be_null. + (re_regs_allocated): Renamed from regs_allocated. + (re_fastmap_accurate): Renamed from fastmap_accurate. + (re_no_sub): Renamed from no_sub. + (re_not_bol): Renamed from not_bol. + (re_not_eol): Renamed from not_eol. + (re_newline_anchor): Renamed from newline_anchor. - * modules/hmac-md5: New file. + Change the following member names in struct re_registers. + The old names are still supported if !_REGEX_SOURCE. + The new names are always supported, regardless of _REGEX_SOURCE. + (rm_num_regs): Renamed from num_regs. + (rm_start): Renamed from start. + (rm_end): Renamed from end. -2005-10-06 Simon Josefsson + (re_set_syntax, re_compile_pattern, re_compile_fastmap): + (re_search, re_search_2, re_match, re_match_2, re_set_registers): + Prepend __ to parameter names. - * m4/hmac-md5.m4: New file. + Undo yesterday's changes. - * m4/memxor.m4: Require gl_C_RESTRICT. +2005-08-24 Paul Eggert -2005-10-06 Simon Josefsson + * config/srclist.txt: Remove glibc bug 1233 and add 1236, which + supersedes it. Add glibc bugs 1237, 1238, 1240. Comment out + lib/regex.c. - * lib/memxor.c (memxor): Avoid casts and warnings. +2005-08-24 Jim Meyering -2005-10-06 Simon Josefsson + Sync from coreutils. + * m4/fcntl-safer.m4: New file. - * lib/hmac-md5.c: New file. + * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source + and object files for this module. - * lib/hmac.h: New file. +2005-08-24 Jim Meyering -2005-10-06 Paul Eggert + Sync from coreutils. + * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files. - * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool - promotes to int, not unsigned int, to catch the AIX 5.3 - compiler bug. +2005-08-24 Jim Meyering -2005-10-05 Simon Josefsson + * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line, + now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h. - * modules/memxor: New file. +2005-08-24 Jim Meyering - * modules/iconv (Files): Move config.rpath to havelib, it is used - there. + * modules/fcntl-safer: New module. + * modules/fts (Depends-on): Add fcntl-safer. + * MODULES.html.sh (File descriptor based Input/Output): + Add fcntl-safer. - * modules/havelib (Files): Add config.rpath. +2005-08-24 Bruno Haible -2005-10-05 Simon Josefsson + Support for unit test modules. + * modules/README: Mention tests modules. + * modules/TEMPLATE-TESTS: New file. + * gnulib-tool: New options --extract-tests-module, --with-tests and + --tests-base (unused for the moment). + (testsbase, inctests): New variables. + (func_all_modules): Exclude TEMPLATE-TESTS and *-tests. + (func_verify_module): Exclude TEMPLATE-TESTS. + (func_verify_nontests_module, func_verify_tests_module): New functions. + (func_get_dependencies): Add implicit dependency for tests modules. + (func_get_tests_module): New function. + (func_modules_transitive_closure): When --with-tests was specified, + include the unit tests as well, unless explicitly avoided. + (func_emit_lib_Makefile_am): Ignore the tests modules here. + (func_emit_tests_Makefile_am): New function. + (func_create_testdir): When --with-tests was specified, emit a + tests/ directory. + * MODULES.html.sh (Future developments): Update. - * m4/memxor.m4: New file. +2005-08-24 Bruno Haible -2005-10-05 Simon Josefsson + * modules/tls-tests: New file. + * tests/test-tls.c: New file, from GNU gettext. - * lib/memxor.c (memxor): Fix compiler error. +2005-08-24 Bruno Haible - * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also - . + * modules/lock-tests: New file. + * tests/test-lock.c: New file, from GNU gettext. - * lib/memxor.h, lib/memxor.c: New files. +2005-08-24 Bruno Haible - * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H, - we assume all systems have it, suggested by Jim Meyering - . Remove HAVE_SYS_SOCKET_H test too, to see if - any systems lack sys/socket.h; mingw32 is known to lack it, but we - don't support it yet anyway. Also remove HAVE_NETDB_H test, for - same reasons. + * lib/lock.h: Add multiple inclusion guard. + * lib/tls.h: Add multiple inclusion guard. -2005-10-05 Simon Josefsson +2005-08-24 Bruno Haible - * config/srclist.txt: Add glibc bug 1423 for md5.h. + * gnulib-tool: Add support for the --aux-dir option to + --create-testdir, --create-megatestdir, --test, --megatest. + (func_create_testdir, func_create_megatestdir): Optionally emit a + AC_CONFIG_AUX_DIR directive. + (create-testdir, create-megatestdir, test, megatest): Provide a + default value for $auxdir. -2005-10-05 Paul Eggert +2005-08-24 Bruno Haible - * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for - sys/socket.h, netdb.h, sys/types.h; the checks areno longer - needed, since the source code now assumes these .h files. + * gnulib-tool (import): Use compound statement instead of subshell + where possible. -2005-10-05 Derek Price +2005-08-24 Bruno Haible - * lib/getdelim.c (SIZE_MAX): New macro, if not already defined. + * gnulib-tool (import): Change --aux-dir default to "build-aux". -2005-10-05 Bruno Haible +2005-08-24 Bruno Haible - * modules/stdint (License): Change to LGPL. + * gnulib-tool (func_version): Update. -2005-10-04 Simon Josefsson +2005-08-24 Bruno Haible - * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark - D. Baushke" . + * gnulib-tool (func_import, func_create_testdir, + func_create_megatestdir): Quote all autoconf macro arguments. -2005-10-04 Bruno Haible +2005-08-24 Bruno Haible - * lib/verify.h (verify_true): Provide alternative definition for C++. + * gnulib-tool (func_create_megatestdir): Call autoreconf without the + option --force, because --force causes the aclocal.m4 of each + subdirectory to be newer than the corresponding config.h.in. -2005-10-03 Paul Eggert +2005-08-23 Paul Eggert - * lib/getdelim.c: Include getdelim.h first. Include . - (SSIZE_MAX): New macro, if not already defined. - (getdelim): Fix buffer overrun on 64-bit hosts with lines longer - than 2 GiB. + * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used. + All contents moved to gl_REGEX. + (gl_REGEX): Don't bother checking whether lib/regex.c exists; + assume that it does. -2005-10-02 Paul Eggert +2005-08-23 Paul Eggert - Sync from coreutils. - * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir. - * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely - defines ULONG_MAX_LT_ULLONG_MAX. Thomas M.Ott reports that - ULLONG_MAX doesn't work with 2.7.2.1. + * lib/regex.h (REG_NOSYS) + [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]: + Define, since POSIX requires it as of 2001. + (_REG_ENOSYS) + [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]: + New private symbol, used to keep the enum signed in all cases. + * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James + Youngman in + . -2005-10-02 Paul Eggert + * lib/regex_internal.c (re_string_skip_chars, register_state): + (calc_state_hash): + Remove forward decls; no longer needed now that we use prototypes. + * lib/regexec.c (acquire_init_state_context, check_halt_node_context): + (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes): + (clean_state_log_if_needed): Likewise. - * modules/xreadlink (Makefile.am): Remove lib_SOURCES. - From Ben Pfaff. +2005-08-23 Paul Eggert - * modules/exclude (Depends-on): Depend on verify. - * modules/strtoimax (Depends-on): Likewise. - * modules/utimecmp (Depends-on): Likewise. + * config/srclist.txt: Add glibc bugs 1231-1233. -2005-10-02 Paul Eggert +2005-08-20 Paul Eggert - * lib/exclude.c: Include verify.h. - (verify): Remove. All callers changed to use verify.h's version. - * lib/strtoimax.c: Likewise. - * lib/utimecmp.c: Likewis.e + Fix problems reported by Sam Steingold in + . + * lib/regexec.c (sift_states_bkref): Fix portability bug: the code + assumed that reg_errcode_t is a signed type, which is not + necessarily true if _XOPEN_SOURCE is not defined. + * lib/regex_internal.c (calc_state_hash): Put 'inline' before type, + since some compilers warn about it otherwise. - Sync from coreutils. - * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h, - getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h. - * lib/.cvsignore: Add fts.h, search.h, t-fpending. - * lib/settime.c (settime): Fix { typo in previous patch. Also, don't - bother returning ENOSYS if settimeofday or stime fails; just let - them return whatever errno they want to return. - * lib/utimens.c: Include unistd.h, for dup2. - (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if. - (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1. +2005-08-20 Paul Eggert -2005-10-02 Jim Meyering + * lib/regcomp.c (create_initial_state): Remove duplicate decl. + (init_word_char, create_initial_state, duplicate_node_closure): + (fetch_token, peek_token_bracket, build_range_exp): + (build_collating_symbol): Remove forward decls; no longer needed + now that we use prototypes. - Sync from coreutils. - * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes - from glibc-2.2.5 that fails for read-only files. + * lib/regcomp.c: + (re_compile_pattern, re_set_syntax, re_compile_fastmap): + (re_compile_fastmap_iter, regcomp, regerror, regfree): + (re_compile_internal, init_dfa, init_word_char, free_workarea_compile): + (create_initial_state, optimize_utf8, analyze, postorder, preorder): + (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next): + (link_nfa_nodes, duplicate_node_closure, search_duplicated_node): + (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter): + (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp): + (parse_branch, parse_expression, parse_sub_exp, parse_dup_op): + (build_range_exp, build_collating_symbol, parse_bracket_exp): + (parse_bracket_element, parse_bracket_symbol, build_equiv_class): + (build_charclass, build_charclass_op, fetch_number, create_tree): + (create_token_tree, mark_opt_subexp, duplicate_tree): + Use prototypes rather than old-style definitions. -2005-10-02 Jim Meyering + * lib/regex_internal.c: + (re_string_allocate, re_string_construct, re_string_realloc_buffers): + (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer): + (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer): + (re_string_reconstruct, re_string_peek_byte_case): + (re_string_fetch_byte_case, re_string_destruct, re_string_context_at): + (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2): + (re_node_set_init_copy, re_node_set_add_intersect): + (re_node_set_init_union, re_node_set_merge, re_node_set_insert): + (re_node_set_insert_last, re_node_set_compare, re_node_set_contains): + (re_node_set_remove_at, re_dfa_add_node, calc_state_hash): + (re_acquire_state, re_acquire_state_context, register_state): + (create_ci_newstate, create_cd_newstate, free_state): + Likewise. + * lib/regexec.c (regexec, re_match, re_search, re_match_2, + re_search_2): + (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers): + (re_search_internal, prune_impossible_nodes): + (acquire_init_state_context, check_matching, static): + (check_halt_node_context, check_halt_state_context, proceed_next_node): + (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return): + (update_regs, sift_states_backward, build_sifted_states): + (clean_state_log_if_needed, merge_state_array): + (update_cur_sifted_state, add_epsilon_src_nodes): + (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1): + (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref): + (sift_states_iter_mb, transit_state, merge_state_with_log, static): + (find_recover_state, check_subexp_matching_top, transit_state_mb): + (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node): + (check_arrival, check_arrival_add_next_nodes): + (check_arrival_expand_ecl, check_arrival_expand_ecl_sub): + (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates): + (check_node_accept_bytes, check_node_accept, extend_buffers): + (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry): + (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast): + (sift_ctx_init): + Likewise. - Sync from coreutils. - * lib/fts-cycle.c [HAVE_CONFIG_H]: Include . - * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not - `#if HAVE_CONFIG_H'. - * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR. - Remove AT_FDCWD test. - Do not consume the fd unless successful. - * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR. - * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif - block, so that we don't even try to compile it if settimeofday is - available. This works around a compilation failure on OSF1 V5.1, - due to stime requiring a `long int*' while tv_sec is `int'. + * lib/regex_internal.h: + (re_string_allocate, re_string_construct, re_string_reconstruct): + (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer): + (build_upper_buffer, re_string_translate_buffer, re_string_destruct): + (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at): + (re_string_context_at, re_string_peek_byte_case): + (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES + is defined, since we now use prototypes always. -2005-10-02 Alfred M. Szmidt + * lib/regex.h (_RE_ARGS): Remove. No longer needed, since we assume + C89 or better. All uses removed. - Sync from coreutils. - * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path... - against `yes', rather than just testing for nonempty. +2005-08-20 Paul Eggert -2005-10-01 Simon Josefsson + * config/srclist.txt: Add glibc bugs 1220-1227. - * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD - and Darwin. +2005-08-20 Jim Meyering - * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo - as an (POSIX) extension. Check for sys/types.h, sys/socket.h, and - netdb.h too, needed by getaddrinfo.h. Check if getaddrinfo, - freeaddrinfo and gai_strerror are declared by the POSIX headers. - Check if struct addrinfo is declared. + * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration + of unused local, dfa. -2005-10-01 Simon Josefsson +2005-08-20 Bruno Haible - * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h. - Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO. Protect - AI_* and EAI_* definitions. Protect function declarations. + * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE. -2005-10-01 Jim Meyering +2005-08-19 Paul Eggert - Sync from coreutils. + * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert): + (re_node_set_insert_last, re_dfa_add_node): + Rename local variables to avoid GCC shadowing warnings. - * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these - libraries [inet nsl socket xnet]. Nelson Beebe reported that with - native cc on Solaris 7, getaddrinfo.c requires -lsocket. - * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname - in the inet and nsl libraries. Required on Solaris 5.7. +2005-08-19 Paul Eggert -2005-10-01 Jim Meyering + * lib/regex_internal.c (re_acquire_state, re_acquire_state_context) + [defined lint]: Suppress bogus uninitialized-variable warnings. - Sync from coreutils. - * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname - in the inet and nsl libraries. Required on Solaris 5.7. + * lib/regcomp.c (duplicate_node): Return new index, not an error code, + and let the caller return REG_ESPACE if out of space. This + removes an uninitialied-variable warning with GCC 4.0.1, and also + avoids taking the address of a local variable. All callers + changed. -2005-10-01 Eric Blake (tiny change) +2005-08-19 Paul Eggert - * lib/getdelim.c (getdelim): Remove unused variables. + * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c, + $LIBCSRC/posix/regexec.c. + Add glibc bug 1217 for regcomp.c. -2005-09-29 Paul Eggert +2005-08-19 Jim Meyering - * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int, - so that the code works even with ancient cpp. Portability problem - with GCC 2.7.2.1 reported by Thomas M.Ott. + * lib/regexec.c (proceed_next_node): Redo local variables to + avoid GCC shadowing warnings. -2005-09-27 Paul Eggert +2005-08-18 Bruno Haible - * modules/regex (Depends-on): Add strcase. + * lib/strstr.c (strstr): Fix return value in multibyte case. + * lib/strcasestr.c (strcasestr): Likewise. - * modules/gethostname (Licence): Change from GPL to LGPL, since - gethostname.c is a trivial implementation of a standard library - function. - * modules/poll (License): Change from GPL to LGPL, since it's - derived from LGPL code. +2005-08-17 Paul Eggert -2005-09-27 Jim Meyering + * lib/regex.h: Remove useless space-before-tab. From coreutils. - * lib/getcwd.c: Change #ifdefHAVE_CONFIG_H to #ifdef - HAVE_CONFIG_H. +2005-08-17 Jim Meyering - * lib/intprops.h (signed_type_or_expr__): Define. - (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound - for unsigned types. + Make the %s format (seconds since the epoch) work for a negative + number and when used with a zero-padded field width, e.g. %015s. -2005-09-26 Paul Eggert + * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding' + label so that it precedes the code to set `digits'. Otherwise, + %0Ns wouldn't work. Before this change, `date -d @-22 +%05s' would + print `00-22'. Now, it prints `-0022', as it should. - * lib/verify.h (verify_expr): Remove, replacing with: - (verify_true): New macro that returns true instead of void. - (verify_type__): Remove. - (verify): Use verify_true rather than verify_type__. +2005-08-17 Bruno Haible -2005-09-26 Bruno Haible + * modules/strstr (Files): Add m4/mbrtowc.m4. + (Depends-on): Add mbuiter. - * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H - is necessary. - (lib_SOURCES): Remove mbchar.c. - * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary. - (Files): Add m4/mbrtowc.m4. - * modules/mbiter: Likewise. - * modules/mbuiter: Likewise. +2005-08-17 Bruno Haible -2005-09-26 Bruno Haible + * modules/strcasestr: New file. + * MODULES.html.sh (String handling, based on ANSI C 89): Add + strcasestr. - * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't - compile mbchar.c if they are not both present. - * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC. - * m4/mbiter.m4 (gl_MBITER): Likewise. - * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE. - * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise. - * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise. +2005-08-17 Bruno Haible -2005-09-25 Jim Meyering + * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar. - * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c - also uses socklen_t. +2005-08-17 Bruno Haible -2005-09-24 Paul Eggert + * modules/mbuiter: New file. + * MODULES.html.sh (Extended multibyte and wide character utilities): + Add mbuiter. - * lib/utimens.c (ENOSYS): Define if not already defined. - (futimens): Support having a null PATH if the file descriptor - is nonnegative. +2005-08-17 Bruno Haible - * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure): - Remove. - (__attribute): Define to empty unless GCC 3.1 or later. - This works around a core dump on OpenBSD 3.4, which has GCC - 2.95.3, which dumps core when given __attribute__(()). It also - simplifies other tests, since we really don't want to bother with - worrying about which ancient version of GCC supported what. - Original problem reported by Yoann Vandoorselaere, with part of - the fix suggested by Derek Price. + * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always. + (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC. -2005-09-24 Jim Meyering +2005-08-17 Bruno Haible - * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type - so we can once again use a positive bitfield width of 1 -- now we - don't have to explain why we were using a bitfield width of 2. + * m4/strcasestr.m4: New file. -2005-09-23 Paul Eggert +2005-08-17 Bruno Haible - * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp, - and similarly for the other external symbols. Problem reported - by James Gallager. + * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function. + * lib/strstr.c: Completely rewritten, with multibyte locale support. - * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux - bug reported by Jim Meyering. +2005-08-17 Bruno Haible - * m4/utimens.m4 (gl_UTIMENS): Check for futimesat. - * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change; - not needed, since socklen is a prerequisite module. + * lib/strcasestr.h: New file. + * lib/strcasestr.c: New file. -2005-09-23 Paul Eggert +2005-08-17 Bruno Haible - * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include . - Problem reported by Eric Blake. - (getaddrinfo): Initialize se so that it's not garbage. - Redo internal storage allocation so that it doesn't make unportable - assumptions about alignment. - Fix a memory leak. + * lib/strcasecmp.c: Use mbuiter.h. - * lib/utimens.c (futimens): Use futimesat if available. - Prefer it to futimes since it doesn't have the futimes bug. +2005-08-17 Bruno Haible - * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove. - (verify): Don't use the __LINE__ trick, as it doesn't work in general. - Instead, declare a function that returns a pointer to an array, - and use verify_type__ to declare the size of the array. - Problem and germ of a solution reported by Bruno Haible. - (verify_type__): Use 2, not 1, for bitfield size, to avoid - a warning with Irix 6.5 cc. Problem reported by Bruno Haible. + * lib/mbuiter.h: New file. -2005-09-23 Jim Meyering +2005-08-16 Paul Eggert - Sync from coreutils. - Correct build failure (socklen_t not defined) on at least - mips-sgi-irix6.5 and alphaev67-dec-osf5.1. - * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T. + * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results + of gl_GETOPT_SUBSTITUTE. That way, if both gl_GETOPT_SUBSTITUTE + and gl_GETOPT are both invoked via different paths (as happens + with GNU tar CVS because it uses both argp and getopt), the former + wins. -2005-09-23 Jim Meyering +2005-08-16 Bruno Haible - * modules/getaddrinfo (Depends-on): Add socklen. + * modules/tls: New file. + * MODULES.html.sh (Multithreading): Add tls. -2005-09-23 Bruno Haible +2005-08-16 Bruno Haible - * tests/test-verify.c: New file. + * modules/strnlen1: New file. + * MODULES.html.sh (String handling): Add strnlen1. -2005-09-22 Paul Eggert +2005-08-16 Bruno Haible - Sync from coreutils. + * modules/strcase (Files): Add m4/mbrtowc.m4. + (Depends-on): Add strnlen1, mbchar. - * modules/argmatch (Depends-on): Add verify. - * modules/getloadavg (Depends-on): Depend on fcntl-safer, not - unistd-safer. - * modules/save-cwd (Depends-on): Likewise. +2005-08-16 Bruno Haible - * modules/openat (Files): Add lib/openat-die.c. - (Depends-on): Remove error, exitfail. - Add dirname. + * modules/mbiter: New file. + * MODULES.html.sh (Extended multibyte and wide character utilities): + Add mbiter. - * modules/verify: New file. - * MODULES.html.sh (Diagnostics ): New section, - with "verify" module. +2005-08-16 Bruno Haible -2005-09-22 Paul Eggert + * modules/mbfile: New file. + * MODULES.html.sh (Extended multibyte and wide character utilities): + Add mbfile. - Sync from coreutils. +2005-08-16 Bruno Haible - * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4: - * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4: - * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4: - * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4: - * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4: - * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4: - * m4/userspec.m4, xgetcwd.m4, xreadlink.m4: - Don't bother checking for string.h, stdlib.h, unistd.h. - * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require - AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat - module's job. - * m4/jm-macros.m4 (gl_MACROS): Likewise. - * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT. + * modules/mbchar: New file. + * MODULES.html.sh (Extended multibyte and wide character utilities): + New section. - * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro. - (gl_GETDATE): Use it. +2005-08-16 Bruno Haible - * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h. + * m4/tls.m4: New file, from GNU gettext. -2005-09-22 Paul Eggert +2005-08-16 Bruno Haible - Sync from coreutils. + * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function + always. + (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC. - * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h, - stat-time.h. - * lib/argmatch.h: Include verify.h - (ARGMATCH_VERIFY): Use verify rather than rolling our own. - (ARGMATCH_ASSERT): Remove; unused. - * lib/canonicalize.c: Assume STDC_HEADERS. - * lib/exclude.c: Include "strcase.h". - * lib/regex_internal.h [!defined _LIBC]: Likewise. - * lib/getusershell.c: Include stdio--.h rather than stdio.h - and stdio-safer.h. - (getusershell): Call fopen, not fopen_safer. - * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h. - Do not include unistd-safer.h. - (save_cwd): Don't call fd_safer; no longer needed - now that we include fcntl--.h. +2005-08-16 Bruno Haible - * lib/getdate.y (relative_time): New type. - (RELATIVE_TIME_0): New constant. - (parser_control): Use relative_time instead of doing it ourselves. - (%union): Add new relative_time rel member. - (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT): - Now typeless. - (relunit, relunit_snumber): Now of type rel. - (zone, rel, relunit, get_date): Adjust to above changes. + * m4/mbiter.m4: New file. - * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h. - Do not include unistd-safer.h. - (getloadavg): Don't call fd_safer; no longer needed - now that we include fcntl--.h. +2005-08-16 Bruno Haible - * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined. - (make_dir_parents): Treat ENOSYS like EEXIST. + * m4/mbfile.m4: New file. - Improve quality of diagnostics on restore_cwd failure. - * lib/mkdir-p.h (make_dir): Remove. All uses replaced by mkdir. - (make_dir_parents): Last arg is now int * (for errno), not bool *. - * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise. - Rewrite "mkdir -p" algorithm to avoid the need for "stat" - each time through the loop. Do not diagnose restore_cwd failure; - that is the caller's job (and perhaps the caller does not care). +2005-08-16 Bruno Haible - * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove. - (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP. - If the file already exists but is not a directory, don't bother - to try to make its parents. - Close potential file descriptor leak if we can't chdir("/") (!). - Don't always return true if chdir($PWD) fails; return true only - if the requested action was done successfully (except for the - chdir($PWD)). - Don't log final directory unless we actually made it. - Refactor to avoid duplicate code to fix up permissions. - Don't attempt to fix up parent permissions if chdir($PWD) fails. + * m4/mbchar.m4: New file. - * lib/strftime.c (my_strftime): Rewrite the previous change slightly, - to make it a bit faster and (I hope) clearer. - * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z. - Fix bug in formats like %2N. +2005-08-16 Bruno Haible - * lib/verify.h: New file. + * lib/tls.h: New file, from GNU gettext. + * lib/tls.c: New file, from GNU gettext. -2005-09-22 Paul Eggert +2005-08-16 Bruno Haible - Sync from coreutils. - * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h. + * lib/strnlen1.h: New file. + * lib/strnlen1.c: New file. -2005-09-22 Jim Meyering +2005-08-16 Bruno Haible - Sync from coreutils. + * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field. + (mbi_init): Update. + (mbi_avail, mbi_advance): Let the iteration end before the terminating + NUL byte, not after it. - * m4/lstat.m4 (gl_FUNC_LSTAT): - Use AC_LIBSOURCES to require lstat.c and lstat.h. - Remove obsolete comment. - * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ. - * m4/xstrtod.m4: Likewise. +2005-08-16 Bruno Haible - * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c. + * lib/strcase.h (strcasecmp): Add note in comments. + * lib/strncasecmp.c: Use code from strcasecmp.c. + * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant. + (strcasecmp): Work correctly in multibyte locales. -2005-09-22 Jim Meyering +2005-08-16 Bruno Haible - Sync from coreutils. + * lib/mbiter.h: New file. - * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case. +2005-08-16 Bruno Haible - * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just - the .tm_year member, since otherwise gcc-4.0 would now warn about - tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday. + * lib/mbfile.h: New file. - * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in - order to avoid an unsuppressible warning from gcc on 64-bit systems. +2005-08-16 Bruno Haible - * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that - the command "date -d'2005-03-27 +1 day'" succeeds once again, even - when run in a time zone for which daylight savings time is in effect - for the starting date. + * lib/mbchar.h: New file. + * lib/mbchar.c: New file. - * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD) - stop us from restricting permissions of just-created absolute-named - directories. - * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing - to restore initial working directory. - * lib/mkdir-p.c (make_dir_parents): New parameter: - different_working_dir, to tell caller if/when we change the working - directory and are unable to return to the initial one. - * lib/mkdir-p.h (make_dir_parents): Update prototype. - * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to - `return false'. This fixes a bug introduced on 2004-07-30. +2005-08-16 Bruno Haible - * lib/openat.c (fdopendir): Be sure to close the supplied - file descriptor before returning. This makes our replacement - implementation a little closer to Solaris's, where fdopendir - ties the file descriptor to the returned DIR* pointer. - * lib/openat.c (unlinkat): New function. - * lib/openat.h (unlinkat): Add prototype. - * lib/openat-die.c (openat_save_fail): Rename from openat_save_die. - (openat_restore_fail): Rename from openat_restore_die. - * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming. + * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after + the valid ones. Makes the comparison operations transitive: + cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0. + * lib/strcasecmp.c (strcasecmp): Use mb_casecmp. - Provide an alternative to exiting immediately upon save_cwd or - restore_cwd failure. Now, an application can arrange e.g., - to perform a longjump in that case. - * lib/openat.c: Include dirname.h. - Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash. - (rpl_openat, fdopendir, fstatat): Call openat_save_die - and openat_restore_die rather than calling error directly. - Don't include "error.h" or "exitfail.h"; they're no longer needed. +2005-08-15 Simon Josefsson - * lib/openat-die.c (openat_save_die, openat_restore_die): New file. - * lib/openat.h (openat_save_die, openat_restore_die): Declare and - define. + * modules/ssize_t (License): Change to 'unlimited'. - * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface: - size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm, - int utc, int nanoseconds); - Background: - date should not have to allocate a megabyte of virtual memory to - handle a format argument like +%1048575T. When implemented with - strftime, it must allocate such a buffer, use strftime to fill it - in, print it, then free it. - With fprintftime, it simply prints everything and exits. - With no need for memory allocation, that's one fewer way to fail. - * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the - optional field width, not before, so we accept %9:z, not %:9z. - (my_strftime): Be sure to use L_('x') for literals. + * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license. - * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c: - * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c: - * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c: - * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c: - * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c: - * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c: - * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c: - * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c: - * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c: - * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c: - * lib/xgethostname.c, lib/xreadlink.c: - Assume HAVE_UNISTD_H, i.e., include unconditionally. +2005-08-15 Paul Eggert - * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c: - * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c: - * lib/openat.h, lib/save-cwd.c, lib/tempname.c: - Assume HAVE_FCNTL_H (i.e., include unconditionally, - and don't include ). + * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h. + Add comments for each pending glibc patch. -2005-09-22 Eric Blake (tiny change) +2005-08-15 Bruno Haible + + * lib/regex.h (__restrict_arr): Don't define to __restrict if + __cplusplus is defined. + +2005-08-14 Jim Meyering Sync from coreutils. - * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin. - [__linux__]: Allocate a big enough buffer for /proc/loadavg. - [!LDAV_DONE]: Avoid unused variable warning. + * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir): + Use the hash-table-based cycle-detection code not just when + FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL. + Reported by James Youngman in + . + * lib/fts_.h: Mention that with FTS_LOGICAL, we use + FTS_TIGHT_CYCLE_CHECK. + * lib/fts.c (fts_cross_check) [FTS_DEBUG]: + s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG, + once again. + * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own. + * lib/fts.c (fd_safer): Remove decl. + Include fcntl--.h rather than unistd-safer.h + (fts_safe_changedir): Don't call fd_safer; no longer needed + now that we include fcntl--.h. -2005-09-21 Bruno Haible +2005-08-12 Simon Josefsson - * lib/unicodeio.h (unicode_to_mb): New declaration. + * modules/getndelim2: Use ssize_t module. + * modules/getnline: Likewise. + * modules/safe-read: Likewise. + * modules/xreadlink: Likewise. -2005-09-20 Derek Price + * modules/ssize_t: New file. - * lib/getaddrinfo.c: Don't include included from - getaddrinfo.h. +2005-08-12 Simon Josefsson -2005-09-20 Bruno Haible + * m4/readline.m4: Look for termcap, curses or ncurses if required. - * gnulib-tool: Remove trailing slashes from the values specified for - --source-base, --m4-base, --tests-base, --aux-dir. - Suggested by Simon Josefsson . +2005-08-12 Simon Josefsson -2005-09-20 Bruno Haible + * MODULES.html.sh (Support for systems lacking POSIX:2001): Add + ssize_t. - * gnulib-tool (func_all_modules, func_modules_transitive_closure, - func_modules_to_filelist, func_import, func_create_testdir): Make all - sorting results locale-independent, so that gnulib-cache.m4 doesn't - change when gnulib-tool is invoked in a different locale. +2005-08-12 Simon Josefsson -2005-09-19 Simon Josefsson + * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add + readline, getdelim and check_version. + (Support for systems lacking ISO C 99: Sizes of integer types): + Add size_max. - * m4/socklen.m4: Fix typo. +2005-08-12 Bruno Haible -2005-09-19 Ralf Wildenhues + * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first. - Use a consistent style for including . - * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c, - lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c, - lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c, - lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c, - lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c, - lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c, - lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c, - lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c, - lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c, - lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c, - lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c, - lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c, - lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c, - lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c, - lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, - lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c, - lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c, - lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c, - lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c, - lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c, - lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c, - lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c, - lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, - lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c, - lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c, - lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c, - lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c, - lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c, - lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c, - lib/xstrtoumax.c, lib/yesno.c: - Standardize inclusion of config.h. - * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h, - lib/inttostr.h: Removed inclusion of config.h from header files. - * lib/inttostr.c: Adjusted in-tree users. - * lib/timespec.h: Remove superfluous warning to include config.h. - * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c, - lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c, - lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c, - lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of - config.h with HAVE_CONFIG_H. +2005-08-11 Simon Josefsson -2005-09-19 Jim Meyering + * modules/readline: New file. - * modules/pathmax (License): Change to LGPL. + * modules/strnlen (Files): Add strnlen.h. -2005-09-19 Derek Price +2005-08-11 Simon Josefsson + + * m4/readline.m4: New file. - * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h. +2005-08-11 Simon Josefsson -2005-09-19 Bruno Haible + * lib/readline.h, readline.c: New file. - * gnulib-tool (import): Provide default for --tests-base. +2005-08-11 Simon Josefsson -2005-09-19 Bruno Haible + * doc/gnulib.texi (Initial import, Finishing touches): Mention + gl_AVOID. - * doc/quote.texi: New file, extracted from gnulib.texi. - * doc/ctime.texi: New file, extracted from gnulib.texi. - * doc/inet_ntoa.texi: New file, extracted from gnulib.texi. - * doc/gnulib-tool.texi: New file, extracted from gnulib.texi. - * doc/gnulib.texi: Include them. +2005-08-11 Bruno Haible -2005-09-18 Bruno Haible + * lib/strnlen.h (strnlen): Change parameter name to match comment. - Portability fix. - * gnulib-tool (func_readlink): New function. - (func_ln_if_changed): Use it. +2005-08-10 Stepan Kasal -2005-09-18 Bruno Haible + * m4/onceonly_2_57.m4: Really require Autoconf 2.57. - * gnulib-tool: Support --with-tests also with --import. - (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase. - (func_import): Use variables $testsbase and $inctests. Emit a - gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am. - Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and - SUBDIRS += $testsdir. - (func_create_testdir): Update. +2005-08-10 Simon Josefsson -2005-09-18 Bruno Haible + * tests/test-iconvme.c: New file. - * gnulib-tool: Revise --dry-run implementation. Use variable $doit - instead of $dry_run. - (func_cp_if_changed, func_mv_if_changed): Remove functions. - (func_ln_if_changed): Don't handle dry-run here. - (func_import): In dry-run mode, detect more precisely which actions - would be performed, and don't use "...ing" verbs. +2005-08-10 Simon Josefsson -2005-09-18 Bruno Haible + * m4/strnlen.m4: New file. - * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize. - (func_import): Use join on two temporary files instead of three nested - loops, in order to determine which files are new or old. + * m4/strndup.m4: Don't check for strnlen declaration, done in + strnlen.m4. -2005-09-18 Bruno Haible +2005-08-10 Simon Josefsson - * gnulib-tool (func_import): Comment out code that spits out the - new files with --dry-run. + * lib/strndup.c: Use strnlen.h. -2005-09-18 Bruno Haible + * lib/strnlen.h: New file. - * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten. +2005-08-08 Ralf Wildenhues (tiny change) -2005-09-16 Paul Eggert + * README: Typos. - * lib/stat-time.h: New file. - * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP): - (MTIME_CMP, TIMESPEC_NS): Remove. Now done by stat-time.h, - in a different way. - (timespec_cmp): New function. - * lib/utimecmp.c: Include stat-time.h. - (SYSCALL_RESOLUTION): Depend on whether various struct stat - members exist, not on the obsolescent ST_MTIM_NSEC. - (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS. +2005-08-02 Simon Josefsson -2005-09-16 Paul Eggert + * modules/readline: New file. - * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c. +2005-08-02 Simon Josefsson -2005-09-16 Paul Eggert + * modules/getdelim: New file. - * MODULES.html.sh (File system functions): Add stat-time. - * modules/stat-time: New file. - * modules/timespec (Files): Remove m4/st_mtim.m4; this - is now done in a different way, by the stat-time module. - * modules/utimecmp (Depends-on): Add stat-time. + * modules/getline: Rewrite, don't use getndelim2. -2005-09-15 Paul Eggert +2005-08-02 Simon Josefsson - * m4/st_mtim.m4: Remove. Superseded by... - * m4/stat-time.m4: New file. - * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE. - Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed. + * m4/getline.m4: Separate out getdelim stuff into separate module. -2005-09-15 Derek Price + * m4/getdelim.m4: New file. - * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here. +2005-08-02 Simon Josefsson -2005-09-15 Derek Price + * lib/getline.h, getline.c: Rewrite. - * lib/regex_internal.h: Blank `pure' for GNUC < 3. - * lib/regex_internal.c: Ditto, using this... - (__GNUC_PREREQ): ...new macro. - * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1 - using... - (__GNUC_PREREQ): ...this new macro. + * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc. - * lib/strstr.h: Include string.h. Define strstr as a macro here. +2005-07-31 Bruno Haible -2005-09-15 Derek Price - Paul Eggert + * lib/lock.h (gl_lock_initializer): New macro. + (gl_lock_define_initialized): Use it. + (gl_rwlock_initializer): New macro. + (gl_rwlock_define_initialized): Use it. + (gl_recursive_lock_initializer): New macro. + (gl_recursive_lock_define_initialized): Use it. - * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous - changes, consolidating in... - * lib/regex_internal.h: ...this file. +2005-07-30 Karl Berry -2005-09-13 Jim Meyering + * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib. + Report from Ben Pfaff, regarding getopt. - * lib/canon-host.c: Filter through gnu indent and reword comments - slightly. - * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing. +2005-07-26 Paul Eggert -2005-09-13 Derek Price + Add support to getopt for Emacs, which doesn't use LIBOBJS in the + normal way. + * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro. + (gl_GETOPT_SUBSTITUTE): Use it. Invoke gl_PREREQ_GETOPT. + (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros. + (gl_GETOPT): Use the new macros. Most of the implementation + is moved to the new macros. This is for programs like Emacs + that don't want all the functionality of gl_GETOPT. - * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation - failure. - Reported by Jim Meyering . +2005-07-26 Bruno Haible -2005-09-12 Ralf Wildenhues (tiny change) + * m4/lock.m4: Update from GNU gettext. - * lib/base64.c: Typo. - (base64_encode): Put b64str in initialized data section. +2005-07-26 Bruno Haible -2005-09-12 Paul Eggert + * lib/lock.h: Update from GNU gettext. + * lib/lock.c: Update from GNU gettext. - Merge glibc and coreutils changes into gnulib, plus a few - extra fixes. - * lib/md5.c: Use #error rather than a string. - (CYCLIC): New macro, from glibc source. Use it instead of rol. - * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already. - (__attribute__): Define to empty for non recent-GCC. - (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block): - (__md5_process_bytes, __md5_read_ctx, __md5_stream): - Renamed from their non-__ counterparts, with new macros replacing - them if not _LIBC. Add __THROW attribute. - (rol): Remove. - (struct md5_ctx): Align buffer if using GCC. - * lib/sha1.h (struct sha1_ctx): Likewise. - * lib/sha1.c (SWAP): Renamed from the NOTSWAP. All uses changed. - The old name was backwards. - (NOTSWAP): Remove; not used. - (rol): New macro, moved here from md5.h. - (sha1_process_block): Remove a FIXME that doesn't make sense. +2005-07-25 Paul Eggert -2005-09-12 Derek Price + * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the + obsolescent AC_TRY_RUN. Include the default includes files, for + 'exit'. - Return usable errors from canon-host. - * lib/canon-host.h: New file. - * lib/canon-host.c (canon_host): Wrap... - (canon_host_r): ...this new function, which now relies exclusively on - getaddrinfo. - (ch_strerror): New function. - (last_cherror): New global. - * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test - interface. - (getaddrinfo): Add AI_CANONNAME functionality. Don't do arithmetic on - void *. - (freeaddrinfo): Free ai->ai_canonname when set. +2005-07-24 Bruno Haible -2005-09-12 Derek Price + * modules/visibility: New file. + * MODULES.html.sh (Misc): Add visibility. - Make canon-host require getaddrinfo. - * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies. - AC_LIBSOURCE canon-host.h. Call... - (gl_PREREQ_CANON_HOST): ...this new function, which requires - gl_GETADDRINFO. - * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed. +2005-07-24 Bruno Haible -2005-09-12 Derek Price + * m4/visibility.m4: New file. - * modules/canon-host: Add canon-host.h. Depend on getaddrinfo. Make - LGPL. - * modules/getaddrinfo: Add link to opengroup spec. Depend on strdup. +2005-07-24 Bruno Haible -2005-09-12 Derek Price + * doc/visibility.texi: New file. - * lib/gai_strerror.c: Include config.h when available. Include - getaddrinfo.h before other headers to test interface. - Reported by Larry Jones . +2005-07-22 Bruno Haible -2005-09-12 Derek Price - Paul Eggert + * modules/alloca-opt (Makefile.am): Remove explicit dependency on + $(ALLOCA_H), redundant through BUILT_SOURCES. + * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H), + redundant through BUILT_SOURCES. + * modules/byteswap (Makefile.am): Remove explicit dependency on + $(BYTESWAP_H), redundant through BUILT_SOURCES. + * modules/fnmatch (Makefile.am): Remove explicit dependency on + $(FNMATCH_H), redundant through BUILT_SOURCES. + * modules/getopt (Makefile.am): Remove explicit dependency on + $(GETOPT_H), redundant through BUILT_SOURCES. + * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H), + redundant through BUILT_SOURCES. + * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H), + redundant through BUILT_SOURCES. + * modules/stdbool (Makefile.am): Remove explicit dependency on + $(STDBOOL_H), redundant through BUILT_SOURCES. + * modules/stdint (Makefile.am): Remove explicit dependency on + $(STDINT_H), redundant through BUILT_SOURCES. + * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES. + Remove explicit dependency on $(SYSEXITS_H). + Reported by Alexandre Duret-Lutz . - * modules/glob (Files): Add glob-libc.h. +2005-07-18 Simon Josefsson -2005-09-12 Derek Price - Paul Eggert + * lib/check-version.c (check_version): Accept identical versions too. - * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c, - glob_.h, glob-libc.h. - (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed. +2005-07-18 Bruno Haible -2005-09-12 Derek Price - Paul Eggert + * modules/lock: New file. + * MODULES.html.sh (Multithreading): New section. - * lib/glob-libc.h: Renamed from glob_.h. The new version is - taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB' - protecting things that should be done only in gnulib contexts. - * lib/glob_.h: New file, containing only the glob things needed for - gnulib. - (GLOB_PREFIX): Remove. All uses changed to look for __GLOB_GNULIB. - (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed. - (glob, globfree, glob_pattern_p): Now defined simply in terms of - rpl_glob, rpl_globfree, rpl_glob_pattern_p. - (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer - and to respect the namespace rules better. +2005-07-18 Bruno Haible -2005-09-08 Simon Josefsson + * m4/lock.m4: New file, from GNU gettext. - * modules/socklen: New file. +2005-07-18 Bruno Haible -2005-09-08 Simon Josefsson + * lib/lock.h: New file, from GNU gettext. + * lib/lock.c: New file, from GNU gettext. - * m4/socklen.m4: New file. +2005-07-18 Bruno Haible -2005-09-08 Paul Eggert + * lib/lock.h (gl_once_t): New type. + (gl_once_define, gl_once): New macros. + * lib/lock.c (fresh_once): New variable. + (glthread_once, glthread_once_call, glthread_once_singlethreaded): New + functions. - * modules/utimens (Files): Add m4/utimbuf.m4, since - m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF. - Reported by Sergey Poznyakoff. +2005-07-16 Simon Josefsson -2005-09-08 Paul Eggert + * doc/gnulib.texi (Library version handling): Add ELF symbol collision + workaround, suggested by Bruno. - * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function - definitions, since that's the preferred style in glibc. - Fix a minor spacing issue, and update copyright notice to match - glibc's. +2005-07-15 Paul Eggert -2005-09-08 Paul Eggert + * modules/xalloc (Depends-on): Add xalloc-die. + * modules/xvasprintf (Depends-on): Add xalloc-die. - * config/srclist.txt: Remove glibc bug 1061; it's been fixed. +2005-07-15 Paul Eggert -2005-09-06 Simon Josefsson + * lib/quotearg.c: Add translator comment suggested by Bruno Haible, + with a minor change. - * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not - TCSETATTR. Reported by Derek Price . +2005-07-15 Bruno Haible -2005-09-06 Paul Eggert + * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug. + When using lib/poll.c, define poll as rpl_poll. - * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall - warning. +2005-07-14 Paul Eggert -2005-09-06 Paul Eggert + * modules/argp (Depends-on): Remove unlocked-io. - * config/srclist.txt: Add glibc bug 1302. +2005-07-14 Derek Price -2005-09-05 Paul Eggert + * m4/glob.m4 (gl_GLOB): Cache glob interface check result. Add check + for glob symlink bug. - Change bitset word type from unsigned int to unsigned long int, - as this has better performance on typical 64-bit hosts. - Port bitset code to hosts with unusual word sizes. - * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp): - (build_collating_symbol): - Prefer bitset to re_bitset_ptr_t in prototypes, when the actual - argument is a bitset. This is merely a style issue, but it makes - it clearer that an entire array is expected. - (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps): - * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op): - Port to the case where bitset_word is not the same as unsigned int. - * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain): - (bitset_not, bitset_merge, bitset_set_all, bitset_mask): - Likewise. - * lib/regexec.c (check_dst_limits_calc_pos_1, - check_subexp_matching_top): - (build_trtable, group_nodes_into_DFAstates): - Likewise. - * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8): - Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS. - * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise. - * lib/regexec.c (group_nodes_into_DFAstates): Likewise. - * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff. - * lib/regcomp.c (optimize_subexps, lower_subexp): - Work even if bitset_word has holes in its bitwise representation. - * lib/regex_internal.h (BITSET_WORD_BITS): Likewise. - * lib/regexec.c (check_dst_limits_calc_pos_1, - check_subexp_matching_top): - Likewise. - * lib/regex_internal.c (re_string_reconstruct): - Don't assume UCHAR_MAX == 255. - * lib/regex_internal.h (bitset_set_all): Likewise. - * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS. - All uses changed. - (BITSET_WORDS): Renamed from BITSET_UINTS. All uses changed. - (bitset_word): New type, replacing 'unsigned int' for bitset uses. - All uses changed. - (BITSET_WORD_MAX): New macro. - (bitset_set, bitset_clear, bitset_contain, bitset_empty): - (bitset_set_all, bitset_copy): Now inline functions, not macros. - (bitset_empty, bitset_copy): - Prefer sizeof (bitset) to multiplying it out ourselves. - (bitset_not_merge): Remove; unused. - (bitset_contain): Return bool, not unsigned int with one bit on. - All callers changed. - * lib/regexec.c (build_trtable): Don't assume bitset has no stricter - alignment than re_node_set; do this by defining a new internal - type struct dests_alloc and using it to allocate memory. +2005-07-14 Bruno Haible -2005-09-05 Bruno Haible + * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO. + Instead, test for *_unlocked function declarations directly. - * gnulib-tool (func_import): Fix comparison in handling of symbolic - links. +2005-07-11 Simon Josefsson -2005-09-04 Martin Lambers (tiny change) + * modules/size_max: New file. - * modules/size_max (Makefile.am): Add size_max.h + * modules/xsize: Depend on size_max module for size_max.m4. -2005-09-04 Derek Price +2005-07-11 Simon Josefsson - * gnulib-tool (func_import): Fix reversed $symbolic logic. + * lib/size_max.h: New file. -2005-09-03 Simon Josefsson +2005-07-11 Paul Eggert - * gnulib-tool: Fix typo. + * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the + copyright symbol and the year. + * lib/version-etc.c (COPYRIGHT_YEAR): New constant. + (version_etc_va): Use parameterized copyright notice. + Reword to conform to the current GNU coding standards. -2005-09-03 Simon Josefsson +2005-07-11 Karl Berry - * config/srclist.txt: Add glibc bug 1293. + * doc/gnulib.texi (Quoting): new node. + (Initial import): more info, from Patrice. -2005-09-03 Derek Price +2005-07-11 Bruno Haible - * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error. - From Larry Jones . + * gnulib-tool (func_usage): Document option --avoid. + (Command line options): Handle --avoid. + (func_acceptable): New function. + (func_modules_transitive_closure): Use it. -2005-09-02 Simon Josefsson +2005-07-11 Bruno Haible - * modules/socklen: New file. + * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site. + Reported by Jim Meyering. -2005-09-02 Simon Josefsson +2005-07-10 Bruno Haible - * modules/havelib: New module. + * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t. + Needed when size_t is smaller than 'unsigned int'. + Reported by Paul Eggert. - * modules/gettext, modules/iconv, modules/lock, modules/readline: - Use havelib. +2005-07-09 Sergey Poznyakoff -2005-09-02 Paul Eggert + * modules/argp (Depends-on): Add unlocked-io - Check for arithmetic overflow when calculating sizes, to prevent - some buffer-overflow issues. These patches are conservative, in the - sense that when I couldn't determine whether an overflow was possible, - I inserted a run-time check. - * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New - macros. - (SIZE_MAX) [!defined SIZE_MAX]: New macro. - (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc): - (re_xnrealloc, re_x2nrealloc): New inline functions. - * lib/regcomp.c (init_dfa, analyze, build_range_exp, - parse_bracket_exp): - (build_equiv_class, build_charclass): Check for arithmetic overflow - in size expression calculations. - * lib/regex_internal.c (re_string_realloc_buffers): - (build_wcs_upper_buffer, re_node_set_add_intersect): - (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last): - (re_dfa_add_node, register_state): Likewise. - * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal): - (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival): - (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry): - (match_ctx_add_subtop, match_ctx_add_sublast): Likewise. +2005-07-09 Sergey Poznyakoff -2005-09-02 Paul Eggert + * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary + block of defines. - * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4, - m4/ulonglong.m4. Problem reported by Martin Lambers. +2005-07-08 Paul Eggert -2005-09-02 Bruno Haible + * config/srclist.txt: Comment out regcomp.c, since we have a porting + fix now. - Support for lib vs. lib64 distinction on biarch platforms. - * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro. - (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'. - * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise. +2005-07-08 Eric Blake (tiny change) + and Paul Eggert -2005-09-02 Bruno Haible + * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value + in wint_t, not wchar_t. Remove now-unnecessary cast. - * gnulib-tool (import): In the other first-use case, provide defaults - as well. +2005-07-07 Paul Eggert -2005-09-02 Bruno Haible + * modules/regex (Files): Add lib/regex_internal.c, + lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4. + (Depends-on): Add extensions. + (Makefile.am): Remove lib_SOURCES; now done by m4 code. - * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have - patches not yet found in the latest gettext release. +2005-07-07 Paul Eggert -2005-09-01 Paul Eggert + * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on + pathconf. + * m4/same.m4 (gl_SAME): Likewise. + Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase. - * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX, - to avoid a collision with bits/local_lim.h in glibc. - All uses changed. Problem reported by Dmitry V. Levin in - . + * m4/regex.m4: Adjust to new libc regex implementation. + (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for + all the .c and .h parts of (the new) regex. + Quote the m4 stuff better. + Check for RE_ICASE bug of old gnulib. + Check for REG_STARTEND of recent libc. + Rename local variables from jm_* to gl_*. + Quote operand of "test -f". + Say "recent enough" version of libc, not "version 2". + (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a + prerequisite module. Remove AC_HEADER_STDC; no longer needed. + Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll. + Remove check for btowc, isascii. + Require AM_LANGINFO_CODESET. - * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability - bugs in int versus size_t comparisons. - (re_string_context_at): Fix bug where the code assumed that - Idx is signed. +2005-07-07 Paul Eggert - Use bool where appropriate. - * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int. - All callers changed. - (calc_eclosure_iter): Likewise, for ROOT arg. - (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg. - (build_charclass_op): Likewise, for NON_MATCH arg. - * lib/regex_internal.c (re_string_allocate, re_string_construct): - (re_string_construct_common): Likewise, for ICASE arg. - * lib/regexec.c (re_search_2_stub, re_search_stub): - Likewise, for RET_LEN arg. - (check_matching): Likewise, for FL_LONGEST_MATCH arg. - (set_regs): Likewise, for FL_BACKTRACK arg. - * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8): - (duplicate_node_closure, calc_inveclosure, calc_eclosure): - (calc_eclosure_iter, parse_bracket_exp): - Use bool for internal variables that are booleans. - * lib/regexec.c (re_search_internal, check_matching, - proceed_next_node): - (set_regs, build_sifted_states, sift_states_bkref): - (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub): - (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates): - (find_collation_sequence_value): - Likewise. - * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last): - (re_node_set_compare): - Return bool, not int. All callers changed. - * lib/regexec.c (check_halt_node_context, check_dst_limits): - (build_trtable, check_node_accept): Likewise. - * lib/regex_internal.h: Include stdbool.h. + * lib/regex.c, regex.h: Sync from libc. + * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h: + * lib/regexec.c: + New files, synced from libc, except that regex_internal.h + currently has a small porting fix. - Fix bugs uncovered when converting to bool. - * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation - failure instead of charging ahead blindly. - * lib/regex_internal.c (register_state): Likewise. - * lib/regexec.c (re_search_2_stub): Use simpler method than boolean - for freeing internal storage. - (group_nodes_into_DFA_states): Use unsigned int, not int, for - bitset pieces used as boolean, to avoid undefined behavior - on hosts that do int overflow checking. +2005-07-07 Paul Eggert -2005-09-01 Paul Eggert + * config/srclist.txt: Add regcomp.c, regex.c, regex.h, + regex_internal.c, regexec.c. + Add regex_internal.h too, but as a comment, since the libc version + is currently broken in gnulib mode. - * config/srclist.txt: Add glibc bugs 1285-1287. +2005-07-06 Paul Eggert -2005-09-01 Jim Meyering + Support programs like Emacs that use gnulib but not gettext. + * MODULES.html.sh (Internationalization functions): Add gettext-h. + * modules/gettext-h: New file. + * modules/gettext (Files): Remove lib/gettext.h. + (Depends-on): Add gettext-h. + (Makefile.am): Remove lib_SOURCES. + * modules/argmatch, modules/c-stack, modules/closeout: + * modules/copy-file, modules/csharpcomp, modules/csharpexec: + * modules/execute, modules/file-type, modules/getaddrinfo: + * modules/getopt, modules/human, modules/javacomp: + * modules/javaexec, modules/mkdir-p, modules/obstack: + * modules/openat, modules/pagealign_alloc, modules/pipe: + * modules/quotearg, modules/regex, modules/rpmatch: + * modules/unicodeio, modules/userspec, modules/version-etc: + * modules/wait-process, modules/xalloc-die, modules/xmemcoll: + * modules/xsetenv: + Depend on gettext-h, not gettext. - * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of - CHOWN_MODIFIES_SYMLINK, which is used by lchown.c. - Require gl_STAT_MACROS, too. +2005-07-05 Paul Eggert -2005-09-01 Bruno Haible + * gnulib-tool (func_import): Add support for 'public domain' license. + * modules/alloca, modules/atexit, modules/memmove: + Now public domain, not GPL. + * modules/dup2, modules/getpagesize, modules/malloc, modules/memset: + * modules/realloc, modules/strerror, modules/strtod: + Now LGPL, not GPL. - * gnulib-tool (import): In the first-use case, provide defaults. +2005-07-05 Bruno Haible -2005-09-01 Bruno Haible + * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current + autoconf CVS. Needed for mingw. - * gnulib-tool (func_import): Remove the .tmp files. +2005-07-03 Paul Eggert -2005-09-01 Bruno Haible + Remove the dependency of the strftime module on the tzset module. + * modules/strftime (Depends-on): Remove dependency on tzset. - * gnulib-tool (func_import): Fix handling of symbolic links. +2005-07-03 Paul Eggert -2005-08-31 Paul Eggert + Remove the dependency of the strftime module on the tzset module. + * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require + gl_FUNC_TZSET_CLOBBER. - On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the - old glibc regex code mishandles strings longer than 2**31 bytes. - This patch fixes this when the regex code is used in gnulib - (i.e., outside glibc). +2005-07-03 Paul Eggert - This patch should not affect the use of the regex code inside - glibc. No doubt this problem also needs to be handled for glibc - as well, but the result will be an incompatible change to the - glibc ABI, and the old ABI will have to be supported too. That - can be the the subject for another patch. + Remove the dependency of the strftime module on the tzset module. + * lib/strftime.c (my_strftime) + [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]: + Copy the input structure, to work around some of the bug with + Solaris 2.5.1 and Solaris 2.6. If you still care about these old + Solaris releases, you should also use the tzset module, but we won't + require it as a dependency any more since we don't want LGPLed code + to depend on GPLed code. - * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro, - governing whether the rest of this patch is active. By default, - the macro is disabled and the patch has no effect. - (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int. - (__re_idx_t, __re_size_t, __re_long_size_t): New types. - (struct re_pattern_buffer, re_search, re_search_2, re_match): - (re_match_2, re_set_registers): Use the new types. - * lib/regex_internal.h (Idx, re_hashval_t): New types. - (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX): - New macros. - (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers): - (re_string_context_at, bin_tree_t, re_dfastate_t): - (struct re_state_table_entry, state_array_t, re_sub_match_last_t): - (re_sub_match_top_t, re_match_context_t, re_sift_context_t): - (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t): - (re_string_char_size_at, re_string_wchar_at): - (re_string_elem_size_at): - Use the new types and macros to port to 64-bit hosts. - Use unsigned types for internal values, so that the code - mostly works even for arrays larger than SSIZE_MAX. - * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node): - (search_duplicated_node, calc_eclosure_iter, fetch_number): - (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp): - (build_equiv_class, build_charclass, re_compile_fastmap_iter): - (free_dfa_content, create_initial_state, optimize_utf8, analyze): - (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure): - (calc_inveclosure, parse_dup_op, build_range_exp): - (build_collating_symbol, parse_bracket_exp, build_charclass_op): - (fetch_number, create_token_tree, mark_opt_subexp): - Likewise. - * lib/regex_internal.c (re_string_construct_common, - create_ci_newstate): - (create_cd_newstate, re_string_allocate, re_string_construct): - (re_string_realloc_buffers, build_wcs_upper_buffer): - (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer): - (re_string_reconstruct, re_string_peek_byte_case): - (re_string_fetch_byte_case, re_string_context_at): - (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2): - (re_node_set_init_copy, re_node_set_add_intersect): - (re_node_set_init_union, re_node_set_merge, re_node_set_insert): - (re_node_set_insert_last, re_node_set_compare, re_node_set_contains): - (re_node_set_remove_at, re_dfa_add_node, calc_state_hash): - (re_acquire_state, re_acquire_state_context, register_state): - Likewise. - * lib/regex.c (match_ctx_init, match_ctx_add_entry, - search_cur_bkref_entry): - (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init): - (re_search_internal, re_search_2_stub, re_search_stub) - (re_copy_regs, check_matching, check_halt_state_context, update_regs): - (push_fail_stack, sift_states_iter_mb, build_sifted_states): - (update_cur_sifted_state, check_dst_limits): - (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos): - (check_subexp_limits, sift_states_bkref, merge_state_array): - (check_subexp_matching_top, get_subexp, get_subexp_sub): - (find_subexp_node, check_arrival, check_arrival_add_next_nodes): - (check_arrival_expand_ecl, check_arrival_expand_ecl_sub): - (expand_bkref_cache, check_node_accept_bytes): - (group_nodes_into_DFAstates, check_node_accept, regexec, re_match): - (re_search, re_match_2, re_search_2, prune_impossible_nodes): - (acquire_init_state_context, check_halt_node_context): - (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return): - (sift_states_backward, clean_state_log_if_needed): - (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log): - (find_recover_state, transit_state_sb, transit_state_mb): - (transit_state_bkref, build_trtable, match_ctx_clean): - Likewise. - * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned, - to work around an assumption that REG_MISSING is negative. +2005-07-02 Jim Meyering - * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]: - (seek_collating_symbol_entry) [defined _LIBC]: - (lookup_collation_sequence_value) [defined _LIBC]: - (build_range_exp, build_collating_symbol) [defined _LIBC]: - Use prototypes rather than old-style function definitions. - * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]: - (transit_state_sb) [0]: - (find_collation_sequence_value) [defined _LIBC]: Likewise. + * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4: + * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4: + * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4: + Don't check for fcntl.h, and don't test for HAVE_FCNTL_H. - * lib/regexec.c (re_search_internal): Simplify update of rm_so and - rm_eo. +2005-07-02 Jim Meyering - * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char): - (optimize_subexps, lower_subexp): - Don't assume 1<<31 has defined behavior on hosts with 32-bit int, - since the signed shift might overflow. Use 1u<<31 instead. - * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain): - Likewise. - * lib/regexec.c (check_dst_limits_calc_pos_1, - check_subexp_matching_top): Likewise. + * lib/backupfile.c (backup_args): Change a `0' to NULL. - * lib/regcomp.c (optimize_subexps, lower_subexp): - Use CHAR_BIT rather than 8, for clarity. - * lib/regexec.c (check_dst_limits_calc_pos_1): - (check_subexp_matching_top): Likewise. - * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't - have to worry about portability issues when shifting it left. - Remove no-longer-needed test for table_size > 0. - * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are - in a word, as the resulting behavior is undefined. - * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise; - in one case, a <= should have been an <, and in another case the - whole test was missing. - * lib/regex_internal.h (BYTE_BITS): Remove. All uses changed to - the standard name CHAR_BIT. - * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1; - this is not true on one's complement and signed-magnitude hosts. +2005-07-01 Paul Eggert - * lib/regex_internal.h (re_sub_match_top_t): Remove unused member - next_last_offset. - (struct re_dfa_t): Remove unused member states_alloc. - * lib/regcomp.c (init_dfa): Don't initialize unused members. + * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 + declares only 'struct timespec;' (!). -2005-08-31 Paul Eggert +2005-07-01 Jim Meyering - * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define - _REGEX_LARGE_OFFSETS). Test for regoff_t/off_t bug in 64-bit - and large-file glibc and in 32-bit large-file Solaris. + * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c: + * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c: + * lib/save-cwd.c, tempname.c: + Assume HAVE_FCNTL_H (i.e., include unconditionally, + and don't include ). -2005-08-31 Paul Eggert +2005-06-29 Jim Meyering - * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer - lengths fit in regoff_t; this isn't true if regoff_t is the same - width as size_t. - * lib/regex.c (re_search_internal): 5th arg is LAST_START - (= START + RANGE) instead of RANGE. This avoids overflow - problems when regoff_t is the same width as size_t. - All callers changed. - (re_search_2_stub): Check for overflow when adding the - sizes of the two strings. - (re_search_stub): Check for overflow when adding START - to RANGE; if it occurs, substitute the extreme value. + * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded + type name. Use the variable name instead. + * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname): + Likewise. -2005-08-31 Paul Eggert +2005-06-28 Simon Josefsson - * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284. + * modules/check-version (Files): Add check-version.m4. -2005-08-31 Jim Meyering +2005-06-28 Simon Josefsson - * lib/regcomp.c (search_duplicated_node): Make first pointer arg - a pointer-to-const. - * lib/regex_internal.c (create_ci_newstate, create_cd_newstate): - (register_state): Likewise. - * lib/regexec.c (search_cur_bkref_entry, check_dst_limits): - (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos): - (group_nodes_into_DFAstates): Likewise. + * m4/check-version.m4: New file, suggested by Jim Meyering + . -2005-08-31 Jim Meyering +2005-06-28 Simon Josefsson - * check-module: Add a FIXME comment. + * lib/check-version.h, lib/check-version.c: New files. -2005-08-31 Eric Blake +2005-06-28 Simon Josefsson - * modules/unistd-safer (Files): Add unistd--.h. - * modules/stdio-safer (Files): Add stdio--.h. + * lib/base64.c (base64_encode): Indent. Rename 'b64' to avoid + collision with global variable. Better indentation. Don't + increment buffer pointer beyond buffer end. Based on comments + from Paul Eggert . -2005-08-31 Derek Price + * lib/base64.h: Indent. + +2005-06-28 Simon Josefsson + + * doc/gnulib.texi (Library version handling): New section. - * lib/getdelim.c (getdelim): Return EOF on EOF. - Reported by Larry Jones . +2005-06-28 Jim Meyering -2005-08-31 Bruno Haible + * check-module (find_included_lib_files): Hard-code another + pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h + but modules/fts-lgpl (correctly) does not list those files. - Avoid unnecessary diffs in the generated lib/Makefile.am. - * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into - the generated files. - (func_import): Don't set cmd. + * modules/canonicalize (Files): Add lib/pathmax.h. -2005-08-31 Bruno Haible +2005-06-25 Simon Josefsson - * lib/strstr.c: Include , for NULL. - * lib/strcasestr.c: Likewise. - Reported by Yoann Vandoorselaere . + * modules/check-version: New file. -2005-08-31 Bruno Haible +2005-06-24 Paul Eggert - * gnulib-tool: New option --macro-prefix. - (func_import): Use macro_prefix. - (import): Handle option --macro-prefix. + * lib/canon-host.c (canon-host): Append trailing "," to 0 in + initializer of struct addrinfo, as an indication that we don't + care how many members the structure has. -2005-08-31 Bruno Haible +2005-06-24 Derek Price + and Bruno Haible - * gnulib-tool (import): Rename most ac_* variables to cached_*. - Also use new variables cached_lgpl, cached_libtool. + Remove stat module & update lstat. + * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of + AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. + * m4/stat.m4: Remove this file. -2005-08-31 Bruno Haible +2005-06-24 Derek Price + and Bruno Haible - * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of - always instantiating them. + Remove stat module & update lstat. + * lib/stat.c: Remove this file... + (slash_aware_lstat): ...moving this content and its support... + * lib/lstat.c (rpl_lstat): ...into here. + * lib/lstat.h: New file. -2005-08-31 Bruno Haible +2005-06-24 Derek Price + and Bruno Haible - * gnulib-tool (func_import): Read the previous cached settings - from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were - earlier added by gnulib but are now dropped. Warn when a gnulib file - overwrites a non-gnulib file. + Remove stat module & update lstat. + * config/srclist.txt (libc sources): Remove stat. -2005-08-31 Bruno Haible +2005-06-24 Derek Price + and Bruno Haible - * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and - gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for - projects that don't keep autogenerated files in CVS. Put into - actioncmd only the specified modules, not the transitive closure. + Remove stat module & update lstat. + * MODULES.html.sh (stat): Remove. + * MODULES.html: Regenerated. + * modules/lstat (Description): Correct function name. + (Files): Add "lstat.h". + (Depends-on): Remove stat, add xalloc, stat-macros. + * modules/stat: Remove this file. + (Include): Add "lstat.h", remove . -2005-08-31 Bruno Haible +2005-06-23 Paul Eggert - * gnulib-tool (func_import): Fix defaulting of $libname and $libtool. - Create directories that shall be filled. - (import): Don't look for gl_* macros in configure.ac. Recurse across - all directories containing a gnulib-cache.m4 files, if meaningful. + * lib/mktime.c: Include even if !DEBUG. (From glibc.) + (ranged_convert): Don't save conversion in a temporary struct. + This causes a warning with GCC 4.0.0, and anyway in the typical + case it's not worth the extra 100 bytes or so of code. + (ranged_convert, __mktime_internal): When calling a function via a + pointer P, use P () rather than (*P) (), as we now assume C89 or + better. -2005-08-31 Bruno Haible +2005-06-22 Paul Eggert - * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL. - (import): Set seen_libtool when we see gl_LIBTOOL. + * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and + "who -r" failed to give output. Problem reported by Tim Waugh. -2005-08-31 Bruno Haible + * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant. + (xcalloc): Use it to avoid needless tests. + Problem reported by Jim Meyering. - * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit - declaration macro definitions from generated gnulib.m4. +2005-06-20 Derek Price -2005-08-30 Oskar Liljeblad + * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be + unnecessary for Autoconfs > 2.59c. - * lib/iconvme.h: Add prototype for iconv_alloc. +2005-06-16 Sergey Poznyakoff -2005-08-29 Simon Josefsson + * lib/argp.h (__option_is_short): Check upper limit of + __key. Isprint() requires its argument to have the value + of an unsigned char or EOF. - * lib/iconvme.c: Fix errno. +2005-06-16 Jim Meyering -2005-08-29 Bruno Haible + * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1) + when either N or S is zero. - * gnulib-tool: Enclose all occurrences of $destdir in "...", so - that it works when the directory contains spaces. +2005-06-16 Derek Price -2005-08-29 Bruno Haible + * m4/bison.m4: Declare YACC & YFLAGS precious. - * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist. +2005-06-10 Paul Eggert -2005-08-29 Bruno Haible + * lib/fnmatch.c (fnmatch): If there is an encoding error in a + multibyte string or pattern, fall back on unibyte matching. + Problem reported by James Youngman. - * gnulib-tool (func_import): Emit more comments into gnulib.m4. - Emit more advice. +2005-06-08 Bruno Haible -2005-08-29 Bruno Haible - and Stepan Kasal + * modules/csharpcomp: New file. + * MODULES.html.sh (C#): Add csharpcomp. - * check-module: If more parameters are given, check each of them - separately; add more exceptions, as noted by Jim Meyering. - (check_module): New procedure. - (%exempt_header): Now contains all exceptions. +2005-06-08 Bruno Haible -2005-08-29 Ben Pfaff + * m4/csharpcomp.m4: New file, from GNU gettext. - * modules/byteswap (Makefile.am): Fix rule to not assume GNU make. +2005-06-08 Bruno Haible -2005-08-29 Oskar Liljeblad + * lib/csharpcomp.h: New file, from GNU gettext. + * lib/csharpcomp.c: New file, from GNU gettext. + * lib/csharpcomp.sh.in: New file, from GNU gettext. - * lib/iconvme.c: Split iconv_string into iconv_alloc. +2005-06-08 Bruno Haible -2005-08-28 Bruno Haible + * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc + warning on mingw. - * m4/gnulib-tool.m4: New file. +2005-06-07 Derek Price -2005-08-27 Jim Meyering + Sync from CVS. + * lib/glob_.h: Indent nested #ifdef. - * modules/unistd-safer (Files): Add pipe-safer.c. - * modules/fcntl-safer (Files): Add creat-safer.c. +2005-06-02 Paul Eggert -2005-08-27 Jim Meyering + Sync from coreutils. + Use "file name" when talking about file names, instead of "filename" + or "path", as per the GNU coding standards. + * lib/mkdir-p.c: Renamed from makepath.c. + (make_dir_parents): Renamed from make_path. All callers changed. + * lib/mkdir-p.h: Likewise. All includers changed. + * lib/filenamecat.c: Renamed from path-concat.c. + (file_name_concat): Renamed from path_concat. All callers changed. + [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT. + * lib/filenamecat.h: Likewise. All includers changed. + * lib/acl.c: Don't use "path" or "filename" to mean "file name" + in comments or local variable names. + * lib/basename.c: Likewise. + * lib/canonicalize.c, canonicalize.h: Likewise. + * lib/dirname.c, dirname.h: Likewise. + * lib/euidaccess.c: Likewise. + * lib/exclude.c: Likewise + * lib/fnmatch_.h, fnmatch_loop.c: Likewise. + * lib/fsusage.c, fsuage.h: Likewise. + * lib/fts.c, fts_.h: Likewise. + * lib/getcwd.c: Likewise. + * lib/getloadavg.c: Likewise. + * lib/mkstemp.c: Likewise. + * lib/mountlist.c, mountlist.h: Likewise. + * lib/openat.c, openat.h: Likewise. + * lib/readlink-stub.c: Likewise. + * lib/readutmp.c, readutmp.h: Likewise. + * lib/rename.c: Likewise. + * lib/rmdir.c: Likewise. + * lib/same.c: Likewise. + * lib/savedir.c: Likewise. + * lib/stripslash.c: Likewise. + * lib/tempname.c: Likewise. + * lib/xreadlink.c: Likewise. + * lib/exclude.c (excluded_file_name): Renamed from excluded_filename. + All uses changed. + * lib/exclude.h: Likewise. - * m4/stdlib-safer.m4: New file. From coreutils. - * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h. - * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the - AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ. - * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c. - Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list. + * lib/euidaccess.c (getuid, getgid, getuid, getegid) + [!defined _POSIX_VERSION]: Remove decls; not needed these days. + * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam) + [!defined _POSIX_VERSION]: Remove decls; not needed these days. + * lib/pathmax.h: Include unconditionally, since other + files have been getting away with it for years (MORE/BSD 4.3 + is extinct now). + * lib/userspec.c (getpwnam, getgrnam, getgrgid) + [!defined _POSIX_VERSION]: Remove decls; not needed these days. -2005-08-27 Jim Meyering + * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]: + Define to 256, not 255, as per modern POSIX. - * lib/fopen-safer.c: Merge minor changes from coreutils. - * lib/dup-safer.c: Likewise. - * lib/fd-safer.c: Likewise. +2005-06-02 Paul Eggert - Merge from coreutils. - * lib/stdio--.h: New file. - * lib/stdlib--.h: New file. - * lib/mkstemp-safer.c: New file. + Sync from coreutils. + Use "file name" when talking about file names, instead of "filename" + or "path", as per the GNU coding standards. + * MODULES.html.sh: mkdir-p renamed from makepath. + filenamecat renamed from path-concat. + * modules/filenamecat: Renamed from modules/path-concat. + (Files): filenamecat.h and filenamecat.c renamed from + path-concat.h and path-concat.c. + (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT. + (Include): filenamecat.h, not path-concat.h. + * modules/mkdir-p: Renamed from modules/makepath. + (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and + makepath.c. + (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH. + (Include): mkdir-p.h, not makepath.h. - GNU tar needs these. - * lib/pipe-safer.c: New file. - * lib/creat-safer.c: New file. - * lib/fcntl--.h (creat): Define to creat_safer. - * lib/fcntl-safer.h: Include and declare creat_safer. - * lib/unistd--.h (pipe): Define to pipe_safer. - * lib/unistd-safer.h: Declare pipe_safer. +2005-06-02 Paul Eggert -2005-08-26 Simon Josefsson + Sync from coreutils. + * m4/mkdir-p.m4: Renamed from makepath.m4. + (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH. All uses changed. + Rename files from makepath.c to mkdir-p.c, and from + makepath.h to mkdir-p.h. + * m4/filenamecat.m4: Renamed from path-concat.m4. + (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT. All uses changed. + Rename files from path-concat.c to filenamecat.c, + and from path-concat.h to filenamecat.h. + * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean + "file name" in local variables or comments. + * m4/rename.m4: Likewise. - * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno - Haible . +2005-06-01 Bruno Haible -2005-08-26 Paul Eggert + * modules/csharpexec: New file. + * MODULES.html.sh (C#): New section. - * lib/regex_internal.h: Remove all references to - RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89 - or better. - (bitset_not, bitset_merge, bitset_not_merge): - (bitset_mask, re_string_allocate, re_string_construct): - (re_string_reconstruct, re_string_destruct, re_string_elem_size_at): - (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case): - (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1): - (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect): - (re_node_set_init_union, re_node_set_merge, re_node_set_insert): - (re_node_set_insert_last, re_node_set_compare, re_node_set_contains): - (re_node_set_remove_at, re_dfa_add_node, re_acquire_state): - (re_acquire_state_context): - Remove unnecessary forward decls. - (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at): - Put __attribute at function definition, - now that the function decl has been removed. - * lib/regex_internal.c (re_string_peek_byte_case): - (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains): - Likewise. +2005-06-01 Bruno Haible -2005-08-25 Stepan Kasal + * m4/csharp.m4: New file, from GNU gettext. + * m4/csharpexec.m4: New file, from GNU gettext. - * m4/regex.m4: Add AC_PREREQ(2.50). - (gl_REGEX): If --with-included-regex was given, skip the autodetection. +2005-06-01 Bruno Haible -2005-08-25 Simon Josefsson + * lib/csharpexec.h: New file, from GNU gettext. + * lib/csharpexec.c: New file, from GNU gettext. + * lib/csharpexec.sh.in: New file, from GNU gettext. - * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and - __fsetlocking. +2005-05-31 Derek Price + Paul Eggert -2005-08-25 Simon Josefsson + Sync from cvs. + * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment. - * lib/getpass.c: Add WIN32 implementation. Conditionalize use of - termios.h, tcgetattr, tcsetattr and __fsetlocking. Remove some - GLIBC specific code. +2005-05-31 Derek Price + Paul Eggert -2005-08-25 Paul Eggert + Sync from cvs. + * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment. - Make regex safe for g++. This fixes one real bug (an "err" - that should have been "*err"). g++ problem reported by - Sam Steingold. - * lib/regex_internal.h (re_calloc): New macro, consistent with - re_malloc etc. All callers of calloc changed to use re_calloc. - * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t, - not int. All callers changed. - * lib/regcomp.c (re_compile_fastmap_iter): Don't use - alloca (mb_cur_max); just use an array of size MB_LEN_MAX. - * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc. - (find_recover_state): Change "err" to "*err"; this fixes what - appears to be a real bug. - (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t - versus int. +2005-05-29 Derek Price -2005-08-25 Paul Eggert + * config/srclist.txt (glob_.h, glob.c): Add these files. - * modules/regex (Depends-on): Add malloc, since the code - assumes that !malloc(0) means failure. +2005-05-29 Derek Price -2005-08-25 Paul Eggert + * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section. + * modules/glob: New file. + * modules/getlogin_r: Add link to POSIX spec in description. - * lib/regexec.c (set_regs): Don't alloca with an unbounded size. +2005-05-29 Derek Price + Paul Eggert - alloca modernization/simplification for regex. - * lib/regex.c: Remove portability cruft for alloca. This no longer - needs to be at the start of the file, and can be moved into - regex_internal.h and simplified. - * lib/regex_internal.h: Include . - (__libc_use_alloca) [!defined _LIBC]: New macro. - * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code - now works outside glibc. + * m4/glob.m4: New file. -2005-08-25 Paul Eggert +2005-05-29 Derek Price + Paul Eggert - * config/srclist.txt: Add glibc bugs 1241, 1245. + * lib/glob_.h, lib/glob.c: New files. -2005-08-25 Jim Meyering +2005-05-27 Paul Eggert - * lib/open-safer.c: Include . - Otherwise, we'd lose LARGEFILE support in any file using - e.g. "fcntl--.h" + * modules/fts (Files): Remove m4/inttypes-pri.m4. + * modules/fts-lgpl (Depends-on): Remove gettext. -2005-08-25 Bruno Haible +2005-05-27 Paul Eggert - * m4/minmax.m4: Require autoconf 2.52. - (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead - of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust - alternatives of translit over the alphabet. - Based on a patch from Stepan Kasal . + * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h, + and don't require gt_INTTYPES_PRI. -2005-08-24 Simon Josefsson +2005-05-27 Paul Eggert - * tests/test-getpass.c: New file. + * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return. -2005-08-24 Paul Eggert + * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts; + the configuration hassle isn't worth it. + Include inttypes.h and stdint.h unconditionally if FTS_DEBUG. + (LONGEST_MODIFIER, PRIuMAX): Remove. - * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing - for GNU regex features. +2005-05-27 Bruno Haible -2005-08-24 Paul Eggert + * lib/getlogin_r.h: Remove second include of . - * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX. - * lib/regex.h (regerror): Likewise. +2005-05-26 Paul Eggert - * lib/regex.c: Do not include , as POSIX no longer - requires this. (The code never needed it.) + * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define + _POSIX_PTHREAD_SEMANTICS for Solaris. - * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c: - All uses of recently-renamed identifiers changed to use the new, - POSIX-compliant names. The code will build and run just fine - without these changes, but it's better to eat our own dog food - and use the standard-conforming names. +2005-05-25 Derek Price - * lib/regex.h: Fix a multitude of POSIX name space violations. - These changes have an effect only for programs that define - _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they - do not change anything for programs compiled in the normal way. - Also, there is no effect on the ABI. + * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section. - (_REGEX_SOURCE): New macro. - Do not include if _XOPEN_SOURCE and VMS are both - defined and _GNU_SOURCE is not; this fixes a name space violation. +2005-05-25 Derek Price + Paul Eggert - Rename the following macros to obey POSIX requirements. - The old names are still visible as macros if _REGEX_SOURCE is defined. - (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from - RE_BACKSLASH_ESCAPE_IN_LISTS. - (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM. - (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES. - (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS. - (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS. - (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS. - (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE. - (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL. - (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE. - (REG_INTERVALS): renamed from RE_INTERVALS. - (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS. - (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT. - (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES. - (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS. - (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS. - (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR. - (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES. - (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from - RE_UNMATCHED_RIGHT_PAREN_ORD. - (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING. - (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS. - (REG_DEBUG): renamed from RE_DEBUG. - (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD. - (REG_IGNORE_CASE): renamed from RE_ICASE. This renaming is a bit - unusual, since we can't clash with the POSIX REG_ICASE. - (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE. - (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP. - (REG_NO_SUB): renamed from RE_NO_SUB. - (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS. - (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK. - (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK. - (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK. - (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP. - (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP. - (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP. - (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED. - (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED. - (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON. - (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC. - (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from - RE_SYNTAX_POSIX_MINIMAL_BASIC. - (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED. - (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from - RE_SYNTAX_POSIX_MINIMAL_EXTENDED. - (REG_DUP_MAX): renamed from RE_DUP_MAX. No need to undef it. - (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED. - (REG_REALLOCATE): Renamed from REGS_REALLOCATE. - (REG_FIXED): Renamed from REGS_FIXED. - (REG_NREGS): Renamed from RE_NREGS. + * modules/getlogin_r, m4/getlogin_r.m4: New files. + * lib/getlogin_r.c, getlogin_r.h: New files. - (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values - of other REG_* macros, since POSIX says the user is allowed to - #undef these macros selectively. +2005-05-25 Bruno Haible + Derek Price - (reg_errcode_t): Update comment stating what other tables need - to be consistent. + * lib/getlogin_r.h: Simplify API documentation. - Rename the following enum values to obey POSIX requirements. - The old names are still visible as macros. - (_REG_ENOSYS): Renamed from REG_ENOSYS. Define even if _XOPEN_SOURCE - is not defined, since GNU is supposed to be a superset of POSIX as - much as possible, and since we want reg_errcode_t to be a signed - type for implementation consistency. - (_REG_NOERROR): Renamed from REG_NOERROR. - (_REG_NOMATCH): Renamed from REG_NOMATCH. - (_REG_BADPAT): Renamed from REG_BADPAT. - (_REG_ECOLLATE): Renamed from REG_ECOLLATE. - (_REG_ECTYPE): Renamed from REG_ECTYPE. - (_REG_EESCAPE): Renamed from REG_EESCAPE. - (_REG_ESUBREG): Renamed from REG_ESUBREG. - (_REG_EBRACK): Renamed from REG_EBRACK. - (_REG_EPAREN): Renamed from REG_EPAREN. - (_REG_EBRACE): Renamed from REG_EBRACE. - (_REG_BADBR): Renamed from REG_BADBR. - (_REG_ERANGE): Renamed from REG_ERANGE. - (_REG_ESPACE): Renamed from REG_ESPACE. - (_REG_BADRPT): Renamed from REG_BADRPT. - (_REG_EEND): Renamed from REG_EEND. - (_REG_ESIZE): Renamed from REG_ESIZE. - (_REG_ERPAREN): Renamed from REG_ERPAREN. - (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE): - (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN): - (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND): - (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants. +2005-05-23 Derek Price - (_REG_RE_NAME, _REG_RM_NAME): New macros. - (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE. All uses - changed. But support the old name if the new one is not defined - and if _REGEX_SOURCE. + * modules/minmax (Files): Add m4/minmax.m4. + (configure.ac): Add gl_MINMAX. - Change the following member names in struct re_pattern_buffer. - The old names are still supported if !_REGEX_SOURCE. - The new names are always supported, regardless of _REGEX_SOURCE. - (re_buffer): Renamed from buffer. - (re_allocated): Renamed from allocated. - (re_used): Renamed from used. - (re_syntax): Renamed from syntax. - (re_fastmap): Renamed from fastmap. - (re_translate): Renamed from translate. - (re_can_be_null): Renamed from can_be_null. - (re_regs_allocated): Renamed from regs_allocated. - (re_fastmap_accurate): Renamed from fastmap_accurate. - (re_no_sub): Renamed from no_sub. - (re_not_bol): Renamed from not_bol. - (re_not_eol): Renamed from not_eol. - (re_newline_anchor): Renamed from newline_anchor. +2005-05-22 Paul Eggert - Change the following member names in struct re_registers. - The old names are still supported if !_REGEX_SOURCE. - The new names are always supported, regardless of _REGEX_SOURCE. - (rm_num_regs): Renamed from num_regs. - (rm_start): Renamed from start. - (rm_end): Renamed from end. + * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function, + so that unistd-safer.h (GPL'ed code) need not be included. - (re_set_syntax, re_compile_pattern, re_compile_fastmap): - (re_search, re_search_2, re_match, re_match_2, re_set_registers): - Prepend __ to parameter names. +2005-05-22 Bruno Haible - Undo yesterday's changes. + * m4/minmax.m4: New file. + Based on a patch by Derek Price . -2005-08-24 Paul Eggert +2005-05-22 Bruno Haible - * config/srclist.txt: Remove glibc bug 1233 and add 1236, which - supersedes it. Add glibc bugs 1237, 1238, 1240. Comment out - lib/regex.c. + * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs. + (INT64_MIN): Fix definition. + Suggested by Paul Eggert . -2005-08-24 Jim Meyering + * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from + NEED_SIGNED_INT_TYPES. - Sync from coreutils. - * m4/fcntl-safer.m4: New file. + * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from + HAVE_SYSTEM_INTTYPES. - * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source - and object files for this module. +2005-05-22 Bruno Haible -2005-08-24 Jim Meyering + * lib/minmax.h: Include only when it defines MIN, MAX. + Also include if it defines MIN, MAX. + Based on a patch by Derek Price . - Sync from coreutils. - * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files. +2005-05-21 Jim Meyering -2005-08-24 Jim Meyering + * modules/fts (Files): Add m4/inttypes-pri.m4. + (Depends-on): Add lstat and remove gettext. Alphabetize. - * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line, - now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h. +2005-05-20 Paul Eggert -2005-08-24 Jim Meyering + New fts module. + * lib/fts.c: Don't include "cycle-check.h" or "hash.h". + (setup_dir, free_dir): New functions. + (enter_dir, leave_dir): Define trivial + alternatives of _LGPL_PACKAGE. Move to fts-cycle.c if !_LGPL_PACKAGE. + (HT_INITIAL_SIZE, ENTER_DIR): Remove. All uses removed. + (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir. + (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir): + Move to fts-cycle.c. + (fts_open): Use setup_dir. + (fts_close): Use free_dir. + (fts_read): Have just one copy of the ENTER_DIR code rather than three. + This adds a label and some gotos, but the alternatives were messier. + Check for memory allocation failure when entering a dir. + (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code. + * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro. + (FTS): New member fts_cycle, that is a union that contains the + old active_dir_ht and cycle_state. All uses changed to mention + fts_cycle.ht and fts_cycle.state. + * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of + fts.c, with the following changes: + (setup_dir, free_dir): New functions. + (enter_dir): Now returns bool. Return true if successful, false + if memory exhausted. All callers changed. + Do not bother partly cleaning up on + memory allocation failure; that is free_dir's job. + However, free ad if hash_insert fails, to avoid memory leak. + (enter_dir, leave_dir): Accommodate change to FTS by inspecting + fts->fts_options to see which union member to use. - * modules/fcntl-safer: New module. - * modules/fts (Depends-on): Add fcntl-safer. - * MODULES.html.sh (File descriptor based Input/Output): - Add fcntl-safer. +2005-05-20 Paul Eggert -2005-08-24 Bruno Haible + * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS. + (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros. - Support for unit test modules. - * modules/README: Mention tests modules. - * modules/TEMPLATE-TESTS: New file. - * gnulib-tool: New options --extract-tests-module, --with-tests and - --tests-base (unused for the moment). - (testsbase, inctests): New variables. - (func_all_modules): Exclude TEMPLATE-TESTS and *-tests. - (func_verify_module): Exclude TEMPLATE-TESTS. - (func_verify_nontests_module, func_verify_tests_module): New functions. - (func_get_dependencies): Add implicit dependency for tests modules. - (func_get_tests_module): New function. - (func_modules_transitive_closure): When --with-tests was specified, - include the unit tests as well, unless explicitly avoided. - (func_emit_lib_Makefile_am): Ignore the tests modules here. - (func_emit_tests_Makefile_am): New function. - (func_create_testdir): When --with-tests was specified, emit a - tests/ directory. - * MODULES.html.sh (Future developments): Update. +2005-05-20 Paul Eggert -2005-08-24 Bruno Haible + * MODULES.html.sh (File system functions): Add fts, fts-lgpl. - * modules/tls-tests: New file. - * tests/test-tls.c: New file, from GNU gettext. +2005-05-20 Jim Meyering -2005-08-24 Bruno Haible + * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]: + Now a macro, to pacify GCC. - * modules/lock-tests: New file. - * tests/test-lock.c: New file, from GNU gettext. +2005-05-20 Eric Blake (tiny change) -2005-08-24 Bruno Haible + * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs + of -1. - * lib/lock.h: Add multiple inclusion guard. - * lib/tls.h: Add multiple inclusion guard. +2005-05-20 Eric Blake (tiny change) -2005-08-24 Bruno Haible + * lib/chown.c (rpl_chown): Return -1 on failure. - * gnulib-tool: Add support for the --aux-dir option to - --create-testdir, --create-megatestdir, --test, --megatest. - (func_create_testdir, func_create_megatestdir): Optionally emit a - AC_CONFIG_AUX_DIR directive. - (create-testdir, create-megatestdir, test, megatest): Provide a - default value for $auxdir. +2005-05-18 Paul Eggert -2005-08-24 Bruno Haible + * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]): + Don't check for stddef.h. + * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we + don't use its results. + Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h, + since we include them unconditionally. Don't require + AM_STDBOOL_H, since stdbool is a prerequisite. + Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t + since we assume C89 or better. + Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT, + as we don't use their results. + Don't check for fchdir, memmove, memset, strrchr, as we use + them unconditionally. + * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define + GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it. - * gnulib-tool (import): Use compound statement instead of subshell - where possible. +2005-05-18 Paul Eggert -2005-08-24 Bruno Haible + * lib/canonicalize.c: Include canonicalize.h first, to test interface. + Include unconditionally, since we assume C89 now. + All uses of PTR_INT_TYPE replaced by ptrdiff_t. + * lib/fts.c: Include fts_.h first, to check interface. + Do not include intprops.h; no longer needed. + Include cycle-check.h and hash.h, since fts_.h no longer does. + Remove unnecessary casts of closedir to void. + (fts_build): Use a simpler method (not involving TYPE_SIGNED) to + decide whether to decrement nlinks. + * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed. + (FTS): Use struct hash_table * instead of Hash_table, so that + we no longer need to include hash.h here. - * gnulib-tool (import): Change --aux-dir default to "build-aux". +2005-05-18 Jim Meyering -2005-08-24 Bruno Haible + * modules/dirfd (License): Change to LGPL. Most of the code + is already in the public domain. - * gnulib-tool (func_version): Update. +2005-05-18 Jim Meyering -2005-08-24 Bruno Haible + * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list. + Reported by Yoann Vandoorselaere. - * gnulib-tool (func_import, func_create_testdir, - func_create_megatestdir): Quote all autoconf macro arguments. +2005-05-17 Jim Meyering -2005-08-24 Bruno Haible + * m4/fts.m4: New file, from coreutils. - * gnulib-tool (func_create_megatestdir): Call autoreconf without the - option --force, because --force causes the aclocal.m4 of each - subdirectory to be newer than the corresponding config.h.in. +2005-05-17 Jim Meyering -2005-08-23 Paul Eggert + * lib/fts.c, lib/fts_.h: New files, from coreutils. - * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used. - All contents moved to gl_REGEX. - (gl_REGEX): Don't bother checking whether lib/regex.c exists; - assume that it does. +2005-05-14 Paul Eggert -2005-08-23 Paul Eggert + Sync from coreutils. + * m4/unlinkdir.m4: New file. - * lib/regex.h (REG_NOSYS) - [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]: - Define, since POSIX requires it as of 2001. - (_REG_ENOSYS) - [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]: - New private symbol, used to keep the enum signed in all cases. - * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James - Youngman in - . +2005-05-14 Paul Eggert - * lib/regex_internal.c (re_string_skip_chars, register_state): - (calc_state_hash): - Remove forward decls; no longer needed now that we use prototypes. - * lib/regexec.c (acquire_init_state_context, check_halt_node_context): - (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes): - (clean_state_log_if_needed): Likewise. + Sync from coreutils. + * lib/unlinkdir.c, lib/unlinkdir.h: New files. + * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h, + lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h: + White space changes only. + * lib/makepath.c (make_path): Port to hosts where leading "//" is + special. + * lib/yesno.c: Include getline.h, not ctype.h. + (yesno): Don't remove leading white space; POSIX doesn't allow it. + Use getline to remove arbitrary restriction on response length. -2005-08-23 Paul Eggert +2005-05-14 Paul Eggert - * config/srclist.txt: Add glibc bugs 1231-1233. + * config/srclist-update: Spell out "Street" in FSF postal + mail address; this is the style the FSF seems to prefer. -2005-08-20 Paul Eggert + * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh, + build-aux/missing, build-aux/mkinstalldirs: Sync from Automake; + this updates FSF postal mail address. - Fix problems reported by Sam Steingold in - . - * lib/regexec.c (sift_states_bkref): Fix portability bug: the code - assumed that reg_errcode_t is a signed type, which is not - necessarily true if _XOPEN_SOURCE is not defined. - * lib/regex_internal.c (calc_state_hash): Put 'inline' before type, - since some compilers warn about it otherwise. + Sync from coreutils. + * modules/unlinkdir: New file. + * modules/yesno (Depends-on): Add getline. + * MODULES.html.sh (File system functions): Add unlinkdir. -2005-08-20 Paul Eggert +2005-05-13 Paul Eggert - * lib/regcomp.c (create_initial_state): Remove duplicate decl. - (init_word_char, create_initial_state, duplicate_node_closure): - (fetch_token, peek_token_bracket, build_range_exp): - (build_collating_symbol): Remove forward decls; no longer needed - now that we use prototypes. + * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c, + lib/strsep.h: + Change the initial comment to refer to GPL, not LGPL. + gnulib-tool will change it to LGPL as needed. + + * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c, + lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c, + lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h, + lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h, + lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c, + lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c, + lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c, + lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h, + lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h, + lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c, + lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h, + lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c, + lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset, + lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h, + lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c, + lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h, + lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c, + lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h, + lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c, + lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h, + lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c, + lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h, + lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c, + lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h, + lib/full-write.c, lib/full-write.h, lib/fwriteerror.c, + lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h, + lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h, + lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h, + lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h, + lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c, + lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c, + lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h, + lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h, + lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c, + lib/getusershell.c, lib/group-member.c, lib/group-member.h, + lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h, + lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c, + lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h, + lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c, + lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h, + lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c, + lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h, + lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c, + lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h, + lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c, + lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c, + lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c, + lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c, + lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c, + lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c, + lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c, + lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h, + lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c, + lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c, + lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h, + lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c, + lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h, + lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c, + lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c, + lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c, + lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c, + lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h, + lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c, + lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c, + lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c, + lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c, + lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c, + lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h, + lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h, + lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h, + lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c, + lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c, + lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h, + lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c, + lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c, + lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c, + lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c, + lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h, + lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h, + lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h, + lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h, + lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h, + lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h, + lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c, + lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c, + lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h, + lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h, + lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c, + lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h, + lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, + lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h, + lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c, + lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, + lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h, + lib/yesno.c, lib/yesno.h: + Update FSF postal mail address. - * lib/regcomp.c: - (re_compile_pattern, re_set_syntax, re_compile_fastmap): - (re_compile_fastmap_iter, regcomp, regerror, regfree): - (re_compile_internal, init_dfa, init_word_char, free_workarea_compile): - (create_initial_state, optimize_utf8, analyze, postorder, preorder): - (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next): - (link_nfa_nodes, duplicate_node_closure, search_duplicated_node): - (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter): - (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp): - (parse_branch, parse_expression, parse_sub_exp, parse_dup_op): - (build_range_exp, build_collating_symbol, parse_bracket_exp): - (parse_bracket_element, parse_bracket_symbol, build_equiv_class): - (build_charclass, build_charclass_op, fetch_number, create_tree): - (create_token_tree, mark_opt_subexp, duplicate_tree): - Use prototypes rather than old-style definitions. +2005-05-13 Paul Eggert - * lib/regex_internal.c: - (re_string_allocate, re_string_construct, re_string_realloc_buffers): - (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer): - (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer): - (re_string_reconstruct, re_string_peek_byte_case): - (re_string_fetch_byte_case, re_string_destruct, re_string_context_at): - (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2): - (re_node_set_init_copy, re_node_set_add_intersect): - (re_node_set_init_union, re_node_set_merge, re_node_set_insert): - (re_node_set_insert_last, re_node_set_compare, re_node_set_contains): - (re_node_set_remove_at, re_dfa_add_node, calc_state_hash): - (re_acquire_state, re_acquire_state_context, register_state): - (create_ci_newstate, create_cd_newstate, free_state): - Likewise. - * lib/regexec.c (regexec, re_match, re_search, re_match_2, - re_search_2): - (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers): - (re_search_internal, prune_impossible_nodes): - (acquire_init_state_context, check_matching, static): - (check_halt_node_context, check_halt_state_context, proceed_next_node): - (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return): - (update_regs, sift_states_backward, build_sifted_states): - (clean_state_log_if_needed, merge_state_array): - (update_cur_sifted_state, add_epsilon_src_nodes): - (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1): - (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref): - (sift_states_iter_mb, transit_state, merge_state_with_log, static): - (find_recover_state, check_subexp_matching_top, transit_state_mb): - (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node): - (check_arrival, check_arrival_add_next_nodes): - (check_arrival_expand_ecl, check_arrival_expand_ecl_sub): - (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates): - (check_node_accept_bytes, check_node_accept, extend_buffers): - (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry): - (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast): - (sift_ctx_init): - Likewise. + * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c, + tests/test-memmem.c, tests/test-stpncpy.c: + Update FSF postal mail address. - * lib/regex_internal.h: - (re_string_allocate, re_string_construct, re_string_reconstruct): - (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer): - (build_upper_buffer, re_string_translate_buffer, re_string_destruct): - (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at): - (re_string_context_at, re_string_peek_byte_case): - (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES - is defined, since we now use prototypes always. +2005-05-13 Bruno Haible - * lib/regex.h (_RE_ARGS): Remove. No longer needed, since we assume - C89 or better. All uses removed. + * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t, + int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX, + UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, + INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN, + INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C): + Add support for 64-bit integers in the MSVC compiler. -2005-08-20 Paul Eggert +2005-05-12 Sergey Poznyakoff - * config/srclist.txt: Add glibc bugs 1220-1227. + * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST -2005-08-20 Jim Meyering +2005-05-12 Eric Blake (tiny change) - * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration - of unused local, dfa. + * gnulib-tool (func_import): Sort and uniquify recommended includes. -2005-08-20 Bruno Haible +2005-05-11 Paul Eggert - * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE. + * doc/getdate.texi (General date syntax): Don't say that date + date --iso-8601=ns generates acceptable dates; it doesn't yet. + Problem reported by Nic Ferrier. -2005-08-19 Paul Eggert +2005-05-10 Yoann Vandoorselaere - * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert): - (re_node_set_insert_last, re_dfa_add_node): - Rename local variables to avoid GCC shadowing warnings. + * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are + specified in ai_socktype. Fix invalid ai_protocol + check. ai_protocol is usually set to 0 or depending on + ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP. Checking for + SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid. Set + ai_socktype / ai_protocol in the returned addrinfo structure. -2005-08-19 Paul Eggert +2005-05-10 Simon Josefsson - * lib/regex_internal.c (re_acquire_state, re_acquire_state_context) - [defined lint]: Suppress bogus uninitialized-variable warnings. + * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from + Yoann Vandoorselaere . - * lib/regcomp.c (duplicate_node): Return new index, not an error code, - and let the caller return REG_ESPACE if out of space. This - removes an uninitialied-variable warning with GCC 4.0.1, and also - avoids taking the address of a local variable. All callers - changed. +2005-05-10 Karl Berry -2005-08-19 Paul Eggert + * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address + (from http://www.gnu.org/licenses). + * doc/COPYING.LIB: also rename to COPYING.LESSER. + * doc/COPYING.DOC: remove; per rms, only needed in doc files, so + fdl.texi suffices. - * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c, - $LIBCSRC/posix/regexec.c. - Add glibc bug 1217 for regcomp.c. +2005-05-10 Karl Berry -2005-08-19 Jim Meyering + * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB. + (COPYING.DOC): remove. - * lib/regexec.c (proceed_next_node): Redo local variables to - avoid GCC shadowing warnings. + * config/srclist-update: new FSF address. -2005-08-18 Bruno Haible +2005-05-10 Derek Price - * lib/strstr.c (strstr): Fix return value in multibyte case. - * lib/strcasestr.c (strcasestr): Likewise. + * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when + possible. -2005-08-17 Paul Eggert +2005-05-09 Yoann Vandoorselaere + Bruno Haible - * lib/regex.h: Remove useless space-before-tab. From coreutils. + * modules/inet_ntop: New file. + * MODULES.html.sh (Support for systems lacking POSIX:2001): Add + inet_ntop. -2005-08-17 Jim Meyering +2005-05-09 Yoann Vandoorselaere + Bruno Haible - Make the %s format (seconds since the epoch) work for a negative - number and when used with a zero-padded field width, e.g. %015s. + * m4/inet_ntop.m4: New file. - * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding' - label so that it precedes the code to set `digits'. Otherwise, - %0Ns wouldn't work. Before this change, `date -d @-22 +%05s' would - print `00-22'. Now, it prints `-0022', as it should. +2005-05-09 Yoann Vandoorselaere + Bruno Haible -2005-08-17 Bruno Haible + * lib/inet_ntop.h: New file. + * lib/inet_ntop.c: New file, from glibc with modifications. - * modules/strstr (Files): Add m4/mbrtowc.m4. - (Depends-on): Add mbuiter. +2005-05-09 Paul Eggert -2005-08-17 Bruno Haible + * modules/time_r (License): Change to LGPL. + * modules/extensions (License): Change to LGPL. Actually, + the license is more permissive than that, but currently gnulib-tool + doesn't know how to handle more-permissive licenses. - * modules/strcasestr: New file. - * MODULES.html.sh (String handling, based on ANSI C 89): Add - strcasestr. + * modules/stat-macros (Depends-on): Don't depend on stat-macros (!). + Problem reported by Dave Love. -2005-08-17 Bruno Haible +2005-05-08 Jim Meyering - * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar. + * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing + blank. -2005-08-17 Bruno Haible +2005-05-06 Paul Eggert - * modules/mbuiter: New file. - * MODULES.html.sh (Extended multibyte and wide character utilities): - Add mbuiter. + * modules/argmatch (Depends-on): Add stdbool. + * modules/backupfile (Depends-on): Likewise. + * modules/chdir-long (Depends-on): Likewise. + * modules/closeout (Depends-on): Likewise. + * modules/cycle-check (Depends-on): Likewise. + * modules/dirname (Depends-on): Likewise. + * modules/fnmatch (Depends-on): Likewise. + * modules/fsusage (Depends-on): Likewise. + * modules/fwriteerror (Depends-on): Likewise. + * modules/getcwd (Depends-on): Likewise. + * modules/getloadavg (Depends-on): Likewise. + * modules/hard-locale (Depends-on): Likewise. + * modules/makepath (Depends-on): Likewise. + * modules/mountlist (Depends-on): Likewise. + * modules/nanosleep (Depends-on): Likewise. + * modules/posixtm (Depends-on): Likewise. + * modules/quotearg (Depends-on): Likewise. + * modules/readtokens (Depends-on): Likewise. + * modules/readtokens0 (Depends-on): Likewise. + * modules/readutmp (Depends-on): Likewise. + * modules/save-cwd (Depends-on): Likewise. + * modules/strftime (Depends-on): Likewise. + * modules/userspec (Depends-on): Likewise. + * modules/utimecmp (Depends-on): Likewise. + * modules/xgetcwd (Depends-on): Likewise. + * modules/xnanosleep (Depends-on): Likewise. + * modules/xstrtod (Depends-on): Likewise. + * modules/yesno (Depends-on): Likewise. -2005-08-17 Bruno Haible +2005-05-05 Paul Eggert - * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always. - (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC. + * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid + needless checks. -2005-08-17 Bruno Haible +2005-05-01 Paul Eggert - * m4/strcasestr.m4: New file. + Merge from coreutils. Among other things, + add bulletproofing for cases where stdin, stdout, or stderr are closed. + * lib/fd-safer.c: New file. + * lib/fcntl-safer.h, open-safer.c: Remove. + * lib/chdir-long.c: Fix comment "fetish" -> "coreutils". + * lib/dup-safer.c: Include unistd-safer.h first. + Don't include errno.h. + (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work. + * lib/file-type.h: Don't assume invoker included sys/stat.h first. + * lib/file-type.c: Rely on file-type.h change. + * lib/getloadavg.c: Include unistd-safer.h. + (getloadavg): Use safer open. + * lib/getusershell.c: Include "stdio-safer.h". + (getusershell): Use safer fopen. + * lib/long-options.c (long_options): Use NULL rather than 0. + * lib/modechange.h (mode_free): Remove; all callers changed to invoke + 'free'. + * lib/modechange.c: Likewise. + xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed. + (MODE_DONE): New constant. + (struct mode_change): Remove 'next' member. + (make_node_op_equals): New function; like the old one of the + same name, except it allocates an array. + (mode_compile, mode_create_from_ref): Use it. + (mode_compile): Allocate result as an array, not a linked list. + Parse octal string ourself, so that we catch mistakes like "+0". + (mode_adjust): Arg is an array, not a linked list. + * lib/modechange.c: Include stat-macros.h, xalloc.h. + (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR): + (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU): + (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS): + Remove. This is now stat-macros.h's job. + (talloc): Remove. All callers replaced by xalloc, so that + our invokers don't have to worry about reporting memory failures. + (make_node_op_equals): Remove. + (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING): + New constants. + (struct mode_change): Moved here from modechange.h. + (mode_append_entry): Remove. + (mode_compile): Remove MASKED_OPS arg, since it encouraged + apps to have incorrect behavior. Use simpler algorithm for head + and tail. Don't futz with umask; that's now the job of mode_adjust. + Detect more invalid usages rather than having somewhat-random behavior. + Don't insert an "a=" action, as that leads to incorrect behavior. + (mode_compile, mode_create_from_ref): Return NULL on error instead + of an enum, since now there's only one way to have an error. All + callers changed. + (mode_adjust): Accept new arg UMASK_VALUE, and interpret it + at the correct time. Simplify calculation of "+u" and its ilk. + Don't mishandle "+X". + (mode_free): Remove "register" and localize decls. + * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING): + (struct mode_change): Move to modechange.c; callers don't + need to see this stuff. + (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL): + (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove. + (mode_change, mode_adjust): Reflect the new signatures noted above. + * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros + that might redefine system include files. + (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro. + (my_usleep): Use NULL rather than (void *) 0. + (rpl_nanosleep) [!defined SA_NOCLDSTOP]: + Use siginterrupt to specify that system calls should be interrupted. + (rpl_nanosleep): Move initialization of suspended closer to call of + my_usleep. + * lib/readutmp.h (read_utmp): New arg OPTIONS. All uses changed. + * lib/readutmp.c: Likewise. Include signal.h, stdbool.h. + (desirable_utmp_entry): New function. + (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation + using x2nrealloc, to simplify logic. + (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in + size calculation. Do not assume utmp file is a regular file. + * lib/readutmp.h (UT_PID): Moved here from ../src/who.c. + (READ_UTMP_CHECK_PIDS): New constant. + * lib/save-cwd.c: Include unistd-safer.h. + (save_cwd): Use fd_safer. + * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove. + [!_LIBC] Include "stat-macros.h" instead. + * lib/unistd-safer.h (fd_safer): New decl. -2005-08-17 Bruno Haible +2005-05-01 Paul Eggert - * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function. - * lib/strstr.c: Completely rewritten, with multibyte locale support. + * modules/getloadavg (Depends-on): Add unistd-safer. + * modules/getusershell (Depends-on): Add stdio-safer. + * modules/lstat (Depends-on): Remove xalloc. + * modules/mkstemp (Depends-on): Add stat-macros. + * modules/modechange (Depends-on): Remove xstrtol. + Add stat-macros, xalloc. + * modules/save-cwd (Depends-on): Add unistd-safer. + * modules/stdio-safer (Makefile.am): Remove lib_SOURCES. + * modules/unistd-safer (Files): Add lib/fd-safer.c + (Makefile.am): Remove lib_SOURCES. -2005-08-17 Bruno Haible + * MODULES.html.sh (Enhancements for POSIX:2001 functions): + Remove fcntl-safer; unistd-safer supersedes it. - * lib/strcasestr.h: New file. - * lib/strcasestr.c: New file. +2005-05-01 Paul Eggert -2005-08-17 Bruno Haible + * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require + AC_HEADER_STAT. + * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise. + (gl_PREREQ_CHOWN): Remove. + * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling + it. Don't require AC_HEADER_STAT. + (gl_PREREQ_LSTAT): Remove. + * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once. + Don't require AC_HEADER_STAT. + * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT. + (gl_PREREQ_RMDIR): Remove. + * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't + mention stat-macros.h or AC_HEADER_STAT, since we'll make + the stat-macros module a prerequisite. + * m4/file-type.m4 (gl_FILE_TYPE): Likewise. + * m4/filemode.m4 (gl_FILEMODE): Likewise. + * m4/makepath.m4 (gl_MAKEPATH): Likewise. + * m4/modechange.m4 (gl_MODECHANGE): Likewise. + * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for + variable names. + * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from + fetish_FUNC_RMDIR_NOTEMPTY. All uses changed. Use gl_ for + variable prefixes. + * m4/fcntl-safer.m4: Remove. + * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ. + * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise. + Invoke gl_PREREQ_FD_SAFER. + (gl_PREREQ_FD_SAFER): New macro. + * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt. + * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE. + Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible. + Remove duplicate call to AC_LIBOBJ(readutmp). + (gl_PREREQ_READUTMP): Remove. All uses inlined. - * lib/strcasecmp.c: Use mbuiter.h. + * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for + MAP_ANON. Problem reported by Moriyoshi Koizumi to bug-cvs. -2005-08-17 Bruno Haible +2005-05-01 Paul Eggert - * lib/mbuiter.h: New file. + * MODULES.html.sh (Misc): Add byteswap. -2005-08-16 Paul Eggert +2005-05-01 Oskar Liljeblad - * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results - of gl_GETOPT_SUBSTITUTE. That way, if both gl_GETOPT_SUBSTITUTE - and gl_GETOPT are both invoked via different paths (as happens - with GNU tar CVS because it uses both argp and getopt), the former - wins. + * modules/getcwd (Depends-on): Add extensions. + * modules/openat (Depends-on): Likewise. -2005-08-16 Bruno Haible +2005-05-01 Oskar Liljeblad - * modules/tls: New file. - * MODULES.html.sh (Multithreading): Add tls. + * modules/byteswap: New file. -2005-08-16 Bruno Haible +2005-05-01 Oskar Liljeblad - * modules/strnlen1: New file. - * MODULES.html.sh (String handling): Add strnlen1. + * m4/byteswap.m4: New file. -2005-08-16 Bruno Haible +2005-05-01 Oskar Liljeblad - * modules/strcase (Files): Add m4/mbrtowc.m4. - (Depends-on): Add strnlen1, mbchar. + * lib/byteswap_.h: New file. -2005-08-16 Bruno Haible +2005-04-25 Karl Berry - * modules/mbiter: New file. - * MODULES.html.sh (Extended multibyte and wide character utilities): - Add mbiter. + * m4/gettext.m4: Update from GNU gettext 0.14.4. -2005-08-16 Bruno Haible +2005-04-25 Albert Chin - * modules/mbfile: New file. - * MODULES.html.sh (Extended multibyte and wide character utilities): - Add mbfile. + * lib/regex.c: Include , as a workaround to a Compaq Desktop + Toolkit C bug. -2005-08-16 Bruno Haible +2005-04-21 Oskar Liljeblad - * modules/mbchar: New file. - * MODULES.html.sh (Extended multibyte and wide character utilities): - New section. + * gnulib-tool (Options): Add -s for --symlink/--symbolic. + (func_ln_if_changed) Remove forcibly for no error message + in case file does not exist. -2005-08-16 Bruno Haible +2005-04-19 Simon Josefsson - * m4/tls.m4: New file, from GNU gettext. + * gnulib-tool (Options): Make --symlink mean --symbolic. -2005-08-16 Bruno Haible +2005-04-18 Oskar Liljeblad - * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function - always. - (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC. + * doc/gnulib.texi (Initial import): Fix. Mention --aux-dir. -2005-08-16 Bruno Haible +2005-04-16 Simon Josefsson - * m4/mbiter.m4: New file. + * modules/getpass-gnu (Makefile.am): Don't mention getpass.h. -2005-08-16 Bruno Haible +2005-04-15 Simon Josefsson - * m4/mbfile.m4: New file. + * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES. -2005-08-16 Bruno Haible +2005-04-15 Simon Josefsson - * m4/mbchar.m4: New file. + * gnulib-tool: Rename --symlink to --symbolic. -2005-08-16 Bruno Haible +2005-04-15 Oskar Liljeblad - * lib/tls.h: New file, from GNU gettext. - * lib/tls.c: New file, from GNU gettext. + * gnulib-tool: Add -s, --symlink option to gnulib-tool to make + symbolic links to files instead of copying/moving. Add --aux-dir, + specifying directory relative --dir where auxiliary build tools + are placed. -2005-08-16 Bruno Haible +2005-04-14 Bruno Haible - * lib/strnlen1.h: New file. - * lib/strnlen1.c: New file. + * modules/allocsa (License): Change to LGPL. + Requested by Yoann Vandoorselaere . -2005-08-16 Bruno Haible +2005-04-13 Paul Eggert - * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field. - (mbi_init): Update. - (mbi_avail, mbi_advance): Let the iteration end before the terminating - NUL byte, not after it. + * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so + that "UTC +1 second" continues to work. Problem reported + by Dmitry V. Levin. + (relunit_snumber): New rule. + (relunit): Use it. -2005-08-16 Bruno Haible +2005-04-12 Paul Eggert - * lib/strcase.h (strcasecmp): Add note in comments. - * lib/strncasecmp.c: Use code from strcasecmp.c. - * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant. - (strcasecmp): Work correctly in multibyte locales. + * lib/getdate.y (universal_time_zone_table): New constant. + (time_zone_table): Remove GMT, UT, UTC entries; they're now in + universal_time_zone_table. + (lookup_zone): Prefer universal_time_zone_table to + local_time_zone_table, so that "GMT" time stamps are allowed in + London during the summer. Problem reported by Ian Abbott. -2005-08-16 Bruno Haible +2005-04-12 Jim Meyering - * lib/mbiter.h: New file. + * lib/human.c (humblock): Set *options even when returning due to + xstrtoumax conversion failure. Thanks to a used-uninitialized + warning from gcc-4. -2005-08-16 Bruno Haible +2005-04-09 Jim Meyering - * lib/mbfile.h: New file. + * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's + -Wuninitialized: initialize tm0.tm_year. -2005-08-16 Bruno Haible +2005-04-04 Paul Eggert - * lib/mbchar.h: New file. - * lib/mbchar.c: New file. + * lib/getdate.y (parser_control): rels_seen is now a boolean, not a + count, since there's no maximum. All uses changed. + Add member dsts_seen. + (local_zone): Accumulate dsts_seen rather than relying on tm_isdst + not being INT_MAX. + (get_date): Initialize dsts_seen, and check that it doesn't go over 1. + Use pc_rels_seen to decide whther a date is absolute. -2005-08-16 Bruno Haible + * lib/getdate.y (number): Don't overwrite year. + (get_date): Initialize pc.year.digits to 0, not 4, to enable above + check. - * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after - the valid ones. Makes the comparison operations transitive: - cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0. - * lib/strcasecmp.c (strcasecmp): Use mb_casecmp. +2005-04-02 Simon Josefsson -2005-08-15 Simon Josefsson + * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny + patch from Yoann Vandoorselaere . - * modules/ssize_t (License): Change to 'unlimited'. +2005-03-28 Eric Blake (tiny change) - * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license. + * m4/getcwd-path-max.m4: Return success on systems such as Cygwin + where no absolute path name can be longer than PATH_MAX. -2005-08-15 Paul Eggert +2005-03-27 Jim Meyering - * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h. - Add comments for each pending glibc patch. + * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated. -2005-08-15 Bruno Haible +2005-03-26 Paul Eggert - * lib/regex.h (__restrict_arr): Don't define to __restrict if - __cplusplus is defined. + * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): + "one's complement" -> "ones' complement" in comment, as per Knuth. + "value of type" -> "type or expression" in comment. + * lib/mktime.c, strftime.c: Propagate intprops.h comment nits. -2005-08-14 Jim Meyering +2005-03-26 Jim Meyering - Sync from coreutils. + Comment nits. + * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'. + Correct typos: s/or/of/. - * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir): - Use the hash-table-based cycle-detection code not just when - FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL. - Reported by James Youngman in - . - * lib/fts_.h: Mention that with FTS_LOGICAL, we use - FTS_TIGHT_CYCLE_CHECK. - * lib/fts.c (fts_cross_check) [FTS_DEBUG]: - s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG, - once again. - * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own. - * lib/fts.c (fd_safer): Remove decl. - Include fcntl--.h rather than unistd-safer.h - (fts_safe_changedir): Don't call fd_safer; no longer needed - now that we include fcntl--.h. +2005-03-26 Jim Meyering -2005-08-12 Simon Josefsson + * modules/check-include-files: Move to ../ and rename to... + * check-module: ...this. - * modules/getndelim2: Use ssize_t module. - * modules/getnline: Likewise. - * modules/safe-read: Likewise. - * modules/xreadlink: Likewise. +2005-03-25 Jim Meyering - * modules/ssize_t: New file. + * modules/xvasprintf (Files): Add xalloc.h. -2005-08-12 Simon Josefsson +2005-03-23 Paul Eggert - * m4/readline.m4: Look for termcap, curses or ncurses if required. + * modules/gettext (Files): config/config.rpath -> + build-aux/config.rpath + * modules/iconv (Files): Likewise. + Problem reported by Oskar Liljeblad. -2005-08-12 Simon Josefsson +2005-03-23 Jim Meyering - * MODULES.html.sh (Support for systems lacking POSIX:2001): Add - ssize_t. + * modules/check-include-files: New script to check for + missing dependencies, multiple includes, etc. -2005-08-12 Simon Josefsson + * modules/c-strtold (Depends-on): Add xalloc. + * modules/c-strtod (Depends-on): Add xalloc. + * modules/hash (Depends-on): Add xalloc. + (Files): Remove lib/xalloc.h. - * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add - readline, getdelim and check_version. - (Support for systems lacking ISO C 99: Sizes of integer types): - Add size_max. + * modules/gethrxtime (Files): Add lib/gethrxtime.h. + * modules/userspec (Files): Add lib/inttostr.h. -2005-08-12 Bruno Haible +2005-03-23 Jim Meyering - * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first. + * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'. -2005-08-11 Simon Josefsson +2005-03-22 Jim Meyering - * modules/readline: New file. + * modules/stat-macros: New module. + * modules/canonicalize, modules/euidaccess, modules/file-type, + * modules/filemode, modules/lchown, modules/makepath, + * modules/rmdir, modules/stat: Depend on new stat-macros module + rather than listing lib/stat-macros.h manually. + Don't add stat-macros.h to lib_SOURCES or list it in Files: section. - * modules/strnlen (Files): Add strnlen.h. +2005-03-22 Jim Meyering -2005-08-11 Simon Josefsson + * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro. - * m4/readline.m4: New file. +2005-03-22 Bruno Haible -2005-08-11 Simon Josefsson + * config/srclist.txt: Replace target directory 'config' with + 'build-aux'. + * config/config.guess, config.sub, config.rpath, depcomp, install-sh: + * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to + ../build-aux/. - * lib/readline.h, readline.c: New file. +2005-03-21 Paul Eggert -2005-08-11 Simon Josefsson + * modules/chdir-long (Depends-on): Add mempcpy. - * doc/gnulib.texi (Initial import, Finishing touches): Mention - gl_AVOID. + * modules/acl, modules/backupfile, modules/c-strtod, + modules/c-strtold, modules/canon-host, modules/canonicalize, + modules/cloexec, modules/closeout, modules/dirfd, modules/dirname, + modules/exclude, modules/exitfail, modules/file-type, + modules/filemode, modules/fpending, modules/fsusage, modules/getcwd, + modules/getdate, modules/getline, modules/getpagesize, + modules/getpass, modules/getugroups, modules/group-member, + modules/hard-locale, modules/hash, modules/human, modules/idcache, + modules/inttostr, modules/long-options, modules/makepath, + modules/md5, modules/memcasecmp, modules/memcoll, + modules/modechange, modules/mountlist, modules/path-concat, + modules/pathmax, modules/physmem, modules/posixtm, modules/posixver, + modules/quote, modules/quotearg, modules/readtokens, modules/readutmp, + modules/safe-read, modules/safe-write, modules/same, modules/savedir, + modules/settime, modules/sha1, modules/sig2str, modules/strdup, + modules/strftime, modules/strndup, modules/strverscmp, + modules/timespec, modules/unlocked-io, modules/userspec, + modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol, + modules/yesno: + Remove lib_SOURCES line from Makefile.am section, as this is now + done automatically by the corresponding Autoconf macro. -2005-08-11 Bruno Haible +2005-03-21 Jim Meyering - * lib/strnlen.h (strnlen): Change parameter name to match comment. + Changes imported from coreutils. -2005-08-10 Stepan Kasal + * lib/cycle-check.c: Don't include xalloc.h. - * m4/onceonly_2_57.m4: Really require Autoconf 2.57. + * lib/path-concat.c: Don't include assert.h. + (path_concat): Remove assertion that would have triggered + for ABASE starting with more than one slash. + Reported by Andreas Schwab. -2005-08-10 Simon Josefsson + * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT + properly when ABASE is an absolute file name. + Correct the description of this function. + Include . + Add an assertion and a test driver. + This fixes a bug introduced on 2004-07-02. + Andreas Schwab reported the resulting failure of cp --parents: + http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html - * tests/test-iconvme.c: New file. +2005-03-21 Jim Meyering -2005-08-10 Simon Josefsson + * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR. + * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl. - * m4/strnlen.m4: New file. +2005-03-21 Jim Meyering + and Paul Eggert - * m4/strndup.m4: Don't check for strnlen declaration, done in - strnlen.m4. + * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4, + m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4, + m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4, + m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4, + m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4, + m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4, + m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4, + m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4, + m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4, + m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4, + m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4, + m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4, + m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4, + m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4, + m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4, + m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4: + Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files + for these modules. -2005-08-10 Simon Josefsson +2005-03-18 Paul Eggert - * lib/strndup.c: Use strnlen.h. + * lib/strftime.c (my_strftime): If the underlying strftime returns 0 + (which shouldn't happen), generate nothing instead of returning 0 + immediately, so that nstrftime (NULL, ...) doesn't return 0. - * lib/strnlen.h: New file. +2005-03-16 Bruno Haible -2005-08-08 Ralf Wildenhues (tiny change) + * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of + HAVE_LONGLONG_64BIT. - * README: Typos. +2005-03-16 Bruno Haible -2005-08-02 Simon Josefsson + * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of + HAVE_LONGLONG_64BIT. - * modules/readline: New file. +2005-03-16 Bruno Haible -2005-08-02 Simon Josefsson + * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of + HAVE_LONGLONG_64BIT. - * modules/getdelim: New file. +2005-03-15 Paul Eggert - * modules/getline: Rewrite, don't use getndelim2. + * lib/strftime.c (my_strftime): Prepend space to format so that we can + reliably distinguish strftime failure from empty output on POSIX + hosts. -2005-08-02 Simon Josefsson +2005-03-15 Paul Eggert - * m4/getline.m4: Separate out getdelim stuff into separate module. + * lib/iconvme.c (SIZE_MAX): New macro, if not already defined. + (iconv_string): Don't guess a size-zero buffer, as that might cause + buffer overrun. Instead, avoid multiplying by MB_LEN_MAX if the + result would be 'too large', where 'too large' is (heuristically) + the square root of SIZE_MAX, divided by MB_LEN_MAX to allay + overflow concerns. This will prevent some unwanted malloc failures + when the inputs are very large. - * m4/getdelim.m4: New file. +2005-03-15 Karl Berry -2005-08-02 Simon Josefsson + * config/srclist.txt (config.rpath): from gettext. + * config/config.rpath: update. - * lib/getline.h, getline.c: Rewrite. +2005-03-15 Bruno Haible - * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc. + * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not' + to 'negate'. -2005-07-31 Bruno Haible + * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p + variable. - * lib/lock.h (gl_lock_initializer): New macro. - (gl_lock_define_initialized): Use it. - (gl_rwlock_initializer): New macro. - (gl_rwlock_define_initialized): Use it. - (gl_recursive_lock_initializer): New macro. - (gl_recursive_lock_define_initialized): Use it. + * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc + results. -2005-07-30 Karl Berry +2005-03-14 Simon Josefsson - * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib. - Report from Ben Pfaff, regarding getopt. + * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love + . -2005-07-26 Paul Eggert +2005-03-14 Paul Eggert - Add support to getopt for Emacs, which doesn't use LIBOBJS in the - normal way. - * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro. - (gl_GETOPT_SUBSTITUTE): Use it. Invoke gl_PREREQ_GETOPT. - (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros. - (gl_GETOPT): Use the new macros. Most of the implementation - is moved to the new macros. This is for programs like Emacs - that don't want all the functionality of gl_GETOPT. + * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT, + TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from + intprops.h. + * lib/strtol.c: Likewise. -2005-07-26 Bruno Haible +2005-03-14 Jim Meyering - * m4/lock.m4: Update from GNU gettext. + * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT + && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[] + to be nonzero so that we (and caller) can detect the difference + between a valid zero-length expansion and an error return, even + when the underlying strftime fails before writing anything into + that location. -2005-07-26 Bruno Haible +2005-03-14 Bruno Haible - * lib/lock.h: Update from GNU gettext. - * lib/lock.c: Update from GNU gettext. + * m4/lib-link.m4, gettext.m4, nls.m4, po.m4: + Update from GNU gettext 0.14.3. -2005-07-25 Paul Eggert +2005-03-10 Jim Meyering - * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the - obsolescent AC_TRY_RUN. Include the default includes files, for - 'exit'. + * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir. -2005-07-24 Bruno Haible +2005-03-10 Jim Meyering - * modules/visibility: New file. - * MODULES.html.sh (Misc): Add visibility. + * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long + so that this module works on systems without fchdir. -2005-07-24 Bruno Haible +2005-03-09 Paul Eggert - * m4/visibility.m4: New file. + Factor int-properties macros into a single file, except for + glibc-related files. + * lib/intprops.h: New file. + * lib/getloadavg.c: Include it instead of limits.h. + (INT_STRLEN_BOUND): Remove. + * lib/human.c: Include intprops.h. + (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself. + * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than + 302/1000. + * lib/inttostr.h: Include intprops.h instead of limits.h. + (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove. + * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros, + for consistency with intprops.h. + (time_t_is_integer, twos_complement_arithmetic): Use them. + * lib/sig2str.h: Include , intprops.h. + (INT_STRLEN_BOUND): Remove. + * lib/strftime.c (TYPE_SIGNED): Remove. + (INT_STRLEN_BOUND): Switch to same implementation as intprops.h. + * lib/strtol.c: Adjust comments to match intprops.h. + * lib/userspec.c: Include intprops.h. + (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove. + * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise. + * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT + instead of rolling our own expressions. + * lib/xstrtol.c: Include xstrtol.h first, to test interface. -2005-07-24 Bruno Haible + * lib/strftime.c: Include . Use bool where appropriate, + instead of int. + (my_strftime): Do not mishandle years close to INT_MAX, by doing + the right thing even if adding 1900 would overflow. Similarly + for tm_mon + 1 and tm_yday + 1. + Make %Y always equivalent to %C%y, and similarly for %G and %g. + (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional. + (DO_SIGNED_NUMBER): New macro. + (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1. - * doc/visibility.texi: New file. +2005-03-07 Bruno Haible -2005-07-22 Bruno Haible + * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions. - * modules/alloca-opt (Makefile.am): Remove explicit dependency on - $(ALLOCA_H), redundant through BUILT_SOURCES. - * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H), - redundant through BUILT_SOURCES. - * modules/byteswap (Makefile.am): Remove explicit dependency on - $(BYTESWAP_H), redundant through BUILT_SOURCES. - * modules/fnmatch (Makefile.am): Remove explicit dependency on - $(FNMATCH_H), redundant through BUILT_SOURCES. - * modules/getopt (Makefile.am): Remove explicit dependency on - $(GETOPT_H), redundant through BUILT_SOURCES. - * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H), - redundant through BUILT_SOURCES. - * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H), - redundant through BUILT_SOURCES. - * modules/stdbool (Makefile.am): Remove explicit dependency on - $(STDBOOL_H), redundant through BUILT_SOURCES. - * modules/stdint (Makefile.am): Remove explicit dependency on - $(STDINT_H), redundant through BUILT_SOURCES. - * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES. - Remove explicit dependency on $(SYSEXITS_H). - Reported by Alexandre Duret-Lutz . +2005-03-07 Bruno Haible -2005-07-18 Simon Josefsson + * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks. - * lib/check-version.c (check_version): Accept identical versions too. +2005-03-04 Derek R. Price -2005-07-18 Bruno Haible + * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions. + (func_import): Only replace files via --import when they have actually + changed. - * modules/lock: New file. - * MODULES.html.sh (Multithreading): New section. +2005-03-03 Derek R. Price -2005-07-18 Bruno Haible + * m4/mmap-anon.m4: New file. + * m4/pagealign_alloc.m4: New file. - * m4/lock.m4: New file, from GNU gettext. +2005-03-03 Derek R. Price + Bruno Haible -2005-07-18 Bruno Haible + * modules/pagealign_alloc: New file. + * MODULES.html.sh (Memory management functions): Add pagealign_alloc. - * lib/lock.h: New file, from GNU gettext. - * lib/lock.c: New file, from GNU gettext. +2005-03-03 Derek R. Price + Bruno Haible -2005-07-18 Bruno Haible + * lib/pagealign_alloc.h: New file. + * lib/pagealign_alloc.c: New file. - * lib/lock.h (gl_once_t): New type. - (gl_once_define, gl_once): New macros. - * lib/lock.c (fresh_once): New variable. - (glthread_once, glthread_once_call, glthread_once_singlethreaded): New - functions. +2005-03-03 Bruno Haible -2005-07-16 Simon Josefsson + * m4/inttypes.m4, isc-posix.m4, once-only.m4: + Use an all-permissive copyright notice, recommended by RMS. - * doc/gnulib.texi (Library version handling): Add ELF symbol collision - workaround, suggested by Bruno. +2005-03-02 Bruno Haible -2005-07-15 Paul Eggert + * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because + of AIX, the replacement has to be done only after is + included, therefore not in config.h. stpncpy.h does the replacement, + and stpncpy.c uses it. - * modules/xalloc (Depends-on): Add xalloc-die. - * modules/xvasprintf (Depends-on): Add xalloc-die. +2005-03-02 Bruno Haible -2005-07-15 Paul Eggert + * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that + stpncpy.c uses it. - * lib/quotearg.c: Add translator comment suggested by Bruno Haible, - with a minor change. +2005-03-01 Paul Eggert -2005-07-15 Bruno Haible + Remove workaround for bug in Linux kernel 2.6.8 or thereabouts. + The workaround isn't strictly needed for POSIX conformance, and + it's too much of a pain to configure and maintain. We'll ask + people to fix their kernels instead. + * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h. + (NANOSLEEP_BUG_WORKAROUND): Remove. + (xnanosleep): Remove the workaround. - * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug. - When using lib/poll.c, define poll as rpl_poll. +2005-03-01 Paul Eggert -2005-07-14 Paul Eggert + * modules/gettime (Makefile.am): Remove lib_SOURCES line. + Reported by Derek Price. + (Include): Add "timespec.h". - * modules/argp (Depends-on): Remove unlocked-io. + * modules/xnanosleep (Depends-on): Remove gethrxtime. -2005-07-14 Derek Price +2005-03-01 Paul Eggert - * m4/glob.m4 (gl_GLOB): Cache glob interface check result. Add check - for glob symlink bug. + * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting + to detect nanosleep bug. -2005-07-14 Bruno Haible +2005-03-01 Bruno Haible - * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO. - Instead, test for *_unlocked function declarations directly. + * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed. -2005-07-11 Simon Josefsson +2005-02-26 Paul Eggert - * modules/size_max: New file. + * modules/gethrxtime: New file. + * modules/xnanosleep (Files): Add m4/xnanosleep.m4. + (Depends-on): Add gethrxtime. + (configure.ac): Add gl_XNANOSLEEP. + (Makefile.am): Remove lib_SOURCES line. - * modules/xsize: Depend on size_max module for size_max.m4. +2005-02-25 Paul Eggert -2005-07-11 Simon Josefsson + * m4/gethrxtime.m4, m4/xnanosleep.m4: New files. + * m4/gettime.m4 (gl_GETTIME): Check for nanotime. - * lib/size_max.h: New file. +2005-02-25 Paul Eggert -2005-07-11 Paul Eggert + * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files. + * lib/timespec.h (gettime): Return void, since it always + succeeds now. All uses changed. + * lib/gettime.c (gettime) Likewise. + [HAVE_NANOTIME]: Prefer nanotime. + Assume gettimeofday succeeds, as POSIX requires. + Assime time () succeeds, since other code already does. + * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h. + (timespec_subtract): Remove. + (NANOSLEEP_BUG_WORKAROUND): New constant. + (xnanosleep): Use gethrxtime rather than gettime; this simplifies + things considerably. Use it only on GNU/Linux hosts, since the + workaround shouldn't be needed elsewhere. - * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the - copyright symbol and the year. - * lib/version-etc.c (COPYRIGHT_YEAR): New constant. - (version_etc_va): Use parameterized copyright notice. - Reword to conform to the current GNU coding standards. +2005-02-24 Bruno Haible -2005-07-11 Karl Berry + * modules/gettext (Files): Add m4/glibc2.m4. - * doc/gnulib.texi (Quoting): new node. - (Initial import): more info, from Patrice. +2005-02-24 Bruno Haible -2005-07-11 Bruno Haible + * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4: + * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4: + * m4/progtest.m4: + Update from GNU gettext 0.14.2. + * m4/glibc2.m4: New file, from GNU gettext 0.14.2. - * gnulib-tool (func_usage): Document option --avoid. - (Command line options): Handle --avoid. - (func_acceptable): New function. - (func_modules_transitive_closure): Use it. +2005-02-24 Bruno Haible -2005-07-11 Bruno Haible + * lib/localcharset.c: Update from GNU gettext 0.14.2. + * lib/config.charset: Update from GNU gettext 0.14.2. - * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site. - Reported by Jim Meyering. +2005-02-24 Bruno Haible -2005-07-10 Bruno Haible + * lib/gettext.h: Update from GNU gettext 0.14.2. - * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t. - Needed when size_t is smaller than 'unsigned int'. - Reported by Paul Eggert. +2005-02-23 Simon Josefsson -2005-07-09 Sergey Poznyakoff + * m4/iconvme.m4: New file. - * modules/argp (Depends-on): Add unlocked-io +2005-02-23 Jim Meyering -2005-07-09 Sergey Poznyakoff + * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's + change. + Thanks to Bruno Haible for catching it. - * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary - block of defines. +2005-02-22 Simon Josefsson -2005-07-08 Paul Eggert + * modules/iconvme: New file. - * config/srclist.txt: Comment out regcomp.c, since we have a porting - fix now. + * MODULES.html.sh: Add iconvme. -2005-07-08 Eric Blake (tiny change) - and Paul Eggert +2005-02-22 Simon Josefsson - * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value - in wint_t, not wchar_t. Remove now-unnecessary cast. + * lib/iconvme.h, lib/iconvme.c: New files, from libc. -2005-07-07 Paul Eggert +2005-02-22 Simon Josefsson - * modules/regex (Files): Add lib/regex_internal.c, - lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4. - (Depends-on): Add extensions. - (Makefile.am): Remove lib_SOURCES; now done by m4 code. + * config/srclist.txt: Sync iconvme.h, iconvme.c from libc. -2005-07-07 Paul Eggert +2005-02-22 Jim Meyering - * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on - pathconf. - * m4/same.m4 (gl_SAME): Likewise. - Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase. + * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo: + s/ifndef/ifdef/. - * m4/regex.m4: Adjust to new libc regex implementation. - (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for - all the .c and .h parts of (the new) regex. - Quote the m4 stuff better. - Check for RE_ICASE bug of old gnulib. - Check for REG_STARTEND of recent libc. - Rename local variables from jm_* to gl_*. - Quote operand of "test -f". - Say "recent enough" version of libc, not "version 2". - (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a - prerequisite module. Remove AC_HEADER_STDC; no longer needed. - Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll. - Remove check for btowc, isascii. - Require AM_LANGINFO_CODESET. +2005-02-20 Neil Conway -2005-07-07 Paul Eggert + * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is + returned by OSX/Darwin if the specified buffer is not large + enough for the hostname. - * lib/regex.c, regex.h: Sync from libc. - * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h: - * lib/regexec.c: - New files, synced from libc, except that regex_internal.h - currently has a small porting fix. +2005-02-03 Sergey Poznyakoff -2005-07-07 Paul Eggert + * lib/argp-help.c (__argp_help): Create a fake struct argp_state and + pass it to _help, otherwise the latter coredumps trying to + dereference state.root_argp. - * config/srclist.txt: Add regcomp.c, regex.c, regex.h, - regex_internal.c, regexec.c. - Add regex_internal.h too, but as a comment, since the libc version - is currently broken in gnulib mode. +2005-02-03 Paul Eggert -2005-07-06 Paul Eggert + * modules/chdir-long (Depends-on): Add memrchr. + * modules/memrchr (Files): Add lib/memrchr.h. + (Include): "memrchr.h". - Support programs like Emacs that use gnulib but not gettext. - * MODULES.html.sh (Internationalization functions): Add gettext-h. - * modules/gettext-h: New file. - * modules/gettext (Files): Remove lib/gettext.h. - (Depends-on): Add gettext-h. - (Makefile.am): Remove lib_SOURCES. - * modules/argmatch, modules/c-stack, modules/closeout: - * modules/copy-file, modules/csharpcomp, modules/csharpexec: - * modules/execute, modules/file-type, modules/getaddrinfo: - * modules/getopt, modules/human, modules/javacomp: - * modules/javaexec, modules/mkdir-p, modules/obstack: - * modules/openat, modules/pagealign_alloc, modules/pipe: - * modules/quotearg, modules/regex, modules/rpmatch: - * modules/unicodeio, modules/userspec, modules/version-etc: - * modules/wait-process, modules/xalloc-die, modules/xmemcoll: - * modules/xsetenv: - Depend on gettext-h, not gettext. +2005-02-03 Paul Eggert -2005-07-05 Paul Eggert + * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h. - * gnulib-tool (func_import): Add support for 'public domain' license. - * modules/alloca, modules/atexit, modules/memmove: - Now public domain, not GPL. - * modules/dup2, modules/getpagesize, modules/malloc, modules/memset: - * modules/realloc, modules/strerror, modules/strtod: - Now LGPL, not GPL. +2005-02-03 Paul Eggert -2005-07-05 Bruno Haible + * lib/memrchr.h: New file. + * lib/chdir-long.c: Include it. + * lib/memrchr.c [!defined _LIBC]: Include it rather than + Don't bother including stddef.h. - * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current - autoconf CVS. Needed for mingw. +2005-02-01 Paul Eggert -2005-07-03 Paul Eggert + * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double + inclusion. + Include , for dev_t. + (ME_DUMMY, ME_REMOTE): Move from here.... + * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here. + (ME_DUMMY): Count "subfs" as a dummy. Problem reported by + Dmitry V. Levin. + Include mountlist.h first, to test the interface. - Remove the dependency of the strftime module on the tzset module. - * modules/strftime (Depends-on): Remove dependency on tzset. +2005-01-29 Bruno Haible -2005-07-03 Paul Eggert + * lib/progname.c (program_name): Initialize. + Needed when linking statically on MacOS X. - Remove the dependency of the strftime module on the tzset module. - * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require - gl_FUNC_TZSET_CLOBBER. +2005-01-28 Paul Eggert -2005-07-03 Paul Eggert + Sync from coreutils. + * modules/getloadavg (Files): Remove m4/getloadavg.m4. + (Depends-on): Add c-strtod. + (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG. - Remove the dependency of the strftime module on the tzset module. - * lib/strftime.c (my_strftime) - [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]: - Copy the input structure, to work around some of the bug with - Solaris 2.5.1 and Solaris 2.6. If you still care about these old - Solaris releases, you should also use the tzset module, but we won't - require it as a dependency any more since we don't want LGPLed code - to depend on GPLed code. +2005-01-28 Paul Eggert -2005-07-02 Jim Meyering + Sync from coreutils. + * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove. - * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4: - * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4: - * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4: - Don't check for fcntl.h, and don't test for HAVE_FCNTL_H. + Remove files that are specific to coreutils. + * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove. -2005-07-02 Jim Meyering +2005-01-28 Bruno Haible - * lib/backupfile.c (backup_args): Change a `0' to NULL. + * modules/javacomp: New file. + * MODULES.html.sh (Java): Add javacomp. -2005-07-01 Paul Eggert +2005-01-28 Bruno Haible - * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 - declares only 'struct timespec;' (!). + * m4/javacomp.m4: New file, from GNU gettext. -2005-07-01 Jim Meyering +2005-01-28 Bruno Haible - * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c: - * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c: - * lib/save-cwd.c, tempname.c: - Assume HAVE_FCNTL_H (i.e., include unconditionally, - and don't include ). + * lib/javacomp.sh.in: New file, from GNU gettext. + * lib/javacomp.h: New file, from GNU gettext. + * lib/javacomp.c: New file, from GNU gettext. -2005-06-29 Jim Meyering +2005-01-26 Simon Josefsson - * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded - type name. Use the variable name instead. - * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname): - Likewise. + * lib/gai_strerror.c: Use GPL in header. -2005-06-28 Simon Josefsson +2005-01-26 Bruno Haible - * modules/check-version (Files): Add check-version.m4. + * modules/javaexec: New file. + * MODULES.html.sh (Java): Add javaexec. -2005-06-28 Simon Josefsson +2005-01-26 Bruno Haible - * m4/check-version.m4: New file, suggested by Jim Meyering - . + * m4/javaexec.m4: New file, from GNU gettext. -2005-06-28 Simon Josefsson +2005-01-26 Bruno Haible - * lib/check-version.h, lib/check-version.c: New files. + * lib/javaexec.sh.in: New file, from GNU gettext. + * lib/javaexec.h: New file, from GNU gettext. + * lib/javaexec.c: New file, from GNU gettext. -2005-06-28 Simon Josefsson +2005-01-24 Sergey Poznyakoff - * lib/base64.c (base64_encode): Indent. Rename 'b64' to avoid - collision with global variable. Better indentation. Don't - increment buffer pointer beyond buffer end. Based on comments - from Paul Eggert . + * modules/lchown (Depends-on): Remove lchown.h - * lib/base64.h: Indent. +2005-01-24 Sergey Poznyakoff -2005-06-28 Simon Josefsson + * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H + must be defined if the header file was not found, in order + to provide a replacement. Reported by Todd Vierling - * doc/gnulib.texi (Library version handling): New section. +2005-01-24 Sergey Poznyakoff -2005-06-28 Jim Meyering + * lib/argp-help.c (hol_entry_help): Avoid using non-constant + initializers for struct pentry_state. + (__argp_error): Check return value of __asprintf + (__argp_failure): Translate error message - * check-module (find_included_lib_files): Hard-code another - pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h - but modules/fts-lgpl (correctly) does not list those files. + * lib/argp-parse.c: Removed braces around the expansion of N_() - * modules/canonicalize (Files): Add lib/pathmax.h. +2005-01-23 Paul Eggert -2005-06-25 Simon Josefsson + * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4, + backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4, + c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4, + clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4, + dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4, + exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4, + file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4, + free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4, + getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4, + getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4, + getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4, + gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4, + group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4, + idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4, + link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4, + makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4, + memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4, + memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4, + modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4, + path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4, + posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4, + readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4, + restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4, + savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4, + sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4, + stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4, + strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4, + strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4, + strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4, + time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4, + uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4, + unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4, + utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4, + xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4, + xstrtol.m4, xstrtoumax.m4, yesno.m4: + Use an all-permissive copyright notice, recommended by RMS. - * modules/check-version: New file. +2005-01-21 Paul Eggert -2005-06-24 Paul Eggert + * modules/chdir-long (Depends-on): Remove mempcpy. - * lib/canon-host.c (canon-host): Append trailing "," to 0 in - initializer of struct addrinfo, as an indication that we don't - care how many members the structure has. +2005-01-21 Jim Meyering -2005-06-24 Derek Price - and Bruno Haible + * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the + same value as for Solaris 9. - Remove stat module & update lstat. - * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of - AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. - * m4/stat.m4: Remove this file. + * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on + component length. This included changing the parameter to be + of type `char *' rather than `char const *'. + * lib/chdir-long.h (chdir_long): Update prototype. -2005-06-24 Derek Price - and Bruno Haible + * lib/openat.c (fdopendir, fstatat): New functions. + * lib/openat.h: Include headers required for use of DIR and struct + stat. + [AT_SYMLINK_NOFOLLOW]: Define. + (fdopendir, fstatat): Add prototypes. - Remove stat module & update lstat. - * lib/stat.c: Remove this file... - (slash_aware_lstat): ...moving this content and its support... - * lib/lstat.c (rpl_lstat): ...into here. - * lib/lstat.h: New file. +2005-01-21 Bruno Haible -2005-06-24 Derek Price - and Bruno Haible + * modules/classpath: New file. + * MODULES.html.sh (Java): Add classpath. - Remove stat module & update lstat. - * config/srclist.txt (libc sources): Remove stat. +2005-01-21 Bruno Haible -2005-06-24 Derek Price - and Bruno Haible + * lib/classpath.h: New file, from GNU gettext. + * lib/classpath.c: New file, from GNU gettext. - Remove stat module & update lstat. - * MODULES.html.sh (stat): Remove. - * MODULES.html: Regenerated. - * modules/lstat (Description): Correct function name. - (Files): Add "lstat.h". - (Depends-on): Remove stat, add xalloc, stat-macros. - * modules/stat: Remove this file. - (Include): Add "lstat.h", remove . +2005-01-20 Simon Josefsson -2005-06-23 Paul Eggert + * modules/version-etc-fsf: New file. - * lib/mktime.c: Include even if !DEBUG. (From glibc.) - (ranged_convert): Don't save conversion in a temporary struct. - This causes a warning with GCC 4.0.0, and anyway in the typical - case it's not worth the extra 100 bytes or so of code. - (ranged_convert, __mktime_internal): When calling a function via a - pointer P, use P () rather than (*P) (), as we now assume C89 or - better. +2005-01-20 Simon Josefsson -2005-06-22 Paul Eggert + * lib/version-etc-fsf.c: New file, with version_etc_copyright. + * lib/version-etc.c: Remove version_etc_copyright. + * lib/version-etc.h (version_etc_copyright): Use [] instead of * in + prototype, suggested by Paul Eggert . - * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and - "who -r" failed to give output. Problem reported by Tim Waugh. +2005-01-20 Simon Josefsson - * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant. - (xcalloc): Use it to avoid needless tests. - Problem reported by Jim Meyering. + * lib/base64.h (isbase64): Add. -2005-06-20 Derek Price + * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of + using a unsigned prototype, don't inline. + (base64_decode): Use it. - * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be - unnecessary for Autoconfs > 2.59c. +2005-01-20 Paul Eggert -2005-06-16 Sergey Poznyakoff + * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume + it. - * lib/argp.h (__option_is_short): Check upper limit of - __key. Isprint() requires its argument to have the value - of an unsigned char or EOF. +2005-01-20 Paul Eggert -2005-06-16 Jim Meyering + * lib/save-cwd.c (save_cwd): Remove code to support the case + where fchdir is missing or flaky. - * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1) - when either N or S is zero. +2005-01-20 Paul Eggert -2005-06-16 Derek Price + * MODULES.html.sh (Command-line arguments): Add version-etc-fsf. - * m4/bison.m4: Declare YACC & YFLAGS precious. +2005-01-19 Paul Eggert -2005-06-10 Paul Eggert + * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h; + AC_LIBSOURCES now does this. + * MODULES.html.sh (Sizes of integer types ): New element, + with new ullong_max module. - * lib/fnmatch.c (fnmatch): If there is an encoding error in a - multibyte string or pattern, fall back on unibyte matching. - Problem reported by James Youngman. +2005-01-19 Bruno Haible -2005-06-08 Bruno Haible + * modules/sh-quote: New file. + * MODULES.html.sh (Executing programs): Add sh-quote. - * modules/csharpcomp: New file. - * MODULES.html.sh (C#): Add csharpcomp. +2005-01-19 Bruno Haible -2005-06-08 Bruno Haible + * lib/sh-quote.h: New file, from GNU gettext. + * lib/sh-quote.c: New file, from GNU gettext. - * m4/csharpcomp.m4: New file, from GNU gettext. +2005-01-18 Paul Eggert -2005-06-08 Bruno Haible + Merge from coreutils. + * m4/ullong_max.m4: New file. + * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX. + (gl_MACROS): Assume localeconv exists. - * lib/csharpcomp.h: New file, from GNU gettext. - * lib/csharpcomp.c: New file, from GNU gettext. - * lib/csharpcomp.sh.in: New file, from GNU gettext. +2005-01-18 Paul Eggert -2005-06-08 Bruno Haible + Merge changes from coreutils, as described below in several + changelogs dated today. - * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc - warning on mingw. + * lib/save-cwd.c: Include "save-cwd.h" before other include files. + (O_DIRECTORY): Remove; not needed here, since "." must be + a directory. All uses removed. + (save_cwd): Use __sgi || __sun, not sun || __sun. __sun is + universal on Suns, and we also need to test for IRIX. + Revamp code to use 'if' rather than '#if'. + Avoid unnecessary comparison of cwd->desc to 0. -2005-06-07 Derek Price + * lib/utimens.c (futimens): Robustify the previous patch, by checking + for known valid error numbers rather than observed invalid ones. - Sync from CVS. - * lib/glob_.h: Indent nested #ifdef. +2005-01-18 Paul Eggert -2005-06-02 Paul Eggert + * modules/ullong_max: New file. - Sync from coreutils. - Use "file name" when talking about file names, instead of "filename" - or "path", as per the GNU coding standards. - * lib/mkdir-p.c: Renamed from makepath.c. - (make_dir_parents): Renamed from make_path. All callers changed. - * lib/mkdir-p.h: Likewise. All includers changed. - * lib/filenamecat.c: Renamed from path-concat.c. - (file_name_concat): Renamed from path_concat. All callers changed. - [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT. - * lib/filenamecat.h: Likewise. All includers changed. - * lib/acl.c: Don't use "path" or "filename" to mean "file name" - in comments or local variable names. - * lib/basename.c: Likewise. - * lib/canonicalize.c, canonicalize.h: Likewise. - * lib/dirname.c, dirname.h: Likewise. - * lib/euidaccess.c: Likewise. - * lib/exclude.c: Likewise - * lib/fnmatch_.h, fnmatch_loop.c: Likewise. - * lib/fsusage.c, fsuage.h: Likewise. - * lib/fts.c, fts_.h: Likewise. - * lib/getcwd.c: Likewise. - * lib/getloadavg.c: Likewise. - * lib/mkstemp.c: Likewise. - * lib/mountlist.c, mountlist.h: Likewise. - * lib/openat.c, openat.h: Likewise. - * lib/readlink-stub.c: Likewise. - * lib/readutmp.c, readutmp.h: Likewise. - * lib/rename.c: Likewise. - * lib/rmdir.c: Likewise. - * lib/same.c: Likewise. - * lib/savedir.c: Likewise. - * lib/stripslash.c: Likewise. - * lib/tempname.c: Likewise. - * lib/xreadlink.c: Likewise. - * lib/exclude.c (excluded_file_name): Renamed from excluded_filename. - All uses changed. - * lib/exclude.h: Likewise. + * modules/chdir-long, modules/openat: New files. + * modules/save-cwd (Depends-on): Depend on chdir-long. + (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES. - * lib/euidaccess.c (getuid, getgid, getuid, getegid) - [!defined _POSIX_VERSION]: Remove decls; not needed these days. - * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam) - [!defined _POSIX_VERSION]: Remove decls; not needed these days. - * lib/pathmax.h: Include unconditionally, since other - files have been getting away with it for years (MORE/BSD 4.3 - is extinct now). - * lib/userspec.c (getpwnam, getgrnam, getgrgid) - [!defined _POSIX_VERSION]: Remove decls; not needed these days. +2005-01-18 Jim Meyering - * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]: - Define to 256, not 255, as per modern POSIX. + Merge from coreutils. + * m4/chdir-long.m4, m4/openat.m4: New files. + * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c, + save-cwd.h. Add AC_LIBOBJ for save-cwd. + * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown + is sane and DOES follow symlinks. Besides, testing 20 different + systems found no broken chown implementations. + Prompted by a change in rsync's copy of this macro. + * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG. -2005-06-02 Paul Eggert + * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES. - Sync from coreutils. - Use "file name" when talking about file names, instead of "filename" - or "path", as per the GNU coding standards. - * MODULES.html.sh: mkdir-p renamed from makepath. - filenamecat renamed from path-concat. - * modules/filenamecat: Renamed from modules/path-concat. - (Files): filenamecat.h and filenamecat.c renamed from - path-concat.h and path-concat.c. - (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT. - (Include): filenamecat.h, not path-concat.h. - * modules/mkdir-p: Renamed from modules/makepath. - (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and - makepath.c. - (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH. - (Include): mkdir-p.h, not makepath.h. + * m4/utimes.m4: Work around tests/touch/empty-file failure on a system + (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes' + NULL-means-set-to-current-time semantics. + Remove temporary file immediately, rather than waiting + for configure's at-exit trap code to do it. -2005-06-02 Paul Eggert +2005-01-18 Jim Meyering - Sync from coreutils. - * m4/mkdir-p.m4: Renamed from makepath.m4. - (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH. All uses changed. - Rename files from makepath.c to mkdir-p.c, and from - makepath.h to mkdir-p.h. - * m4/filenamecat.m4: Renamed from path-concat.m4. - (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT. All uses changed. - Rename files from path-concat.c to filenamecat.c, - and from path-concat.h to filenamecat.h. - * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean - "file name" in local variables or comments. - * m4/rename.m4: Likewise. + * lib/version-etc.c (version_etc_copyright): Update copyright date. -2005-06-01 Bruno Haible + * lib/utimens.c (futimens): Account for the fact that futimes + can also fail with errno == ENOSYS or errno == ENOENT. + Patch from Dmitry V. Levin. - * modules/csharpexec: New file. - * MODULES.html.sh (C#): New section. + Change the name of the robust chdir function from chdir to chdir_long. + * lib/save-cwd.c: Include chdir-long.h rather than chdir.h. + (restore_cwd): Use chdir_long, not chdir. + * lib/chdir-long.c: Renamed from chdir.c. + * lib/chdir-long.h: Renamed from chdir.h. + [!defined PATH_MAX]: Define chdir_long to chdir on systems like the + Hurd. -2005-06-01 Bruno Haible +2005-01-18 Bruno Haible - * m4/csharp.m4: New file, from GNU gettext. - * m4/csharpexec.m4: New file, from GNU gettext. + * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4: + * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4: + * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4: + * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4: + * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4: + * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4: + * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4: + * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4: + * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4: + * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4: + * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4: + * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4: + * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4: + * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4: + Use an all-permissive copyright notice, recommended by RMS. -2005-06-01 Bruno Haible +2005-01-18 Bob Proulx - * lib/csharpexec.h: New file, from GNU gettext. - * lib/csharpexec.c: New file, from GNU gettext. - * lib/csharpexec.sh.in: New file, from GNU gettext. + * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to + simplify offsetof() macro construct to avoid compile failure with + native HP-UX 11.0 ANSI C compiler. -2005-05-31 Derek Price - Paul Eggert +2005-01-17 Bruno Haible - Sync from cvs. - * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment. + * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming, + redundant because stpncpy.m4 takes care of it. -2005-05-31 Derek Price - Paul Eggert +2005-01-17 Bruno Haible - Sync from cvs. - * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment. + * lib/progreloc.c: Include xalloc.h instead of xmalloc.h. -2005-05-29 Derek Price +2005-01-17 Bruno Haible - * config/srclist.txt (glob_.h, glob.c): Add these files. + * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be + used. -2005-05-29 Derek Price +2005-01-17 Bruno Haible - * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section. - * modules/glob: New file. - * modules/getlogin_r: Add link to POSIX spec in description. + * lib/fwriteerror.h (fwriteerror): Change specification to include + fclose. + * lib/fwriteerror.c: Include . + (fwriteerror): At the end, close the file stream. Record whether + stdout was already closed. -2005-05-29 Derek Price - Paul Eggert +2005-01-17 Bruno Haible - * m4/glob.m4: New file. + * lib/execute.c (environ): Declare if needed. + * lib/pipe.c (environ): Likewise. + Reported by Michael Schloh von Bennewitz . -2005-05-29 Derek Price - Paul Eggert +2005-01-11 Sergey Poznyakoff - * lib/glob_.h, lib/glob.c: New files. + * modules/argp: Depend on vsnprintf -2005-05-27 Paul Eggert +2005-01-10 Jim Meyering - * modules/fts (Files): Remove m4/inttypes-pri.m4. - * modules/fts-lgpl (Depends-on): Remove gettext. + * modules/closeout (Depends-on): Add atexit. -2005-05-27 Paul Eggert +2005-01-06 Bruno Haible - * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h, - and don't require gt_INTTYPES_PRI. + * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here. -2005-05-27 Paul Eggert +2005-01-04 Paul Eggert - * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return. + * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional + definitions to be after all include files, to avoid collisions. + Problem reported by Bob Proulx. - * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts; - the configuration hassle isn't worth it. - Include inttypes.h and stdint.h unconditionally if FTS_DEBUG. - (LONGEST_MODIFIER, PRIuMAX): Remove. +2005-01-04 Jim Meyering -2005-05-27 Bruno Haible + Changes imported from coreutils. + * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX" + as the mkstemp template, use a temporary directory and an + 8.3-friendly template to avoid trouble on systems like DJGPP. + Reported by Juan M. Guerrero via Stepan Kasal. + * m4/(gl_FUNC_MKSTEMP): Include for the declaration of + close. Remove the temporary directory right away, rather than waiting + for configure's at-exit trap code to do it. + Suggestion from Stepan Kasal. - * lib/getlogin_r.h: Remove second include of . +2005-01-01 Simon Josefsson -2005-05-26 Paul Eggert + * gnulib-tool: Print #include directives when --import'ing. - * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define - _POSIX_PTHREAD_SEMANTICS for Solaris. +2004-12-28 Simon Josefsson -2005-05-25 Derek Price + * tests/test-base64.c: Include required header files. Remove + unused variables. - * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section. +2004-12-28 Paul Eggert -2005-05-25 Derek Price - Paul Eggert + * modules/error (Depends-on): Remove gettext. - * modules/getlogin_r, m4/getlogin_r.m4: New files. - * lib/getlogin_r.c, getlogin_r.h: New files. +2004-12-28 Paul Eggert -2005-05-25 Bruno Haible - Derek Price + * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h"; + not needed. This removes a dependency on the gettext module. + [defined _LIBC]: Do not include ; not needed. - * lib/getlogin_r.h: Simplify API documentation. +2004-12-24 Paul Eggert -2005-05-23 Derek Price + * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro. + (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold). - * modules/minmax (Files): Add m4/minmax.m4. - (configure.ac): Add gl_MINMAX. +2004-12-24 Paul Eggert -2005-05-22 Paul Eggert + * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not + HAVE_DECL_STRTOLD. - * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function, - so that unistd-safer.h (GPL'ed code) need not be included. +2004-12-23 Paul Eggert -2005-05-22 Bruno Haible + * modules/getdate (Depends-on): Remove alloca-opt. - * m4/minmax.m4: New file. - Based on a patch by Derek Price . +2004-12-23 Paul Eggert -2005-05-22 Bruno Haible + * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA. - * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs. - (INT64_MIN): Fix definition. - Suggested by Paul Eggert . +2004-12-23 Paul Eggert - * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from - NEED_SIGNED_INT_TYPES. + * lib/argp-parse.c: Include . + (alignof, alignto): New macros. + (parser_init): Don't assume that void * is aligned sufficiently + for struct option. - * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from - HAVE_SYSTEM_INTTYPES. + * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no + need to extend the stack. + (YYINITDEPTH): New macro, so that the initial stack isn't overly + large. -2005-05-22 Bruno Haible +2004-12-22 Sergey Poznyakoff - * lib/minmax.h: Include only when it defines MIN, MAX. - Also include if it defines MIN, MAX. - Based on a patch by Derek Price . + * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers. -2005-05-21 Jim Meyering +2004-12-19 Paul Eggert - * modules/fts (Files): Add m4/inttypes-pri.m4. - (Depends-on): Add lstat and remove gettext. Alphabetize. + * modules/regex (lib_SOURCES): Remove regex.c, undoing previous + (2004-10-24) change. Apparently this was a false alarm. -2005-05-20 Paul Eggert + * modules/getdate: Depend on alloca-opt, not alloca. - New fts module. - * lib/fts.c: Don't include "cycle-check.h" or "hash.h". - (setup_dir, free_dir): New functions. - (enter_dir, leave_dir): Define trivial - alternatives of _LGPL_PACKAGE. Move to fts-cycle.c if !_LGPL_PACKAGE. - (HT_INITIAL_SIZE, ENTER_DIR): Remove. All uses removed. - (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir. - (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir): - Move to fts-cycle.c. - (fts_open): Use setup_dir. - (fts_close): Use free_dir. - (fts_read): Have just one copy of the ENTER_DIR code rather than three. - This adds a label and some gotos, but the alternatives were messier. - Check for memory allocation failure when entering a dir. - (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code. - * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro. - (FTS): New member fts_cycle, that is a union that contains the - old active_dir_ht and cycle_state. All uses changed to mention - fts_cycle.ht and fts_cycle.state. - * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of - fts.c, with the following changes: - (setup_dir, free_dir): New functions. - (enter_dir): Now returns bool. Return true if successful, false - if memory exhausted. All callers changed. - Do not bother partly cleaning up on - memory allocation failure; that is free_dir's job. - However, free ad if hash_insert fails, to avoid memory leak. - (enter_dir, leave_dir): Accommodate change to FTS by inspecting - fts->fts_options to see which union member to use. +2004-12-19 Paul Eggert + + * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H. + Remove now-obsolete comment about AIX. + * lib/getdate.y: Include only if HAVE_ALLOCA. + (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA. + (YYMAXDEPTH): New macro. -2005-05-20 Paul Eggert +2004-12-18 Simon Josefsson - * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS. - (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros. + * modules/alloca: Depend on alloca-opt, instead of duplicating it. -2005-05-20 Paul Eggert +2004-12-18 Bruno Haible - * MODULES.html.sh (File system functions): Add fts, fts-lgpl. + * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction. -2005-05-20 Jim Meyering +2004-12-18 Bruno Haible - * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]: - Now a macro, to pacify GCC. + * lib/fatal-signal.c (fatal_signals): Make non-const. + (init_fatal_signals): New function. + (uninstall_handlers, install_handlers): Ignore signals that were set to + SIG_IGN. + (at_fatal_signal): Call init_fatal_signals. + (init_fatal_signal_set): Likewise. Ignore signals that were set to + SIG_IGN. + Reported by Paul Eggert. -2005-05-20 Eric Blake (tiny change) +2004-12-18 Bruno Haible - * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs - of -1. + * doc/alloca.texi: New file. + * doc/alloca-opt.texi: New file. -2005-05-20 Eric Blake (tiny change) +2004-12-17 Jim Meyering - * lib/chown.c (rpl_chown): Return -1 on failure. + * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'. + Otherwise, install-sh could exit with improper exit status when + exiting via a trapped interrupt. Thanks to a report from Bob Proulx. -2005-05-18 Paul Eggert +2004-12-16 Simon Josefsson - * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]): - Don't check for stddef.h. - * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we - don't use its results. - Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h, - since we include them unconditionally. Don't require - AM_STDBOOL_H, since stdbool is a prerequisite. - Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t - since we assume C89 or better. - Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT, - as we don't use their results. - Don't check for fchdir, memmove, memset, strrchr, as we use - them unconditionally. - * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define - GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it. + * tests/test-base64.c: Add license. -2005-05-18 Paul Eggert +2004-12-15 Stepan Kasal - * lib/canonicalize.c: Include canonicalize.h first, to test interface. - Include unconditionally, since we assume C89 now. - All uses of PTR_INT_TYPE replaced by ptrdiff_t. - * lib/fts.c: Include fts_.h first, to check interface. - Do not include intprops.h; no longer needed. - Include cycle-check.h and hash.h, since fts_.h no longer does. - Remove unnecessary casts of closedir to void. - (fts_build): Use a simpler method (not involving TYPE_SIGNED) to - decide whether to decrement nlinks. - * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed. - (FTS): Use struct hash_table * instead of Hash_table, so that - we no longer need to include hash.h here. + * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command. -2005-05-18 Jim Meyering +2004-12-12 Paul Eggert - * modules/dirfd (License): Change to LGPL. Most of the code - is already in the public domain. + * modules/getcwd (Files): Add m4/d-ino.m4. + Suggested by Mark D. Baushke. -2005-05-18 Jim Meyering +2004-12-08 Paul Eggert - * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list. - Reported by Yoann Vandoorselaere. + * lib/getdate.y (textint): New member "negative". + (time_zone_hhmm): New function. + Expect 14 shift-reduce conflicts, not 13. + (o_colon_minutes): New rule. + (time, zone): Use it to add support for +HH:MM, UTC+HH:MM. + (yylex): Set the "negative" member of signed numbers. -2005-05-17 Jim Meyering +2004-12-08 Paul Eggert - * m4/fts.m4: New file, from coreutils. + * doc/getdate.texi (Time of day items, Time zone items): + Describe new formats +00:00, UTC+00:00. -2005-05-17 Jim Meyering +2004-12-07 Paul Eggert - * lib/fts.c, lib/fts_.h: New files, from coreutils. + * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change: + spurious "-l"s. Problem reported by Stepan Kasal. -2005-05-14 Paul Eggert +2004-12-06 Paul Eggert - Sync from coreutils. - * m4/unlinkdir.m4: New file. + * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug + in Autoconf 2.59. Problem reported by Mark D. Baushke. -2005-05-14 Paul Eggert +2004-12-04 Simon Josefsson - Sync from coreutils. - * lib/unlinkdir.c, lib/unlinkdir.h: New files. - * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h, - lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h: - White space changes only. - * lib/makepath.c (make_path): Port to hosts where leading "//" is - special. - * lib/yesno.c: Include getline.h, not ctype.h. - (yesno): Don't remove leading white space; POSIX doesn't allow it. - Use getline to remove arbitrary restriction on response length. + * modules/getaddrinfo (License): Add LGPL, reported by Yoann + Vandoorselaere . -2005-05-14 Paul Eggert +2004-12-04 Paul Eggert - * config/srclist-update: Spell out "Street" in FSF postal - mail address; this is the style the FSF seems to prefer. + Changes imported from coreutils. + * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale + exist. + * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist. - * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh, - build-aux/missing, build-aux/mkinstalldirs: Sync from Automake; - this updates FSF postal mail address. +2004-12-04 Paul Eggert - Sync from coreutils. - * modules/unlinkdir: New file. - * modules/yesno (Depends-on): Add getline. - * MODULES.html.sh (File system functions): Add unlinkdir. + Changes imported from coreutils. + * lib/hard-locale.c: Assume exists. + Include "strdup.h". + (GLIBC_VERSION): New macro. + (hard_locale): Assume setlocale exists. + Rewrite to avoid #ifdef. + Use strdup rather than malloc + strcpy. + * lib/human.c: Assume exists. + (human_readable): Assume localeconv exists. -2005-05-13 Paul Eggert +2004-12-04 Paul Eggert - * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c, - lib/strsep.h: - Change the initial comment to refer to GPL, not LGPL. - gnulib-tool will change it to LGPL as needed. + * modules/hard-locale (Depends-on): Add strdup. - * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c, - lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c, - lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h, - lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h, - lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c, - lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c, - lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c, - lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h, - lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h, - lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c, - lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h, - lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c, - lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset, - lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h, - lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c, - lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h, - lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c, - lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h, - lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c, - lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h, - lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c, - lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h, - lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c, - lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h, - lib/full-write.c, lib/full-write.h, lib/fwriteerror.c, - lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h, - lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h, - lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h, - lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h, - lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c, - lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c, - lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h, - lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h, - lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c, - lib/getusershell.c, lib/group-member.c, lib/group-member.h, - lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h, - lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c, - lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h, - lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c, - lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h, - lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c, - lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h, - lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c, - lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h, - lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c, - lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c, - lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c, - lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c, - lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c, - lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c, - lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c, - lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h, - lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c, - lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c, - lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h, - lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c, - lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h, - lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c, - lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c, - lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c, - lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c, - lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h, - lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c, - lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c, - lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c, - lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c, - lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c, - lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h, - lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h, - lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h, - lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c, - lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c, - lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h, - lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c, - lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c, - lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c, - lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c, - lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h, - lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h, - lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h, - lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h, - lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h, - lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h, - lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c, - lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c, - lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h, - lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h, - lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c, - lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h, - lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, - lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h, - lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c, - lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, - lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h, - lib/yesno.c, lib/yesno.h: - Update FSF postal mail address. +2004-12-01 Jakub Jelinek + + * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC, + convert T2, not T. (Imported from libc.) + +2004-11-30 Simon Josefsson + + * modules/restrict (License): Change to LGPL. + +2004-11-30 Simon Josefsson + + * m4/restrict.m4: Add copyright and copying conditions. + +2004-11-30 Simon Josefsson -2005-05-13 Paul Eggert + * m4/base64.m4: New file. - * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c, - tests/test-memmem.c, tests/test-stpncpy.c: - Update FSF postal mail address. +2004-11-30 Simon Josefsson -2005-05-13 Bruno Haible + * MODULES.html.sh (Extra functions based on ANSI C 89): Add + base64. - * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t, - int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX, - UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, - INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN, - INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C): - Add support for 64-bit integers in the MSVC compiler. + * tests/test-base64.c: New file. -2005-05-12 Sergey Poznyakoff + * modules/base64: New file. - * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST +2004-11-30 Paul Eggert -2005-05-12 Eric Blake (tiny change) + * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): + Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working. - * gnulib-tool (func_import): Sort and uniquify recommended includes. + * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h. -2005-05-11 Paul Eggert +2004-11-30 Paul Eggert - * doc/getdate.texi (General date syntax): Don't say that date - date --iso-8601=ns generates acceptable dates; it doesn't yet. - Problem reported by Nic Ferrier. + * lib/getcwd.c (is_ENAMETOOLONG): New macro. + (__getcwd.c): Don't restore errno; glibc doesn't. + [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd + first, falling back to our code only if its results look suspicious. + Ensure that the resulting buffer is only as large as necessary. -2005-05-10 Yoann Vandoorselaere + * lib/readutmp.c: Include readutmp.h first. + Include , since readutmp.h no longer does that. + * lib/readutmp.h: Don't include , + , ; not needed to establish interface. + (errno): Remove decl. + (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed. + (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME, + UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros. - * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are - specified in ai_socktype. Fix invalid ai_protocol - check. ai_protocol is usually set to 0 or depending on - ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP. Checking for - SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid. Set - ai_socktype / ai_protocol in the returned addrinfo structure. +2004-11-28 Simon Josefsson -2005-05-10 Simon Josefsson + * lib/base64.h, base64.c: New file. - * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from - Yoann Vandoorselaere . +2004-11-27 Paul Eggert -2005-05-10 Karl Berry + * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25. - * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address - (from http://www.gnu.org/licenses). - * doc/COPYING.LIB: also rename to COPYING.LESSER. - * doc/COPYING.DOC: remove; per rms, only needed in doc files, so - fdl.texi suffices. +2004-11-26 Paul Eggert -2005-05-10 Karl Berry + * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4. + (Depends-on): Remove pathmax, same. Add mempcpy. + (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD. + (Makefile.am): Append getcwd.h to lib_SOURCES. + (Include): Add getcwd.h. + (Maintainer): Change from Jim Meyering to "all, glibc", + since getdate now uses intended-for-glibc code. + * modules/xgetcwd (Files): Remove m4/getcwd.m4. + (Depends-on): Depend on getcwd. Do not depend on pathmax. - * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB. - (COPYING.DOC): remove. +2004-11-25 Paul Eggert - * config/srclist-update: new FSF address. + Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using + HP's ANSI C compiler. + * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl. + Declaring int functions causes warnings on some modern systems and + shouldn't be needed to compile on ancient ones. + * lib/same.c (MIN) [defined MIN]: Don't define, since it's already + defined. -2005-05-10 Derek Price + * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but + with the following changes. + (__set_errno): Parenthesize properly. + Include . + (MIN, MAX, MATCHING_INO): New macros. + (__getcwd): Define with prototype, not K&R form. + Use heuristics to allocate default buffer on stack if possible. + If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2) + behavior, and to avoid the PATH_MAX limit when computing + ../../../../... + Use MATCHING_INO to compare inode number to file. + Check for arithmetic overflow in size calculations. + Fix bug in reallocation of dot array that caused getcwd to fail + on directories nested deeper than 75. + Be more careful about saving errno on error. + Do not use realloc; use only free+malloc, as this is a bit + more flexible and avoids a needless copy operation. + Do not inspect st_dev and st_ino for symbolic links; POSIX + doesn't specify the latter. + Check for closedir errors. + Avoid needless casts. + Use "#ifdef weak_alias" around weak_alias, to be like other + glibc code. + The following changes to getcwd.c have effect only when used in + gnulib; they have no effect inside glibc proper. + (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove, + as alloca isn't used. + (alloca, __alloca): Likewise. + [!_LIBC]: Include "getcwd.h", "mempcpy.h". + Include , , , + unconditionally, as gnulib assumes C89 or better. + Do not include . + (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove + no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or + better. + (NULL) [!defined NULL]: Remove; we assume C89 or better. + Include in a way that is compatible with modern Autoconf. + (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN): + New macros, if not already defined. + Include if _LIBC, not if __GNU_LIBRARY__. + Use "_LIBC", not "defined _LIBC", for consistency. + (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has + a mempcpy module. + (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros. + (GETCWD_RETURN_TYPE): Remove. All uses replaced by char *. + * lib/xgetcwd.c: David MacKenzie's old code was removed, so give + credit only to Jim Meyering and adjust the copyright dates. + Do not include , , , + , , "pathmax.h". + Instead, include "xgetcwd.h" (first) and "getcwd.h". + (INITIAL_BUFFER_SIZE): Remove. + (xgetcwd): Rely on getcwd, since we now depend on a reliable one. - * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when - possible. +2004-11-25 Paul Eggert -2005-05-09 Yoann Vandoorselaere - Bruno Haible + * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from + GL_FUNC_GETCWD_PATH_MAX for consistency. All uses changed. + Use the _ONCE methods, for efficiency. + Check for fcntl.h. In test program, include + and if available. Remove old K&R cruft from + test program. Check for common errors in GNU/Linux, + OpenBSD, and Solaris. Just set gl_cv_func_getcwd_path_max; + don't do AC_LIBOBJ, as that's getcwd.m4's job. + * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from + AC_FUNC_GETCWD_NULL. All used changed. Change cache variable + name accordingly. + (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros. Revamp to + accommodate new getcwd.c. + * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX. + * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY. + * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since + that's all we need now. - * modules/inet_ntop: New file. - * MODULES.html.sh (Support for systems lacking POSIX:2001): Add - inet_ntop. +2004-11-23 Sergey Poznyakoff -2005-05-09 Yoann Vandoorselaere - Bruno Haible + * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally: + argp-parse.c depends on getopt internals, that means we should + always use our getopt, to be on the safe side. + * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in + order not to spoil the result of an eventual previous invocation + of gl_GETOPT_SUBSTITUTE. - * m4/inet_ntop.m4: New file. +2004-11-23 Sergey Poznyakoff -2005-05-09 Yoann Vandoorselaere - Bruno Haible + * lib/getopt_.h: Re-addition of __getopt_argv_const caused + redefinition warnings. To avoid them, include the defines + in `#if !defined __need_getopt ... #endif'. The only place + where __getopt_argv_const is used is in definitions + of getopt_long and getopt_long_only below, which are as well + protected by `#ifndef __need_getopt'. + [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef + __need_getopt after including and These + headers might have defined it. - * lib/inet_ntop.h: New file. - * lib/inet_ntop.c: New file, from glibc with modifications. +2004-11-23 Paul Eggert -2005-05-09 Paul Eggert + * m4/utimens.m4 (gl_UTIMENS): Check for futimes function. - * modules/time_r (License): Change to LGPL. - * modules/extensions (License): Change to LGPL. Actually, - the license is more permissive than that, but currently gnulib-tool - doesn't know how to handle more-permissive licenses. +2004-11-23 Paul Eggert - * modules/stat-macros (Depends-on): Don't depend on stat-macros (!). - Problem reported by Dave Love. + * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros. + (futimens): New function, which uses futimes if available. + (futimens, utimens): Support timespec==NULL, with same semantics + as utime and utimens. + * lib/utimens.h (futimens): New decl. -2005-05-08 Jim Meyering +2004-11-23 Jim Meyering - * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing - blank. + * lib/getopt_.h: Remove trailing blanks. -2005-05-06 Paul Eggert +2004-11-23 Jim Meyering - * modules/argmatch (Depends-on): Add stdbool. - * modules/backupfile (Depends-on): Likewise. - * modules/chdir-long (Depends-on): Likewise. - * modules/closeout (Depends-on): Likewise. - * modules/cycle-check (Depends-on): Likewise. - * modules/dirname (Depends-on): Likewise. - * modules/fnmatch (Depends-on): Likewise. - * modules/fsusage (Depends-on): Likewise. - * modules/fwriteerror (Depends-on): Likewise. - * modules/getcwd (Depends-on): Likewise. - * modules/getloadavg (Depends-on): Likewise. - * modules/hard-locale (Depends-on): Likewise. - * modules/makepath (Depends-on): Likewise. - * modules/mountlist (Depends-on): Likewise. - * modules/nanosleep (Depends-on): Likewise. - * modules/posixtm (Depends-on): Likewise. - * modules/quotearg (Depends-on): Likewise. - * modules/readtokens (Depends-on): Likewise. - * modules/readtokens0 (Depends-on): Likewise. - * modules/readutmp (Depends-on): Likewise. - * modules/save-cwd (Depends-on): Likewise. - * modules/strftime (Depends-on): Likewise. - * modules/userspec (Depends-on): Likewise. - * modules/utimecmp (Depends-on): Likewise. - * modules/xgetcwd (Depends-on): Likewise. - * modules/xnanosleep (Depends-on): Likewise. - * modules/xstrtod (Depends-on): Likewise. - * modules/yesno (Depends-on): Likewise. + * lib/__fpending.c: Add comment. + +2004-11-22 Paul Eggert + + * modules/canonicalize (Depends-on): Add xreadlink. + Problem reported by James Youngman. + +2004-11-20 Paul Eggert + + * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID): + New macros. + (getopt, getopt_long, getopt_long_only, optarg, opterr, optind, + optopt): Use them instead of invoking ## directly; otherwise, the + symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt. + +2004-11-19 Bruno Haible + + * lib/strtok_r.c: Move comments from here... + * lib/strtok_r.h: ... to here. -2005-05-05 Paul Eggert +2004-11-17 Paul Eggert - * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid - needless checks. + * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc + implementations that mishandle size_t overflow. -2005-05-01 Paul Eggert +2004-11-17 Paul Eggert - Merge from coreutils. Among other things, - add bulletproofing for cases where stdin, stdout, or stderr are closed. - * lib/fd-safer.c: New file. - * lib/fcntl-safer.h, open-safer.c: Remove. - * lib/chdir-long.c: Fix comment "fetish" -> "coreutils". - * lib/dup-safer.c: Include unistd-safer.h first. - Don't include errno.h. - (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work. - * lib/file-type.h: Don't assume invoker included sys/stat.h first. - * lib/file-type.c: Rely on file-type.h change. - * lib/getloadavg.c: Include unistd-safer.h. - (getloadavg): Use safer open. - * lib/getusershell.c: Include "stdio-safer.h". - (getusershell): Use safer fopen. - * lib/long-options.c (long_options): Use NULL rather than 0. - * lib/modechange.h (mode_free): Remove; all callers changed to invoke - 'free'. - * lib/modechange.c: Likewise. - xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed. - (MODE_DONE): New constant. - (struct mode_change): Remove 'next' member. - (make_node_op_equals): New function; like the old one of the - same name, except it allocates an array. - (mode_compile, mode_create_from_ref): Use it. - (mode_compile): Allocate result as an array, not a linked list. - Parse octal string ourself, so that we catch mistakes like "+0". - (mode_adjust): Arg is an array, not a linked list. - * lib/modechange.c: Include stat-macros.h, xalloc.h. - (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR): - (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU): - (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS): - Remove. This is now stat-macros.h's job. - (talloc): Remove. All callers replaced by xalloc, so that - our invokers don't have to worry about reporting memory failures. - (make_node_op_equals): Remove. - (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING): - New constants. - (struct mode_change): Moved here from modechange.h. - (mode_append_entry): Remove. - (mode_compile): Remove MASKED_OPS arg, since it encouraged - apps to have incorrect behavior. Use simpler algorithm for head - and tail. Don't futz with umask; that's now the job of mode_adjust. - Detect more invalid usages rather than having somewhat-random behavior. - Don't insert an "a=" action, as that leads to incorrect behavior. - (mode_compile, mode_create_from_ref): Return NULL on error instead - of an enum, since now there's only one way to have an error. All - callers changed. - (mode_adjust): Accept new arg UMASK_VALUE, and interpret it - at the correct time. Simplify calculation of "+u" and its ilk. - Don't mishandle "+X". - (mode_free): Remove "register" and localize decls. - * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING): - (struct mode_change): Move to modechange.c; callers don't - need to see this stuff. - (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL): - (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove. - (mode_change, mode_adjust): Reflect the new signatures noted above. - * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros - that might redefine system include files. - (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro. - (my_usleep): Use NULL rather than (void *) 0. - (rpl_nanosleep) [!defined SA_NOCLDSTOP]: - Use siginterrupt to specify that system calls should be interrupted. - (rpl_nanosleep): Move initialization of suspended closer to call of - my_usleep. - * lib/readutmp.h (read_utmp): New arg OPTIONS. All uses changed. - * lib/readutmp.c: Likewise. Include signal.h, stdbool.h. - (desirable_utmp_entry): New function. - (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation - using x2nrealloc, to simplify logic. - (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in - size calculation. Do not assume utmp file is a regular file. - * lib/readutmp.h (UT_PID): Moved here from ../src/who.c. - (READ_UTMP_CHECK_PIDS): New constant. - * lib/save-cwd.c: Include unistd-safer.h. - (save_cwd): Use fd_safer. - * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove. - [!_LIBC] Include "stat-macros.h" instead. - * lib/unistd-safer.h (fd_safer): New decl. + * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc + might fail. Problem reported by Yoann Vandoorselaere. + * lib/calloc.c (rpl_calloc): Defend against buggy calloc + implementations that mishandle size_t overflow. -2005-05-01 Paul Eggert +2004-11-16 Paul Eggert - * modules/getloadavg (Depends-on): Add unistd-safer. - * modules/getusershell (Depends-on): Add stdio-safer. - * modules/lstat (Depends-on): Remove xalloc. - * modules/mkstemp (Depends-on): Add stat-macros. - * modules/modechange (Depends-on): Remove xstrtol. - Add stat-macros, xalloc. - * modules/save-cwd (Depends-on): Add unistd-safer. - * modules/stdio-safer (Makefile.am): Remove lib_SOURCES. - * modules/unistd-safer (Files): Add lib/fd-safer.c - (Makefile.am): Remove lib_SOURCES. + * modules/canon-host (Depends-on): Add strdup. - * MODULES.html.sh (Enhancements for POSIX:2001 functions): - Remove fcntl-safer; unistd-safer supersedes it. +2004-11-16 Paul Eggert -2005-05-01 Paul Eggert + * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo. - * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require - AC_HEADER_STAT. - * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise. - (gl_PREREQ_CHOWN): Remove. - * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling - it. Don't require AC_HEADER_STAT. - (gl_PREREQ_LSTAT): Remove. - * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once. - Don't require AC_HEADER_STAT. - * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT. - (gl_PREREQ_RMDIR): Remove. - * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't - mention stat-macros.h or AC_HEADER_STAT, since we'll make - the stat-macros module a prerequisite. - * m4/file-type.m4 (gl_FILE_TYPE): Likewise. - * m4/filemode.m4 (gl_FILEMODE): Likewise. - * m4/makepath.m4 (gl_MAKEPATH): Likewise. - * m4/modechange.m4 (gl_MODECHANGE): Likewise. - * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for - variable names. - * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from - fetish_FUNC_RMDIR_NOTEMPTY. All uses changed. Use gl_ for - variable prefixes. - * m4/fcntl-safer.m4: Remove. - * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ. - * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise. - Invoke gl_PREREQ_FD_SAFER. - (gl_PREREQ_FD_SAFER): New macro. - * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt. - * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE. - Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible. - Remove duplicate call to AC_LIBOBJ(readutmp). - (gl_PREREQ_READUTMP): Remove. All uses inlined. +2004-11-16 Paul Eggert - * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for - MAP_ANON. Problem reported by Moriyoshi Koizumi to bug-cvs. + * lib/canon-host.c: Include "strdup.h". + (canon_host): Use getaddrinfo if available, so that IPv6 works. + Use strdup instead of malloc/strcpy to duplicate strings. -2005-05-01 Paul Eggert + * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit. + (human_space_before_unit): New constant. + * lib/human.c (human_readable): Support it. - * MODULES.html.sh (Misc): Add byteswap. + * lib/xgetcwd.c: Include , for PATH_MAX. + (xgetcwd): Set errno correctly when failing. + Work around Solaris 9 bug: getcwd sets errno==ERANGE even though + the failure is actually due to a PATH_MAX problem. -2005-05-01 Oskar Liljeblad + Further getopt changes to make it more likely that glibc will + buy the changes back. + * lib/getopt.c (POSIXLY_CORRECT): New constant. + (getopt): Use it, so to preserve glibc semantic + * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const * + when compiling for libc. + * lib/getopt_.h (__getopt_argv_const): Bring it back. + (getopt_long, getopt_long_only): Use it. - * modules/getcwd (Depends-on): Add extensions. - * modules/openat (Depends-on): Likewise. + * lib/getopt.c (_getopt_initialize, _getopt_internal_r, + _getopt_internal): New arg POSIXLY_CORRECT. All callers changed. + (getopt): Argv is now char * const *, as per standard. + (_getopt_internal_r, _getopt_internal): Argv is now char **, + not char *__getopt_argv_const *. + * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only, + _getopt_long_only_r): Likewise. + * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise. + * lib/getopt_int.h (_getopt_internal, _getopt_internal_r, + _getopt_long_r, _getopt_long_only_r): Likewise. + * lib/getopt_.h (__getopt_argv_const): Remove. + (getopt): Argv is now char * const *, as per standard. -2005-05-01 Oskar Liljeblad + * lib/getdate.y (tORDINAL): New token. + (day, relunit): Allow it for relative times. + (relative_time_table): Use tORDINAL for ordinals. - * modules/byteswap: New file. +2004-11-16 Paul Eggert -2005-05-01 Oskar Liljeblad + * doc/getdate.texi (General date syntax): "next" is 1, not 2. + Document that "second" isn't allowed as an ordinal number. - * m4/byteswap.m4: New file. +2004-11-16 Jim Meyering -2005-05-01 Oskar Liljeblad + * modules/closeout (Depends-on): Add fpending. - * lib/byteswap_.h: New file. +2004-11-15 Jim Meyering -2005-04-25 Karl Berry + * lib/closeout.c: Include "__fpending.h" once again. + Include . + (close_stdout): Don't fail just because stdout was closed initially, + since some programs don't write to stdout in the normal course of + operation (other than --version and --help), and we don't want this + function to make e.g. `touch file >&-' fail. + But do fail if it was closed and someone has tried to write to it. + E.g., `printf foo >&-' must fail. - * m4/gettext.m4: Update from GNU gettext 0.14.4. +2004-11-13 Jim Meyering -2005-04-25 Albert Chin + * m4/jm-macros.m4: Do require gl_FUNC_FPENDING. - * lib/regex.c: Include , as a workaround to a Compaq Desktop - Toolkit C bug. +2004-11-12 Simon Josefsson -2005-04-21 Oskar Liljeblad + * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a + small doc fix is still pending. - * gnulib-tool (Options): Add -s for --symlink/--symbolic. - (func_ln_if_changed) Remove forcibly for no error message - in case file does not exist. +2004-11-11 Simon Josefsson -2005-04-19 Simon Josefsson + * modules/strtok_r: New file. - * gnulib-tool (Options): Make --symlink mean --symbolic. + * MODULES.html.sh (Support for systems lacking POSIX:2001): Add + strtok_r. -2005-04-18 Oskar Liljeblad +2004-11-11 Simon Josefsson - * doc/gnulib.texi (Initial import): Fix. Mention --aux-dir. + * m4/strtok_r.m4: New file. -2005-04-16 Simon Josefsson + * m4/getopt.m4: Replace opterr. - * modules/getpass-gnu (Makefile.am): Don't mention getpass.h. +2004-11-11 Simon Josefsson + + * lib/strtok_r.h, strtok_r.c: New file. + +2004-11-11 Paul Eggert + + * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead + of replacing opterr, getopt, etc. This should handle the + powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson. + +2004-11-11 Paul Eggert + + * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that + we can stop lying to compilers about the constness of argv when we + are compiled outside glibc. + (getopt, getopt_long, getopt_long_only): Use it. + * lib/getopt.c (_getopt_initialize, _getopt_internal_r, + _getopt_internal, getopt): Likewise. + * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only, + _getopt_long_only_r): Likewise. + * lib/getopt_int.h (_getopt_internal, _getopt_internal_r, + _getopt_long_r, _getopt_long_only_r): Likewise. + + * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]: + Include and , and if available. + Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for + the other external symbols. + (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style + declaration, since the above renaming now works around collisions. -2005-04-15 Simon Josefsson +2004-11-11 Jim Meyering - * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES. + * lib/linebreak.c: Remove trailing blanks. + * lib/alloca_.h: Likewise. + * lib/acosl.c: Likewise. + * lib/euidaccess.c: Likewise. + * lib/allocsa.h: Likewise. -2005-04-15 Simon Josefsson +2004-11-10 Simon Josefsson - * gnulib-tool: Rename --symlink to --symbolic. + * m4/getaddrinfo.m4: New file. -2005-04-15 Oskar Liljeblad +2004-11-10 Simon Josefsson - * gnulib-tool: Add -s, --symlink option to gnulib-tool to make - symbolic links to files instead of copying/moving. Add --aux-dir, - specifying directory relative --dir where auxiliary build tools - are placed. + * lib/getaddrinfo.h, lib/getaddrinfo.c: New files. -2005-04-14 Bruno Haible +2004-11-10 Simon Josefsson - * modules/allocsa (License): Change to LGPL. - Requested by Yoann Vandoorselaere . + * MODULES.html.sh (Support for systems lacking POSIX:2001): Add + getaddrinfo. -2005-04-13 Paul Eggert + * modules/getaddrinfo: New file. - * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so - that "UTC +1 second" continues to work. Problem reported - by Dmitry V. Levin. - (relunit_snumber): New rule. - (relunit): Use it. +2004-11-10 Paul Eggert -2005-04-12 Paul Eggert + * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV. - * lib/getdate.y (universal_time_zone_table): New constant. - (time_zone_table): Remove GMT, UT, UTC entries; they're now in - universal_time_zone_table. - (lookup_zone): Prefer universal_time_zone_table to - local_time_zone_table, so that "GMT" time stamps are allowed in - London during the summer. Problem reported by Ian Abbott. +2004-11-10 Paul Eggert -2005-04-12 Jim Meyering + * lib/mktime.c (SHR): New macro, which is a portable + substitute for >> that should work even on Crays. + (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it. + Problem reported by Mark D. Baushke in + . + * lib/getdate.y (SHR): Likewise. + (tm_diff): Use it. + * lib/strftime.c (SHR): Likewise. + (tm_diff): Use it. + * lib/quotearg.c (struct quoting_options): Use unsigned int for + quote_these_too, so that right shifts are well defined. All uses + changed. - * lib/human.c (humblock): Set *options even when returning due to - xstrtoumax conversion failure. Thanks to a used-uninitialized - warning from gcc-4. +2004-11-10 Jim Meyering -2005-04-09 Jim Meyering + Ensure that no close failure goes unreported. + * lib/closeout.c (close_stdout): Always close stdout. I.e., don't + return early when it seems there's nothing to flush. + Don't include __fpending.h. - * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's - -Wuninitialized: initialize tm0.tm_year. +2004-11-10 Jim Meyering -2005-04-04 Paul Eggert + * modules/closeout (Depends-on): Remove fpending. - * lib/getdate.y (parser_control): rels_seen is now a boolean, not a - count, since there's no maximum. All uses changed. - Add member dsts_seen. - (local_zone): Accumulate dsts_seen rather than relying on tm_isdst - not being INT_MAX. - (get_date): Initialize dsts_seen, and check that it doesn't go over 1. - Use pc_rels_seen to decide whther a date is absolute. +2004-11-10 Jim Meyering - * lib/getdate.y (number): Don't overwrite year. - (get_date): Initialize pc.year.digits to 0, not 4, to enable above - check. + * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING. -2005-04-02 Simon Josefsson +2004-11-09 Paul Eggert - * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny - patch from Yoann Vandoorselaere . + * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove. Move its body to + gl_FUNC_STRFTIME. + (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE + and AC_REQUIRE when possible, to avoid duplicate checks. + Check for . -2005-03-28 Eric Blake (tiny change) +2004-11-09 Paul Eggert - * m4/getcwd-path-max.m4: Return success on systems such as Cygwin - where no absolute path name can be longer than PATH_MAX. + * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too. -2005-03-27 Jim Meyering +2004-11-09 Bruno Haible - * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated. + * m4/sockpfaf.m4: New file. -2005-03-26 Paul Eggert +2004-11-05 Bruno Haible - * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): - "one's complement" -> "ones' complement" in comment, as per Knuth. - "value of type" -> "type or expression" in comment. - * lib/mktime.c, strftime.c: Propagate intprops.h comment nits. + * lib/readlink.c: Include stddef.h, needed for size_t on Woe32. + Reported by Mark D. Baushke . -2005-03-26 Jim Meyering +2004-11-04 Bruno Haible - Comment nits. - * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'. - Correct typos: s/or/of/. + 2004-09-11 Bruno Haible + * allocsa.valgrind: New file. + 2004-02-06 Bruno Haible + * allocsa.h (sa_alignof): Define differently with HP-UX cc, to + avoid a bug of this cc on HP-UX 10.20 dealing with enums. + Reported by Christopher Seip . -2005-03-26 Jim Meyering +2004-11-04 Bruno Haible - * modules/check-include-files: Move to ../ and rename to... - * check-module: ...this. + * modules/allocsa (Files): Add lib/allocsa.valgrind. + (Makefile.am): Distribute it. -2005-03-25 Jim Meyering +2004-11-03 Paul Eggert - * modules/xvasprintf (Files): Add xalloc.h. + * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1 + with errno == ERANGE if the buffer is too small. + Problem reported by Mark D. Baushke. -2005-03-23 Paul Eggert +2004-11-03 Albert Chin + Paul Eggert - * modules/gettext (Files): config/config.rpath -> - build-aux/config.rpath - * modules/iconv (Files): Likewise. - Problem reported by Oskar Liljeblad. + * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t + equivalent, substitute $ac_type for equivalent type rather than + blindly using uint32_t *always* which won't work if uint32_t is not + available. Define _UINT32_T to work around typedef of uint32_t if + , , or used on Solaris + 2.5.1. -2005-03-23 Jim Meyering +2004-11-02 Paul Eggert - * modules/check-include-files: New script to check for - missing dependencies, multiple includes, etc. + * m4/jm-macros.m4: Sync from coreutils. + (gl_MACROS): Check for mbrlen, for pathchk. + (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk. - * modules/c-strtold (Depends-on): Add xalloc. - * modules/c-strtod (Depends-on): Add xalloc. - * modules/hash (Depends-on): Add xalloc. - (Files): Remove lib/xalloc.h. +2004-11-02 Paul Eggert - * modules/gethrxtime (Files): Add lib/gethrxtime.h. - * modules/userspec (Files): Add lib/inttostr.h. + * lib/xreadlink.c (MAXSIZE): New macro. + (xreadlink): Use it instead of SSIZE_MAX. Ensure initial buffer + size does not exceed MAXSIZE. Avoid cast. + As suggested by Mark D. Baushke in + , + if readlink fails with buffer size just under MAXSIZE, try again + with MAXSIZE. -2005-03-23 Jim Meyering +2004-11-02 Paul Eggert - * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'. + * config/srclist.txt: Add mktime.c; glibc bought all our changes. -2005-03-22 Jim Meyering +2004-11-02 Derek R. Price + and Paul Eggert - * modules/stat-macros: New module. - * modules/canonicalize, modules/euidaccess, modules/file-type, - * modules/filemode, modules/lchown, modules/makepath, - * modules/rmdir, modules/stat: Depend on new stat-macros module - rather than listing lib/stat-macros.h manually. - Don't add stat-macros.h to lib_SOURCES or list it in Files: section. + * lib/getdate.y [!TEST]: Include , since we use sprintf now. + (get_date): Overparenthesize to avoid GCC warning. -2005-03-22 Jim Meyering +2004-11-02 Bruno Haible - * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro. + * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv() + returns void. -2005-03-22 Bruno Haible +2004-11-02 Bruno Haible - * config/srclist.txt: Replace target directory 'config' with - 'build-aux'. - * config/config.guess, config.sub, config.rpath, depcomp, install-sh: - * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to - ../build-aux/. + * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv() + function returns void. -2005-03-21 Paul Eggert +2004-11-01 Paul Eggert - * modules/chdir-long (Depends-on): Add mempcpy. + * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of + fflush_unlocked, flockfile, funlockfile, funlockfile, + fputs_unlocked, putc_unlocked. - * modules/acl, modules/backupfile, modules/c-strtod, - modules/c-strtold, modules/canon-host, modules/canonicalize, - modules/cloexec, modules/closeout, modules/dirfd, modules/dirname, - modules/exclude, modules/exitfail, modules/file-type, - modules/filemode, modules/fpending, modules/fsusage, modules/getcwd, - modules/getdate, modules/getline, modules/getpagesize, - modules/getpass, modules/getugroups, modules/group-member, - modules/hard-locale, modules/hash, modules/human, modules/idcache, - modules/inttostr, modules/long-options, modules/makepath, - modules/md5, modules/memcasecmp, modules/memcoll, - modules/modechange, modules/mountlist, modules/path-concat, - modules/pathmax, modules/physmem, modules/posixtm, modules/posixver, - modules/quote, modules/quotearg, modules/readtokens, modules/readutmp, - modules/safe-read, modules/safe-write, modules/same, modules/savedir, - modules/settime, modules/sha1, modules/sig2str, modules/strdup, - modules/strftime, modules/strndup, modules/strverscmp, - modules/timespec, modules/unlocked-io, modules/userspec, - modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol, - modules/yesno: - Remove lib_SOURCES line from Makefile.am section, as this is now - done automatically by the corresponding Autoconf macro. +2004-11-01 Paul Eggert -2005-03-21 Jim Meyering + * lib/getpass.c (fflush_unlocked, flockfile, funlockfile) + (funlockfile, fputs_unlocked, putc_unlocked): Don't define if + already declared. - Changes imported from coreutils. +2004-10-29 Paul Eggert - * lib/cycle-check.c: Don't include xalloc.h. + * modules/getdate (Files): Add doc/getdate.texi. + (Depends-on): Add setenv, xalloc. - * lib/path-concat.c: Don't include assert.h. - (path_concat): Remove assertion that would have triggered - for ABASE starting with more than one slash. - Reported by Andreas Schwab. +2004-10-29 Paul Eggert - * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT - properly when ABASE is an absolute file name. - Correct the description of this function. - Include . - Add an assertion and a test driver. - This fixes a bug introduced on 2004-07-02. - Andreas Schwab reported the resulting failure of cp --parents: - http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html + * lib/getdate.y: Add support for TZ="foo" within a date string. + Fix some bugs near time_t boundaries. Reject dates with + out-of-range components, e.g., "Sept 31". + Include , "setenv.h", "xalloc.h". + (ISDIGIT_LOCALE): Remove; unused. + Note that the TZ and time functions used here are not reentrant. + (mktime_ok, get_tz): New functions. + (TZBUFSIZE): New constant. + (get_date): Parse leading TZ="foo". Reject out-of-range components;. + This requires that we sometimes generate our own TZ="XXX..." setting. -2005-03-21 Jim Meyering +2004-10-29 Paul Eggert - * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR. - * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl. + * doc/getdate.texi: New file, from coreutils with modifications for + the new TZ parsing. -2005-03-21 Jim Meyering - and Paul Eggert +2004-10-27 Derek R. Price - * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4, - m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4, - m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4, - m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4, - m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4, - m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4, - m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4, - m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4, - m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4, - m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4, - m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4, - m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4, - m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4, - m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4, - m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4, - m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4: - Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files - for these modules. + * lib/mktime.c (not_equal_tm): Remove redundant check. -2005-03-18 Paul Eggert +2004-10-24 Paul Eggert - * lib/strftime.c (my_strftime): If the underlying strftime returns 0 - (which shouldn't happen), generate nothing instead of returning 0 - immediately, so that nstrftime (NULL, ...) doesn't return 0. + * modules/regex (lib_SOURCES): Add regex.c. + Reported by James Youngman in + . -2005-03-16 Bruno Haible +2004-10-24 Paul Eggert - * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of - HAVE_LONGLONG_64BIT. + * lib/getdate.y: Use Bison 1.875 features, and some minor + code cleanups. This change does not affect semantics. + Don't include ; no longer needed. + Don't include unlocked-io.h; only the "#if TEST" code uses + stdio, and performance isn't crucial there. + (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by + Bison 1.875 features as described below. + All uses of "PC." replaced by "pc->". + (YYSTYPE): Add a forward declaration. + (yylex, yyerror): Use full prototypes in forward decls. + Use "%pure-parser" rather than obsolescent "%pure_parser". + Use %parse-param and %lex-param instead of obsolescent + YYPARSE_PARAM and YYLEX_PARAM. + (meridian_table, month_and_day_table, time_units_table, + relative_time_table, time_zone_table, military_table, + lookup_zone, lookup_word, get_date): + Use NULL instead of 0 where appropriate. + (to_hour): Avoid abort (), to avoid a dependency on + stdlib.h. + (yyerror, yylex): Now accepts parser_control * arg. + (main) [TEST]: Use '\0' rather than 0 for char. -2005-03-16 Bruno Haible +2004-10-22 Paul Eggert - * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of - HAVE_LONGLONG_64BIT. + * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for . -2005-03-16 Bruno Haible +2004-10-22 Paul Eggert - * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of - HAVE_LONGLONG_64BIT. + * lib/getpagesize.c (getpagesize): Don't assume exists. + It's now the caller's responsibility to handle the case where + !HAVE_GETPAGESIZE && !defined getpagesize. -2005-03-15 Paul Eggert + * lib/mktime.c (leapyear): Arg is long int, not int. - * lib/strftime.c (my_strftime): Prepend space to format so that we can - reliably distinguish strftime failure from empty output on POSIX - hosts. +2004-10-18 Paul Eggert -2005-03-15 Paul Eggert + * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc. - * lib/iconvme.c (SIZE_MAX): New macro, if not already defined. - (iconv_string): Don't guess a size-zero buffer, as that might cause - buffer overrun. Instead, avoid multiplying by MB_LEN_MAX if the - result would be 'too large', where 'too large' is (heuristically) - the square root of SIZE_MAX, divided by MB_LEN_MAX to allay - overflow concerns. This will prevent some unwanted malloc failures - when the inputs are very large. +2004-10-17 Paul Eggert -2005-03-15 Karl Berry + * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was + missing. Problem reported by James Youngman. - * config/srclist.txt (config.rpath): from gettext. - * config/config.rpath: update. +2004-10-16 Simon Josefsson -2005-03-15 Bruno Haible + * gnulib-tool: Fix comments. Fix parse problem. + (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES. - * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not' - to 'negate'. +2004-10-15 Paul Eggert - * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p - variable. + * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD + implementation of getopt_long. Problem reported by Alexander Taler in: + http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html - * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc - results. +2004-10-15 Bruno Haible -2005-03-14 Simon Josefsson + * gnulib-tool: Untabify. Initialize supplied_libname. + (func_usage): More homogenous output. + (func_modules_transitive_closure, func_modules_to_filelist, + func_emit_lib_Makefile_am): New functions. + (func_import): New function, extracted from big case statement. Use + func_get_license, func_modules_transitive_closure, + func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize + opt_lgpl. Don't use test -a, as it's not portable. + (func_create_testdir): Use func_modules_transitive_closure, + func_modules_to_filelist, func_emit_lib_Makefile_am. - * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love - . +2004-10-15 Bruno Haible -2005-03-14 Paul Eggert + * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed. - * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT, - TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from - intprops.h. - * lib/strtol.c: Likewise. +2004-10-15 Bruno Haible -2005-03-14 Jim Meyering + * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate + the portions belonging to each module. + Suggested by Derek Robert Price . - * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT - && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[] - to be nonzero so that we (and caller) can detect the difference - between a valid zero-length expansion and an error return, even - when the underlying strftime fails before writing anything into - that location. +2004-10-12 Simon Josefsson -2005-03-14 Bruno Haible + * lib/getpass.c (fflush_unlocked, flockfile, funlockfile) + (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map + to real functions. - * m4/lib-link.m4, gettext.m4, nls.m4, po.m4: - Update from GNU gettext 0.14.3. +2004-10-11 Yoann Vandoorselaere -2005-03-10 Jim Meyering + * modules/vsnprintf: New file. - * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir. +2004-10-11 Yoann Vandoorselaere -2005-03-10 Jim Meyering + * m4/vsnprintf.m4: New file. - * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long - so that this module works on systems without fchdir. +2004-10-11 Yoann Vandoorselaere -2005-03-09 Paul Eggert + * lib/vsnprintf.h: New file. + * lib/vsnprintf.c: New file. - Factor int-properties macros into a single file, except for - glibc-related files. - * lib/intprops.h: New file. - * lib/getloadavg.c: Include it instead of limits.h. - (INT_STRLEN_BOUND): Remove. - * lib/human.c: Include intprops.h. - (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself. - * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than - 302/1000. - * lib/inttostr.h: Include intprops.h instead of limits.h. - (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove. - * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros, - for consistency with intprops.h. - (time_t_is_integer, twos_complement_arithmetic): Use them. - * lib/sig2str.h: Include , intprops.h. - (INT_STRLEN_BOUND): Remove. - * lib/strftime.c (TYPE_SIGNED): Remove. - (INT_STRLEN_BOUND): Switch to same implementation as intprops.h. - * lib/strtol.c: Adjust comments to match intprops.h. - * lib/userspec.c: Include intprops.h. - (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove. - * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise. - * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT - instead of rolling our own expressions. - * lib/xstrtol.c: Include xstrtol.h first, to test interface. +2004-10-11 Bruno Haible - * lib/strftime.c: Include . Use bool where appropriate, - instead of int. - (my_strftime): Do not mishandle years close to INT_MAX, by doing - the right thing even if adding 1900 would overflow. Similarly - for tm_mon + 1 and tm_yday + 1. - Make %Y always equivalent to %C%y, and similarly for %G and %g. - (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional. - (DO_SIGNED_NUMBER): New macro. - (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1. + * MODULES.html.sh (Support for systems lacking ISO C 99): Add + vsnprintf. -2005-03-07 Bruno Haible +2004-10-10 Paul Eggert - * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions. + * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only). -2005-03-07 Bruno Haible +2004-10-07 Bruno Haible - * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks. + * lib/snprintf.c (snprintf): Avoid a memory allocation if the result + fits into the provided buffer. -2005-03-04 Derek R. Price +2004-10-06 Paul Eggert - * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions. - (func_import): Only replace files via --import when they have actually - changed. + * lib/diacrit.c, diacrit.h: Add GPL notice. -2005-03-03 Derek R. Price + * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL + notice. + * lib/atanl.c (atanl): Keep the code as similar to glibc as possible. + * lib/logl.c (logl): Keep the code as similar to glibc as possible. + This avoids a potential constant-folding bug. - * m4/mmap-anon.m4: New file. - * m4/pagealign_alloc.m4: New file. +2004-10-05 Bruno Haible -2005-03-03 Derek R. Price - Bruno Haible + * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check + for the declaration of strsep. - * modules/pagealign_alloc: New file. - * MODULES.html.sh (Memory management functions): Add pagealign_alloc. +2004-10-05 Bruno Haible -2005-03-03 Derek R. Price - Bruno Haible + * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP. - * lib/pagealign_alloc.h: New file. - * lib/pagealign_alloc.c: New file. +2004-10-04 Simon Josefsson -2005-03-03 Bruno Haible + * modules/memmem: New file. + * tests/test-memmem.c: New file. + * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem. - * m4/inttypes.m4, isc-posix.m4, once-only.m4: - Use an all-permissive copyright notice, recommended by RMS. +2004-10-04 Simon Josefsson -2005-03-02 Bruno Haible + * m4/memmem.m4: New file. - * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because - of AIX, the replacement has to be done only after is - included, therefore not in config.h. stpncpy.h does the replacement, - and stpncpy.c uses it. +2004-10-04 Simon Josefsson + + * lib/memmem.h: New file. + * lib/memmem.c: New file, taken from glibc. + +2004-10-04 Simon Josefsson + + * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of + '#ifdef USE_UNLOCKED_IO'. -2005-03-02 Bruno Haible +2004-10-04 Simon Josefsson - * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that - stpncpy.c uses it. + * config/srclist.txt: Add memmem from glibc. -2005-03-01 Paul Eggert +2004-10-04 Paul Eggert - Remove workaround for bug in Linux kernel 2.6.8 or thereabouts. - The workaround isn't strictly needed for POSIX conformance, and - it's too much of a pain to configure and maintain. We'll ask - people to fix their kernels instead. - * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h. - (NANOSLEEP_BUG_WORKAROUND): Remove. - (xnanosleep): Remove the workaround. + * modules/xalloc (Files, Makefile.am): Remove xstrdup.c. -2005-03-01 Paul Eggert + * modules/argmatch, modules/argp, modules/closeout, modules/error, + modules/exclude, modules/getdate, modules/getline, + modules/getndelim2, modules/getpass, modules/getpass-gnu, + modules/getusershell, modules/linebuffer, modules/md5, + modules/mountlist, modules/posixtm, modules/readtokens, + modules/readutmp, modules/regex, modules/sha1, + modules/version-etc, modules/yesno: + Remove dependency on unlocked-io. - * modules/gettime (Makefile.am): Remove lib_SOURCES line. - Reported by Derek Price. - (Include): Add "timespec.h". +2004-10-04 Paul Eggert - * modules/xnanosleep (Depends-on): Remove gethrxtime. + * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove. All uses removed. -2005-03-01 Paul Eggert + * m4/unlocked-io.m4: Add copyright notice. + (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO. - * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting - to detect nanosleep bug. +2004-10-04 Paul Eggert -2005-03-01 Bruno Haible + * lib/xalloc.h (xmemdup): Renamed from xclone. All uses changed. + * lib/xmalloc.c (xmemdup): Likewise. + * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC, + XFREE): Remove these long-obsolescent macros. + * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c + * lib/xstrdup.c: Remove. - * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed. + * lib/regex.c (re_comp): Cast gettext return value to char *, + Problem reported by Martin Neitzel via Mark D. Baushke. -2005-02-26 Paul Eggert +2004-10-04 Paul Eggert - * modules/gethrxtime: New file. - * modules/xnanosleep (Files): Add m4/xnanosleep.m4. - (Depends-on): Add gethrxtime. - (configure.ac): Add gl_XNANOSLEEP. - (Makefile.am): Remove lib_SOURCES line. + * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y, + getndelim2.c, getpass.c, getusershell.c, linebuffer.c, + md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c, + regex.c, sha1.c, version-etc.c, yesno.c: + Include "unlocked-io.h" only if USE_UNLOCKED_IO. + * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now + the includer's responsibility. -2005-02-25 Paul Eggert + Sync from coreutils. - * m4/gethrxtime.m4, m4/xnanosleep.m4: New files. - * m4/gettime.m4 (gl_GETTIME): Check for nanotime. + * lib/modechange.c (mode_compile): Don't decrement a pointer that + points to the start of a string, as the C Standard says the + resulting behavior is undefined. -2005-02-25 Paul Eggert + * lib/backupfile.h (enum backuptype): Rename none -> no_backups, + simple -> simple_backups, numbered_existing -> + numbered_existing_backups, numbered -> numbered_backups + to avoid shadowing problems. All uses changed. + * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise. + * lib/backupfile.c (check_extension, numbered_backup): + Rename locals to avoid shadowing 'basename'. + * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than + once. - * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files. - * lib/timespec.h (gettime): Return void, since it always - succeeds now. All uses changed. - * lib/gettime.c (gettime) Likewise. - [HAVE_NANOTIME]: Prefer nanotime. - Assume gettimeofday succeeds, as POSIX requires. - Assime time () succeeds, since other code already does. - * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h. - (timespec_subtract): Remove. - (NANOSLEEP_BUG_WORKAROUND): New constant. - (xnanosleep): Use gethrxtime rather than gettime; this simplifies - things considerably. Use it only on GNU/Linux hosts, since the - workaround shouldn't be needed elsewhere. + * lib/.cppi-disable: Add getopt_.h, getopt_int.h. + * lib/.cvsignore: Add getopt.h. -2005-02-24 Bruno Haible +2004-10-04 Bruno Haible - * modules/gettext (Files): Add m4/glibc2.m4. + * modules/README: New file. + * gnulib-tool (func_all_modules, func_verify_module): modules/README is + not a module. -2005-02-24 Bruno Haible +2004-10-02 Jim Meyering - * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4: - * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4: - * m4/progtest.m4: - Update from GNU gettext 0.14.2. - * m4/glibc2.m4: New file, from GNU gettext 0.14.2. + * lib/dirfd.h, getpagesize.h: Add copyright notice. -2005-02-24 Bruno Haible +2004-10-01 Yoann Vandoorselaere - * lib/localcharset.c: Update from GNU gettext 0.14.2. - * lib/config.charset: Update from GNU gettext 0.14.2. + * modules/strsep: New file. -2005-02-24 Bruno Haible +2004-10-01 Yoann Vandoorselaere - * lib/gettext.h: Update from GNU gettext 0.14.2. + * m4/strsep.m4: New file. -2005-02-23 Simon Josefsson +2004-10-01 Yoann Vandoorselaere - * m4/iconvme.m4: New file. + * lib/strsep.h: New file. + * lib/strsep.c: New file. -2005-02-23 Jim Meyering +2004-10-01 Simon Josefsson - * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's - change. - Thanks to Bruno Haible for catching it. + * lib/snprintf.c (snprintf): Handle size==0. -2005-02-22 Simon Josefsson +2004-10-01 Simon Josefsson + Bruno Haible - * modules/iconvme: New file. + * lib/snprintf.c: Include , , . + (snprintf): Declare 'args'. - * MODULES.html.sh: Add iconvme. +2004-10-01 Paul Eggert -2005-02-22 Simon Josefsson + * lib/snprintf.c: Remove comments as to why each header is needed. - * lib/iconvme.h, lib/iconvme.c: New files, from libc. +2004-10-01 Bruno Haible -2005-02-22 Simon Josefsson + * MODULES.html.sh: Add strsep. - * config/srclist.txt: Sync iconvme.h, iconvme.c from libc. +2004-09-30 Simon Josefsson -2005-02-22 Jim Meyering + * modules/snprintf: New file. - * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo: - s/ifndef/ifdef/. +2004-09-30 Simon Josefsson -2005-02-20 Neil Conway + * m4/snprintf.m4: New file. - * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is - returned by OSX/Darwin if the specified buffer is not large - enough for the hostname. +2004-09-30 Simon Josefsson -2005-02-03 Sergey Poznyakoff + * lib/snprintf.h, lib/snprintf.c: New files. - * lib/argp-help.c (__argp_help): Create a fake struct argp_state and - pass it to _help, otherwise the latter coredumps trying to - dereference state.root_argp. +2004-09-30 Sergey Poznyakoff -2005-02-03 Paul Eggert + * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL + (hol_entry_help): Never translate an empty string. + Do not translate option tag (opt->name) if OPTION_NO_TRANS is set + * lib/argp.h (OPTION_NO_TRANS): New option. - * modules/chdir-long (Depends-on): Add memrchr. - * modules/memrchr (Files): Add lib/memrchr.h. - (Include): "memrchr.h". +2004-09-30 Paul Eggert -2005-02-03 Paul Eggert + * modules/argp (Maintainer): Replace Simon Josefsson + by Sergey Poznyakoff. - * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h. +2004-09-30 Paul Eggert -2005-02-03 Paul Eggert + * config/srclist.txt: Comment-out argp/argp.h, until we get the argp + changes merged back into glibc. - * lib/memrchr.h: New file. - * lib/chdir-long.c: Include it. - * lib/memrchr.c [!defined _LIBC]: Include it rather than - Don't bother including stddef.h. +2004-09-30 Paul Eggert -2005-02-01 Paul Eggert + * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf. - * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double - inclusion. - Include , for dev_t. - (ME_DUMMY, ME_REMOTE): Move from here.... - * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here. - (ME_DUMMY): Count "subfs" as a dummy. Problem reported by - Dmitry V. Levin. - Include mountlist.h first, to test the interface. +2004-09-29 Oskar Liljeblad -2005-01-29 Bruno Haible + * lib/xvasprintf.c: Include xalloc.h. + (xvasprintf): Use xalloc_die, not xmalloc_die. - * lib/progname.c (program_name): Initialize. - Needed when linking statically on MacOS X. +2004-09-29 Bruno Haible -2005-01-28 Paul Eggert + * modules/alloca-opt: New file, derived from modules/alloca. + * modules/allocsa: Depend on alloca-opt instead of alloca. + * modules/setenv: Likewise. + * modules/vasnprintf: Likewise. + * MODULES.html.sh: Add alloca-opt. - Sync from coreutils. - * modules/getloadavg (Files): Remove m4/getloadavg.m4. - (Depends-on): Add c-strtod. - (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG. +2004-09-28 Simon Josefsson -2005-01-28 Paul Eggert + * gnulib-tool: New parameter --lgpl, to asseert that modules are + LGPL, and to replace license template from GPL to LGPL. - Sync from coreutils. - * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove. +2004-09-28 Paul Eggert - Remove files that are specific to coreutils. - * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove. + * modules/dummy: Change license to LGPL. -2005-01-28 Bruno Haible +2004-09-28 Paul Eggert - * modules/javacomp: New file. - * MODULES.html.sh (Java): Add javacomp. + * lib/dummy.c: Change copyright notice to FSF, and license to GPL. -2005-01-28 Bruno Haible +2004-09-24 Simon Josefsson - * m4/javacomp.m4: New file, from GNU gettext. + * modules/minmax (License): Change from GPL to LGPL. -2005-01-28 Bruno Haible +2004-09-23 Simon Josefsson - * lib/javacomp.sh.in: New file, from GNU gettext. - * lib/javacomp.h: New file, from GNU gettext. - * lib/javacomp.c: New file, from GNU gettext. + * gnulib-tool (--import): Typo. -2005-01-26 Simon Josefsson +2004-09-23 Simon Josefsson - * lib/gai_strerror.c: Use GPL in header. + * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default. -2005-01-26 Bruno Haible +2004-09-22 Bruno Haible - * modules/javaexec: New file. - * MODULES.html.sh (Java): Add javaexec. + * modules/*: Add 'License' field. + * gnulib-tool: Accept --extract-license option. + (func_get_license): New function. -2005-01-26 Bruno Haible +2004-09-21 Bruno Haible - * m4/javaexec.m4: New file, from GNU gettext. + * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4. + Reported by Simon Josefsson. -2005-01-26 Bruno Haible +2004-09-20 Paul Eggert + + * modules/inttostr (Files): Add m4/longlong.m4, since it uses + gl_AC_TYPE_LONG_LONG. + +2004-09-20 Paul Eggert - * lib/javaexec.sh.in: New file, from GNU gettext. - * lib/javaexec.h: New file, from GNU gettext. - * lib/javaexec.c: New file, from GNU gettext. + * config/srclist.txt: Add getsubopt.c, since libc bought our changes. -2005-01-24 Sergey Poznyakoff +2004-09-18 Simon Josefsson + and Paul Eggert - * modules/lchown (Depends-on): Remove lchown.h + * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal + calls with autoreconf. Define GL_LIB. -2005-01-24 Sergey Poznyakoff +2004-09-14 Karl Berry - * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H - must be defined if the header file was not found, in order - to provide a replacement. Reported by Todd Vierling + * config/srclist.txt: unsync setenv.c, sigh. -2005-01-24 Sergey Poznyakoff +2004-09-13 Paul Eggert - * lib/argp-help.c (hol_entry_help): Avoid using non-constant - initializers for struct pentry_state. - (__argp_error): Check return value of __asprintf - (__argp_failure): Translate error message + * lib/argp-pvh.c (argp_program_version_hook): Provide initial value. + Problem reported by Bruno Haible in: + http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html - * lib/argp-parse.c: Removed braces around the expansion of N_() +2004-09-13 Paul Eggert -2005-01-23 Paul Eggert + * config/srclist.txt: Comment out argp-pvh.c. - * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4, - backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4, - c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4, - clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4, - dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4, - exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4, - file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4, - free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4, - getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4, - getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4, - getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4, - gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4, - group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4, - idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4, - link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4, - makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4, - memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4, - memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4, - modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4, - path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4, - posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4, - readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4, - restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4, - savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4, - sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4, - stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4, - strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4, - strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4, - strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4, - time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4, - uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4, - unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4, - utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4, - xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4, - xstrtol.m4, xstrtoumax.m4, yesno.m4: - Use an all-permissive copyright notice, recommended by RMS. +2004-09-11 Paul Eggert -2005-01-21 Paul Eggert + * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy, + in case some system header has #define'd it. Problem reported by + Soeren D. Schulze in + . - * modules/chdir-long (Depends-on): Remove mempcpy. +2004-09-09 Karl Berry -2005-01-21 Jim Meyering + * regex.[ch]: delete from the root. These were supposed to be + synced with emacs cvs, but this has not happened for about + a year, and anyway nothing else uses emacs regex.[ch]. + bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700. + lib/regex[.ch] is untouched. - * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the - same value as for Solaris 9. +2004-09-09 Bruno Haible - * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on - component length. This included changing the parameter to be - of type `char *' rather than `char const *'. - * lib/chdir-long.h (chdir_long): Update prototype. + * modules/vasnprintf (Files): Add m4/eoverflow.m4. - * lib/openat.c (fdopendir, fstatat): New functions. - * lib/openat.h: Include headers required for use of DIR and struct - stat. - [AT_SYMLINK_NOFOLLOW]: Define. - (fdopendir, fstatat): Add prototypes. +2004-09-09 Bruno Haible -2005-01-21 Bruno Haible + * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with + modifications. + * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW. - * modules/classpath: New file. - * MODULES.html.sh (Java): Add classpath. +2004-09-08 Oskar Liljeblad -2005-01-21 Bruno Haible + * modules/xvasprintf: New file. + * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf. - * lib/classpath.h: New file, from GNU gettext. - * lib/classpath.c: New file, from GNU gettext. +2004-09-08 Oskar Liljeblad -2005-01-20 Simon Josefsson + * lib/xvasprintf.h: New file. + * lib/xvasprintf.c: New file. + * lib/xasprintf.c: New file. - * modules/version-etc-fsf: New file. +2004-09-08 Bruno Haible -2005-01-20 Simon Josefsson + * m4/stdint.m4: New file, taken from GNU clisp with modifications. - * lib/version-etc-fsf.c: New file, with version_etc_copyright. - * lib/version-etc.c: Remove version_etc_copyright. - * lib/version-etc.h (version_etc_copyright): Use [] instead of * in - prototype, suggested by Paul Eggert . +2004-09-08 Bruno Haible -2005-01-20 Simon Josefsson + * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting + length is > INT_MAX. + * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any + more. - * lib/base64.h (isbase64): Add. +2004-09-08 Bruno Haible - * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of - using a unsigned prototype, don't inline. - (base64_decode): Use it. + * lib/stdint_.h: New file, taken from GNU clisp. -2005-01-20 Paul Eggert +2004-09-08 Bruno Haible + Oskar Liljeblad - * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume - it. + * modules/stdint: New file. + * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint. -2005-01-20 Paul Eggert +2004-08-19 Paul Eggert - * lib/save-cwd.c (save_cwd): Remove code to support the case - where fchdir is missing or flaky. + Import from coreutils. + * lib/userspec.c: Don't use , so that we don't use alloca on + strings on unbounded length. alloca's performance benefits aren't + that important here. + (V_STRDUP): Remove. + (parse_with_separator): New function, with most of the internals + of the old parse_user_spec. Allow user to omit both user and group, + for compatibility with FreeBSD. + Clone only the user name, not the entire spec. + Do not set *uid, *gid unless entirely successful. + Avoid memory leak in some failing cases. + Fix regression for USER.GROUP reported by Dmitry V. Levin in + + (parse_user_spec): Rewrite to use parse_with_separator. -2005-01-20 Paul Eggert +2004-08-19 Paul Eggert - * MODULES.html.sh (Command-line arguments): Add version-etc-fsf. + * modules/userspec: Don't depend on alloca. -2005-01-19 Paul Eggert +2004-08-19 Paul Eggert - * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h; - AC_LIBSOURCES now does this. - * MODULES.html.sh (Sizes of integer types ): New element, - with new ullong_max module. + * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA. -2005-01-19 Bruno Haible +2004-08-17 Paul Eggert - * modules/sh-quote: New file. - * MODULES.html.sh (Executing programs): Add sh-quote. + * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise, + readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check, + utimecmp, utimens, xnanosleep. Rename sha to sha1. -2005-01-19 Bruno Haible +2004-08-16 Simon Josefsson - * lib/sh-quote.h: New file, from GNU gettext. - * lib/sh-quote.c: New file, from GNU gettext. + * gnulib-tool: Use sed instead of autoconf --trace, inspired by + libtoolize behaviour by "Gary V. Vaughan" . + Add --dry-run for --import. + Let user provided command line parameters override configure.ac + settings. -2005-01-18 Paul Eggert +2004-08-12 Simon Josefsson - Merge from coreutils. - * m4/ullong_max.m4: New file. - * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX. - (gl_MACROS): Assume localeconv exists. + * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro, + as discussed with Paul Eggert in threads rooted at + + and + . + Before, the test was empty, and relied on ELIDE_CODE in source + code.) + (gl_PREREQ_GETOPT): New macro. + (gl_GETOPT): Use them. -2005-01-18 Paul Eggert +2004-08-12 Simon Josefsson - Merge changes from coreutils, as described below in several - changelogs dated today. + * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack. + * lib/getopt_.h: Renamed from getopt.h. - * lib/save-cwd.c: Include "save-cwd.h" before other include files. - (O_DIRECTORY): Remove; not needed here, since "." must be - a directory. All uses removed. - (save_cwd): Use __sgi || __sun, not sun || __sun. __sun is - universal on Suns, and we also need to test for IRIX. - Revamp code to use 'if' rather than '#if'. - Avoid unnecessary comparison of cwd->desc to 0. +2004-08-12 Simon Josefsson - * lib/utimens.c (futimens): Robustify the previous patch, by checking - for known valid error numbers rather than observed invalid ones. + * gnulib-tool: Add --source-base, --m4-base, --libtool options. + Change default library name from libfoo to libgnu. + Now, if you have a configure.ac that says: + gl_SOURCE_BASE(gl) + gl_M4_BASE(gl/m4) + gl_MODULES(error getopt etcetera) + gl_INIT + you can import all you need by running: + ../gnulib/gnulib-tool --import -2005-01-18 Paul Eggert + * modules/getopt (Files): Rename getopt.h to getopt_.h. + (Makefile.am): Rewrite, use logic from argz. + (Include): Use instead of "getopt.h". - * modules/ullong_max: New file. +2004-08-12 Paul Eggert - * modules/chdir-long, modules/openat: New files. - * modules/save-cwd (Depends-on): Depend on chdir-long. - (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES. + * modules/argp (Files): Add m4/unlocked-io.m4. + (Depends-on): Add extensions. -2005-01-18 Jim Meyering +2004-08-12 Paul Eggert - Merge from coreutils. - * m4/chdir-long.m4, m4/openat.m4: New files. - * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c, - save-cwd.h. Add AC_LIBOBJ for save-cwd. - * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown - is sane and DOES follow symlinks. Besides, testing 20 different - systems found no broken chown implementations. - Prompted by a change in rsync's copy of this macro. - * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG. + * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody + uses HAVE_ARGP_H or HAVE_ARGP_PARSE. + Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS. + Check for program_invocation_name, program_invocation_short_name, + flockfile, funlockfile, features.h, _getopt_long_only_r. - * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES. +2004-08-12 Paul Eggert - * m4/utimes.m4: Work around tests/touch/empty-file failure on a system - (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes' - NULL-means-set-to-current-time semantics. - Remove temporary file immediately, rather than waiting - for configure's at-exit trap code to do it. + * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of + its complicated substitute. + * lib/argp-help.c: Include , for program_invocation_short_name + and program_invocation_name. + (__argp_basename) [!_LIBC]: Remove; the only use was + replaced by its body. + (__argp_short_program_name): Change condition from + !defined __argp_short_program_name to + ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME), + to match argp-namefrob.h. + (__argp_failure): Don't assume strerror_r returns char *. + * lib/argp-parse.c (N_): Define unconditionally. + (argp_default_options): Fill out initializers with 0 to avoid + gcc warnings. -2005-01-18 Jim Meyering +2004-08-12 Paul Eggert - * lib/version-etc.c (version_etc_copyright): Update copyright date. + * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h), + getopt1.c. - * lib/utimens.c (futimens): Account for the fact that futimes - can also fail with errno == ENOSYS or errno == ENOENT. - Patch from Dmitry V. Levin. +2004-08-11 Paul Eggert - Change the name of the robust chdir function from chdir to chdir_long. - * lib/save-cwd.c: Include chdir-long.h rather than chdir.h. - (restore_cwd): Use chdir_long, not chdir. - * lib/chdir-long.c: Renamed from chdir.c. - * lib/chdir-long.h: Renamed from chdir.h. - [!defined PATH_MAX]: Define chdir_long to chdir on systems like the - Hurd. + Merge from coreutils. -2005-01-18 Bruno Haible + * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy. - * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4: - * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4: - * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4: - * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4: - * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4: - * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4: - * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4: - * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4: - * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4: - * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4: - * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4: - * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4: - * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4: - * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4: - Use an all-permissive copyright notice, recommended by RMS. + * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require + gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T. -2005-01-18 Bob Proulx +2004-08-11 Paul Eggert - * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to - simplify offsetof() macro construct to avoid compile failure with - native HP-UX 11.0 ANSI C compiler. + Merge from coreutils. -2005-01-17 Bruno Haible + * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing + wmemchr or wmemcpy. Problem reported by Robert Dahlem + for Reliant Unix 5.43. - * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming, - redundant because stpncpy.m4 takes care of it. + * lib/obstack.c: Include and if available. + (union fooround): Use uintmax_t, not long int. + The rest is a merge from libc: + [defined _LIBC]: Include . + (_obstack) [defined _LIBC]: Remove after 2.3.4. -2005-01-17 Bruno Haible + * lib/settime.c (settime): Recode to avoid warning with + Sun Forte C 6U2. - * lib/progreloc.c: Include xalloc.h instead of xmalloc.h. + * lib/strverscmp.c: Convert to UTF-8. -2005-01-17 Bruno Haible +2004-08-11 Paul Eggert - * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be - used. + * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4, + m4/uintmax_t.m4. -2005-01-17 Bruno Haible +2004-08-09 Paul Eggert - * lib/fwriteerror.h (fwriteerror): Change specification to include - fclose. - * lib/fwriteerror.c: Include . - (fwriteerror): At the end, close the file stream. Record whether - stdout was already closed. + * modules/xalloc-die: New file. + * modules/xalloc: Remove dependencies on error, gettext, exitfail. -2005-01-17 Bruno Haible + * modules/md5 (Files): Add m4/uint32_t.m4. + * modules/sha1: Renamed from modules/sha. + (Files): + Rename lib/sha.h to lib/sha1.h. + Rename lib/sha.c to lib/sha1.c. + Rename m4/sha.m4 to m4/sha1.m4. + (lib_SOURCES): Likewise. + (configure.ac): Rename gl_SHA to gl_SHA1. + (Include): sha.h -> sha1.h. - * lib/execute.c (environ): Declare if needed. - * lib/pipe.c (environ): Likewise. - Reported by Michael Schloh von Bennewitz . +2004-08-09 Paul Eggert -2005-01-11 Sergey Poznyakoff + * m4/uint32_t.m4, m4/uintptr_t.m4: New files. + * m4/sha1.m4: Renamed from sha.m4. + (gl_SHA1): Renamed from gl_SHA. All uses changed. - * modules/argp: Depend on vsnprintf +2004-08-09 Paul Eggert -2005-01-10 Jim Meyering + * lib/obstack.h (obstack_empty_p): + Don't assume that chunk->contents is suitably aligned. + * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk): + Likewise. Problem reported by Benno in + . - * modules/closeout (Depends-on): Add atexit. + * lib/chown.c (rpl_chown): Work even if the file is writeable but not + readable. This could be improved further but it'd take some work. -2005-01-06 Bruno Haible +2004-08-08 Simon Josefsson - * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here. + * modules/xgethostname (Depends-on): Remove exit and error (not + used). -2005-01-04 Paul Eggert + * modules/getpass-gnu: Add getpass.h. + (Depends-on): Add stdbool. + * modules/getpass: Add getpass.h. - * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional - definitions to be after all include files, to avoid collisions. - Problem reported by Bob Proulx. +2004-08-08 Simon Josefsson -2005-01-04 Jim Meyering + * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): + Check getpass declaration. - Changes imported from coreutils. - * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX" - as the mkstemp template, use a temporary directory and an - 8.3-friendly template to avoid trouble on systems like DJGPP. - Reported by Juan M. Guerrero via Stepan Kasal. - * m4/(gl_FUNC_MKSTEMP): Include for the declaration of - close. Remove the temporary directory right away, rather than waiting - for configure's at-exit trap code to do it. - Suggestion from Stepan Kasal. +2004-08-08 Simon Josefsson -2005-01-01 Simon Josefsson + * lib/xgethostname.c: Don't include error.h (not used). - * gnulib-tool: Print #include directives when --import'ing. + * lib/getpass.h: Add. + * lib/getpass.c: Include getpass.h first. -2004-12-28 Simon Josefsson +2004-08-08 Paul Eggert - * tests/test-base64.c: Include required header files. Remove - unused variables. + * lib/xalloc-die.c: New file. + * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove. + All uses removed. + * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted): + Likewise. Move inclusions of gettext.h, error.h, exitfail.h to + xalloc-die.c. + (_, N_, xalloc_die): Move to xalloc-die.c. + * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup, + so that we needn't mess with xalloc_msg_memory_exhausted. -2004-12-28 Paul Eggert + * lib/sha1.h: Renamed from sha.h. + (SHA1_H): Renamed from _SHA_H. + (sha1_ctx): Renamed from sha_ctx. + (sha1_init_ctx): Renamed from sha_init_ctx. + (sha1_process_block): Renamed from sha_process_block. + (sha1_process_bytes): Renamed from sha_process_bytes. + (sha1_finish_ctx): Renamed from sha_finish_ctx. + (sha1_read_ctx): Renamed from sha_read_ctx. + (sha1_stream): Renamed from sha_stream. + (sha1_buffer): Renamed from sha_buffer. + * lib/sha1.c: Likewise; renamed from sha.c. + Do not include . + Include rather than . - * modules/error (Depends-on): Remove gettext. +2004-08-08 Bruno Haible -2004-12-28 Paul Eggert + * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from + FILESYSTEM_PREFIX_LEN. + * lib/progreloc.c: Likewise. + * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN. - * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h"; - not needed. This removes a dependency on the gettext module. - [defined _LIBC]: Do not include ; not needed. +2004-08-06 Simon Josefsson -2004-12-24 Paul Eggert + * modules/progname (Depends-on): Don't depend on stdbool. - * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro. - (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold). +2004-08-06 Simon Josefsson -2004-12-24 Paul Eggert + * modules/getsubopt: New file. + * MODULES.html.sh (Support for systems lacking POSIX:2001): Add + getsubopt. - * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not - HAVE_DECL_STRTOLD. +2004-08-06 Paul Eggert -2004-12-23 Paul Eggert + More merge from coreutils. - * modules/getdate (Depends-on): Remove alloca-opt. + * m4/utimens.m4, m4/utimecmp.m4: New files. + * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4, + fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4, + prereq.m4, sha.m4: Import changes from coreutils. -2004-12-23 Paul Eggert +2004-08-06 Paul Eggert - * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA. + More merge from coreutils. + * modules/raise, modules/readtokens0, modules/utimens: + * modules/utimecmp, module/xnanosleep: New files. + * modules/strftime: Add lib/strftime.h. + Change include from to "strftime.h". + * modules/yesno: Add lib/yesno.h. + * modules/backupfile: Remove lib/addext.c. + * modules/euidaccess: Add stat-macros.h. + * modules/canonicalize, modules/euidaccess, + modules/filemode, modules/lchown, modules/makepath, + modules/rmdir, modules/stat: Likewise. -2004-12-23 Paul Eggert +2004-08-06 Paul Eggert - * lib/argp-parse.c: Include . - (alignof, alignto): New macros. - (parser_init): Don't assume that void * is aligned sufficiently - for struct option. + Merge from tar. + * lib/argp-help.c (make_hol, hol_append): Don't assume that + SIZE_MAX is a valid preprocessor constant. + (__argp_basename): Change from "#ifndef _LIBC" + to "#ifndef __argp_short_program_name", so that + we don't compile these functions for tar. - * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no - need to extend the stack. - (YYINITDEPTH): New macro, so that the initial stack isn't overly - large. + More merges from coreutils. + * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h: + * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c: + * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files. + * lib/addext.c: Remove; no longer needed. + * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h, + lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c, + lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c, + lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c, + lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y, + lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c, + lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c, + lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h, + lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c, + lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c, + lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h, + lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c, + lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c, + lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c, + lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c, + lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h, + lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c: + Import changes from coreutils. -2004-12-22 Sergey Poznyakoff +2004-08-05 Simon Josefsson - * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers. + * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it. -2004-12-19 Paul Eggert +2004-08-05 Simon Josefsson - * modules/regex (lib_SOURCES): Remove regex.c, undoing previous - (2004-10-24) change. Apparently this was a false alarm. + * m4/getsubopt.m4: New file. - * modules/getdate: Depend on alloca-opt, not alloca. +2004-08-05 Paul Eggert -2004-12-19 Paul Eggert + Merge from coreutils. - * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H. - Remove now-obsolete comment about AIX. - * lib/getdate.y: Include only if HAVE_ALLOCA. - (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA. - (YYMAXDEPTH): New macro. + * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4: + * m4/getcwd-path-max.m4: New files. -2004-12-18 Simon Josefsson + * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming. + FILESYSTEM_PREFIX_LEN -> + FILE_SYSTEM_PREFIX_LEN. + FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX -> + FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX. + FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR -> + FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR. - * modules/alloca: Depend on alloca-opt, instead of duplicating it. + * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the + prerequisite modules now handle the DOS stuff. + Don't check for unistd.h. -2004-12-18 Bruno Haible +2004-08-05 Paul Eggert - * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction. + Merge from coreutils. -2004-12-18 Bruno Haible + * lib/.gdb-history: Remove; this doesn't belong here. - * lib/fatal-signal.c (fatal_signals): Make non-const. - (init_fatal_signals): New function. - (uninstall_handlers, install_handlers): Ignore signals that were set to - SIG_IGN. - (at_fatal_signal): Call init_fatal_signals. - (init_fatal_signal_set): Likewise. Ignore signals that were set to - SIG_IGN. - Reported by Paul Eggert. + * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c: + * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h: + * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c: + * lib/getcwd.c: New files. -2004-12-18 Bruno Haible + * lib/dirname.h: Include . + (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN, + for consistency with POSIX terminology. All uses changed. + (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros. + (strip_trailing_slashes): Use bool for booleans. + * lib/stripslash.c (strip_trailing_slashes): Likewise. - * doc/alloca.texi: New file. - * doc/alloca-opt.texi: New file. + * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it + sometimes returns a positive errno value even when it succeeds. + (print_errno_message) [!LIBC]: Fall back on strerror if + __strerror_r fails. -2004-12-17 Jim Meyering + * lib/path-concat.c (mempcpy): Don't define if a system header defines + it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h. + (longest_relative_suffix): New function. + (path_concat): Use it. Assume first argument is not NULL. + Port to DOS. Omit redundant separators. + Report an error instead of returning NULL. + Use mempcpy instead of memcpy. + (xpath_concat): Remove: not declared or used. - * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'. - Otherwise, install-sh could exit with improper exit status when - exiting via a trapped interrupt. Thanks to a report from Bob Proulx. + * lib/same.h: Include + (same_name): Return bool, not int. + * lib/same.c (same_name): Likewise. + (errno): Don't declare; we assume C89 or better now. -2004-12-16 Simon Josefsson + * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros, + if not already defined. - * tests/test-base64.c: Add license. + * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now. + * lib/dup-safer.c (errno): Likewise. -2004-12-15 Stepan Kasal +2004-08-05 Paul Eggert - * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command. + Merge from coreutils. + * modules/c-strtod, modules/c-strtold, modules/canonicalize: + * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files. + * modules/path-concat: Don't depend on strdup. -2004-12-12 Paul Eggert +2004-08-03 Simon Josefsson - * modules/getcwd (Files): Add m4/d-ino.m4. - Suggested by Mark D. Baushke. + * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined. + * lib/progname.h: Don't include stdbool.h. -2004-12-08 Paul Eggert +2004-08-03 Paul Eggert - * lib/getdate.y (textint): New member "negative". - (time_zone_hhmm): New function. - Expect 14 shift-reduce conflicts, not 13. - (o_colon_minutes): New rule. - (time, zone): Use it to add support for +HH:MM, UTC+HH:MM. - (yylex): Set the "negative" member of signed numbers. + * modules/fatal: Remove, as the "fatal" module wasn't used or working. + * MODULES.html.sh (func_all_modules): Remove fatal. -2004-12-08 Paul Eggert +2004-08-03 Paul Eggert - * doc/getdate.texi (Time of day items, Time zone items): - Describe new formats +00:00, UTC+00:00. + * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working. -2004-12-07 Paul Eggert +2004-08-03 Paul Eggert - * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change: - spurious "-l"s. Problem reported by Stepan Kasal. + * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or + working. -2004-12-06 Paul Eggert +2004-08-02 Simon Josefsson - * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug - in Autoconf 2.59. Problem reported by Mark D. Baushke. + * lib/getsubopt.h: New file, with comments from Bruno Haible. + * lib/getsubopt.c: New file, from glibc, but slightly modified based on + suggestions from Paul Eggert . -2004-12-04 Simon Josefsson +2004-08-01 Simon Josefsson - * modules/getaddrinfo (License): Add LGPL, reported by Yoann - Vandoorselaere . + * lib/xgetdomainname.c: Include stdlib.h, for free(). -2004-12-04 Paul Eggert +2004-07-19 Bruno Haible - Changes imported from coreutils. - * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale - exist. - * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist. + * MODULES.html.sh (func_all_modules): Add dummy. -2004-12-04 Paul Eggert +2004-07-16 Simon Josefsson - Changes imported from coreutils. - * lib/hard-locale.c: Assume exists. - Include "strdup.h". - (GLIBC_VERSION): New macro. - (hard_locale): Assume setlocale exists. - Rewrite to avoid #ifdef. - Use strdup rather than malloc + strcpy. - * lib/human.c: Assume exists. - (human_readable): Assume localeconv exists. + * modules/dummy: New file. -2004-12-04 Paul Eggert +2004-07-16 Simon Josefsson - * modules/hard-locale (Depends-on): Add strdup. + * lib/dummy.c: New file. -2004-12-01 Jakub Jelinek +2004-07-16 Bruno Haible - * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC, - convert T2, not T. (Imported from libc.) + * lib/backupfile.h: Add extern "C" for C++. + * lib/closeout.h: Likewise. + * lib/copy-file.h: Likewise. + * lib/findprog.h: Likewise. + * lib/full-write.h: Likewise. + * lib/pathname.h: Likewise. + * lib/progname.h: Likewise. + * lib/stpcpy.h: Likewise. + * lib/stpncpy.h: Likewise. + * lib/strcase.h: Likewise. + * lib/strstr.h: Likewise. + * lib/xalloc.h: Likewise. -2004-11-30 Simon Josefsson + * lib/mbswidth.h: Add extern "C" for C++. + Reported by Albert Chin-A-Young . - * modules/restrict (License): Change to LGPL. +2004-07-13 Robert Millan -2004-11-30 Simon Josefsson + * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g. - * m4/restrict.m4: Add copyright and copying conditions. +2004-07-09 Simon Josefsson -2004-11-30 Simon Josefsson + * lib/getndelim2.c: Include stddef.h, for ptrdiff_t. (FreeBSD 4.9 + failed without this.) - * m4/base64.m4: New file. +2004-07-09 Paul Eggert -2004-11-30 Simon Josefsson + * modules/chown (Files): Add lib/fchown-stub.c, since + gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub). - * MODULES.html.sh (Extra functions based on ANSI C 89): Add - base64. +2004-07-09 Paul Eggert - * tests/test-base64.c: New file. + * lib/fchown-stub.c: New file. - * modules/base64: New file. +2004-06-24 Jim Meyering -2004-11-30 Paul Eggert + * lib/obstack.h (obstack_base): Cast to (void *), per documentation. - * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): - Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working. +2004-06-22 Paul Eggert - * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h. + * modules/argz: Omit "#include". -2004-11-30 Paul Eggert + * MODULES.html.sh (func_all_modules): Add calloc, to match + 2004-06-01 addition of calloc module. - * lib/getcwd.c (is_ENAMETOOLONG): New macro. - (__getcwd.c): Don't restore errno; glibc doesn't. - [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd - first, falling back to our code only if its results look suspicious. - Ensure that the resulting buffer is only as large as necessary. +2004-06-22 Paul Eggert - * lib/readutmp.c: Include readutmp.h first. - Include , since readutmp.h no longer does that. - * lib/readutmp.h: Don't include , - , ; not needed to establish interface. - (errno): Remove decl. - (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed. - (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME, - UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros. + * m4/argz.m4: New file, which is autoupdated from libtool. -2004-11-28 Simon Josefsson +2004-06-22 Paul Eggert - * lib/base64.h, base64.c: New file. + * lib/argz.c, lib/argz_.h: New files, which are autoupdated from + libtool. -2004-11-27 Paul Eggert +2004-06-22 Paul Eggert - * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25. + * config/srclist-update: Don't insist on "USA." before the + close-comment, as libtool omits the period and puts the */ on a + separate line. + * config/srclist.txt: Add argz.c, argz_.h, argz.m4. + * config/srclistvars.sh: Add LIBTOOL (for eggert only). -2004-11-26 Paul Eggert +2004-06-22 Gary V. Vaughan - * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4. - (Depends-on): Remove pathmax, same. Add mempcpy. - (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD. - (Makefile.am): Append getcwd.h to lib_SOURCES. - (Include): Add getcwd.h. - (Maintainer): Change from Jim Meyering to "all, glibc", - since getdate now uses intended-for-glibc code. - * modules/xgetcwd (Files): Remove m4/getcwd.m4. - (Depends-on): Depend on getcwd. Do not depend on pathmax. + * modules/argz: New file. + * MODULES.html.sh (func_all_modules): Add argz. -2004-11-25 Paul Eggert +2004-06-12 Jim Meyering + and Paul Eggert - Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using - HP's ANSI C compiler. - * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl. - Declaring int functions causes warnings on some modern systems and - shouldn't be needed to compile on ancient ones. - * lib/same.c (MIN) [defined MIN]: Don't define, since it's already - defined. + * modules/hash (Files): Add lib/xalloc.h. + * modules/pipe (Depends-on): Add wait-process. + * modules/stat (Depends-on): Add xalloc. + * modules/userspec (Files): Add lib/userspec.h. + * modules/xstrto - * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but - with the following changes. - (__set_errno): Parenthesize properly. - Include . - (MIN, MAX, MATCHING_INO): New macros. - (__getcwd): Define with prototype, not K&R form. - Use heuristics to allocate default buffer on stack if possible. - If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2) - behavior, and to avoid the PATH_MAX limit when computing - ../../../../... - Use MATCHING_INO to compare inode number to file. - Check for arithmetic overflow in size calculations. - Fix bug in reallocation of dot array that caused getcwd to fail - on directories nested deeper than 75. - Be more careful about saving errno on error. - Do not use realloc; use only free+malloc, as this is a bit - more flexible and avoids a needless copy operation. - Do not inspect st_dev and st_ino for symbolic links; POSIX - doesn't specify the latter. - Check for closedir errors. - Avoid needless casts. - Use "#ifdef weak_alias" around weak_alias, to be like other - glibc code. - The following changes to getcwd.c have effect only when used in - gnulib; they have no effect inside glibc proper. - (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove, - as alloca isn't used. - (alloca, __alloca): Likewise. - [!_LIBC]: Include "getcwd.h", "mempcpy.h". - Include , , , - unconditionally, as gnulib assumes C89 or better. - Do not include . - (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove - no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or - better. - (NULL) [!defined NULL]: Remove; we assume C89 or better. - Include in a way that is compatible with modern Autoconf. - (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN): - New macros, if not already defined. - Include if _LIBC, not if __GNU_LIBRARY__. - Use "_LIBC", not "defined _LIBC", for consistency. - (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has - a mempcpy module. - (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros. - (GETCWD_RETURN_TYPE): Remove. All uses replaced by char *. - * lib/xgetcwd.c: David MacKenzie's old code was removed, so give - credit only to Jim Meyering and adjust the copyright dates. - Do not include , , , - , , "pathmax.h". - Instead, include "xgetcwd.h" (first) and "getcwd.h". - (INITIAL_BUFFER_SIZE): Remove. - (xgetcwd): Rely on getcwd, since we now depend on a reliable one. + Upgrade from gettext-0.13. + * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4, + m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4, + m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4. -2004-11-25 Paul Eggert +2004-06-10 Jim Meyering - * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from - GL_FUNC_GETCWD_PATH_MAX for consistency. All uses changed. - Use the _ONCE methods, for efficiency. - Check for fcntl.h. In test program, include - and if available. Remove old K&R cruft from - test program. Check for common errors in GNU/Linux, - OpenBSD, and Solaris. Just set gl_cv_func_getcwd_path_max; - don't do AC_LIBOBJ, as that's getcwd.m4's job. - * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from - AC_FUNC_GETCWD_NULL. All used changed. Change cache variable - name accordingly. - (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros. Revamp to - accommodate new getcwd.c. - * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX. - * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY. - * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since - that's all we need now. + * lib/calloc.c: New file. -2004-11-23 Sergey Poznyakoff +2004-06-06 Paul Eggert - * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally: - argp-parse.c depends on getopt internals, that means we should - always use our getopt, to be on the safe side. - * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in - order not to spoil the result of an eventual previous invocation - of gl_GETOPT_SUBSTITUTE. + * lib/getdate.y (yylex): Allow space between sign and number. + Problem reported by Dan Jacobson. -2004-11-23 Sergey Poznyakoff +2004-06-01 Paul Eggert - * lib/getopt_.h: Re-addition of __getopt_argv_const caused - redefinition warnings. To avoid them, include the defines - in `#if !defined __need_getopt ... #endif'. The only place - where __getopt_argv_const is used is in definitions - of getopt_long and getopt_long_only below, which are as well - protected by `#ifndef __need_getopt'. - [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef - __need_getopt after including and These - headers might have defined it. + Merge from coreutils CVS. -2004-11-23 Paul Eggert + * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4, + makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4, + putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4, + strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4, + xstrtol.m4: Fix copyright date and/or serial number. - * m4/utimens.m4 (gl_UTIMENS): Check for futimes function. + * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h. + See if we need an fchown replacement. + (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro. + (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK, + and use the replacement function if we detect either defect. -2004-11-23 Paul Eggert + * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR, + gl_UTIMECMP. - * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros. - (futimens): New function, which uses futimes if available. - (futimens, utimens): Support timespec==NULL, with same semantics - as utime and utimens. - * lib/utimens.h (futimens): New decl. +2004-06-01 Paul Eggert + and Jim Meyering -2004-11-23 Jim Meyering + Merge from coreutils CVS. - * lib/getopt_.h: Remove trailing blanks. + * lib/stat-macros.h: New file, with contents from file-type.h + and coreutils' system.h. + * lib/file-type.c: Include "stat-macros.h". + * lib/file-type.h (file_type): Move all macro definitions to new file, + stat-macros.h. -2004-11-23 Jim Meyering + * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]: + Wrap old code with this conditional. + [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown + function that does not dereference symlinks. + * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown. - * lib/__fpending.c: Add comment. + * lib/xreadlink.c: Include xreadlink.h first, to catch .h file + dependency problems. + (xreadlink): Accept new arg SIZE, for efficiency. + All decls and uses changed. + * lib/xreadlink.h: Include , for size_t. -2004-11-22 Paul Eggert + * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h, + gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h. - * modules/canonicalize (Depends-on): Add xreadlink. - Problem reported by James Youngman. + * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h, + sysexits.h. -2004-11-20 Paul Eggert +2004-06-01 Jim Meyering - * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID): - New macros. - (getopt, getopt_long, getopt_long_only, optarg, opterr, optind, - optopt): Use them instead of invoking ## directly; otherwise, the - symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt. + * m4/calloc.m4: New file. -2004-11-19 Bruno Haible +2004-05-31 Paul Eggert - * lib/strtok_r.c: Move comments from here... - * lib/strtok_r.h: ... to here. + * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI + C B3910B A.05.55 [Dec 04 2003]. Problem reported by Jim Meyering. + Also, fix a typo in a diagnostic. -2004-11-17 Paul Eggert +2004-05-30 Paul Eggert - * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc - implementations that mishandle size_t overflow. + * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC + or AC_FUNC_REALLOC. -2004-11-17 Paul Eggert +2004-05-30 Paul Eggert - * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc - might fail. Problem reported by Yoann Vandoorselaere. - * lib/calloc.c (rpl_calloc): Defend against buggy calloc - implementations that mishandle size_t overflow. + * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these + macros to be defined. + (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if + the allocator returns NULL because the requested size is zero. -2004-11-16 Paul Eggert +2004-05-20 Paul Eggert - * modules/canon-host (Depends-on): Add strdup. + * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this + var. Add comment explaining why libc still defines it. This + merges the following patch from glibc: + http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html -2004-11-16 Paul Eggert +2004-05-20 Andreas Schwab - * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo. + * m4/free.m4: Replace free if it not known to work, not the other + way round. -2004-11-16 Paul Eggert +2004-05-19 Paul Eggert - * lib/canon-host.c: Include "strdup.h". - (canon_host): Use getaddrinfo if available, so that IPv6 works. - Use strdup instead of malloc/strcpy to duplicate strings. + * lib/obstack.c (_obstack): Remove unused variable. It hasn't been + present in glibc since revision 1.1 of this file. + * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast, + obstack_alignment_mask, obstack_alloc, obstack_base, + obstack_blank, obstack_blank_fast, obstack_chunk_size, + obstack_copy, obstack_copy0, obstack_finish, obstack_grow, + obstack_grow0, obstack_init, obstack_int_grow, + obstack_int_grow_fast, obstack_make_room, obstack_memory_used, + obstack_next_free, obstack_object_size, obstack_ptr_grow, + obstack_ptr_grow_fast, obstack_room): Remove declarations of + nonexistent functions. - * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit. - (human_space_before_unit): New constant. - * lib/human.c (human_readable): Support it. +2004-05-18 Karl Berry - * lib/xgetcwd.c: Include , for PATH_MAX. - (xgetcwd): Set errno correctly when failing. - Work around Solaris 9 bug: getcwd sets errno==ERANGE even though - the failure is actually due to a PATH_MAX problem. + * config/srclist.txt: break link for vasnprintf.c. - Further getopt changes to make it more likely that glibc will - buy the changes back. - * lib/getopt.c (POSIXLY_CORRECT): New constant. - (getopt): Use it, so to preserve glibc semantic - * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const * - when compiling for libc. - * lib/getopt_.h (__getopt_argv_const): Bring it back. - (getopt_long, getopt_long_only): Use it. +2004-05-17 Paul Eggert - * lib/getopt.c (_getopt_initialize, _getopt_internal_r, - _getopt_internal): New arg POSIXLY_CORRECT. All callers changed. - (getopt): Argv is now char * const *, as per standard. - (_getopt_internal_r, _getopt_internal): Argv is now char **, - not char *__getopt_argv_const *. - * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only, - _getopt_long_only_r): Likewise. - * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise. - * lib/getopt_int.h (_getopt_internal, _getopt_internal_r, - _getopt_long_r, _getopt_long_only_r): Likewise. - * lib/getopt_.h (__getopt_argv_const): Remove. - (getopt): Argv is now char * const *, as per standard. + Port obstack to the AS/400, where pointers are 16 bytes wide and + you cannot cast an integer to a valid pointer. This patch is + currently waiting to be integrated into glibc; see + . + + * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove. + All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN. + (__BPTR_ALIGN, __PTR_ALIGN): New macros. + (struct obstack): temp member is now a union of a pointer and + an integer, instead of an integer. All integer uses changed. + This does not affect the physical layout of struct obstack, + except on hosts (like the AS/400) where the size or alignment of + void * is greater than that of ptrdiff_t. + (obstack_finish) [! (defined __GNUC__ && defined __STDC__ && + __STDC__)]: Store temporary in pointer member of union, not + integer member. + * lib/obstack.c: Include , for offsetof. + (struct fooalign): Remove; it doesn't need a name. + (union fooround): Change double to long double, and add void *. + (DEFAULT_ALIGNMENT): Use offsetof to compute. + (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant, + not a macro. Hence the values are always int; so remove all + casts-to-int in uses. - * lib/getdate.y (tORDINAL): New token. - (day, relunit): Allow it for relative times. - (relative_time_table): Use tORDINAL for ordinals. +2004-05-17 Paul Eggert -2004-11-16 Paul Eggert + * config/srclist.txt: Break link for argp-help.c and argp-parse.c until + we can get this patch merged into glibc. - * doc/getdate.texi (General date syntax): "next" is 1, not 2. - Document that "second" isn't allowed as an ordinal number. +2004-05-17 Derek R. Price + Paul Eggert -2004-11-16 Jim Meyering + * m4/argp: Depend on alloca. - * modules/closeout (Depends-on): Add fpending. +2004-05-17 Derek R. Price + Paul Eggert -2004-11-15 Jim Meyering + * lib/argp-help.c, argp-parse.c: Assume rather than + freecoding. - * lib/closeout.c: Include "__fpending.h" once again. - Include . - (close_stdout): Don't fail just because stdout was closed initially, - since some programs don't write to stdout in the normal course of - operation (other than --version and --help), and we don't want this - function to make e.g. `touch file >&-' fail. - But do fail if it was closed and someone has tried to write to it. - E.g., `printf foo >&-' must fail. +2004-05-17 Bruno Haible -2004-11-13 Jim Meyering + * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a + precision that consists of a '.' followed by an empty digit string. + Patch by Tor Lillqvist . - * m4/jm-macros.m4: Do require gl_FUNC_FPENDING. +2004-05-16 Paul Eggert -2004-11-12 Simon Josefsson + * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always, + for backward compatibility with older code. We need our own + alloca.h if _AIX is defined. Define HAVE_ALLOCA if we discover + it under some other name, and our alloca.h will define it. - * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a - small doc fix is still pending. +2004-05-16 Paul Eggert + Derek Price -2004-11-11 Simon Josefsson + * lib/alloca.c: Include , to get our interface. + * lib/alloca_.h: Use __alloca on AIX, so that we don't have to + include first. Use C89 prototype for alloca; this + requires including for size_t. Use extern "C" if C++. + Use #elif for simplicity, since we can assume C89 now. + Don't try to source the system alloca.h since it will not be found + and to prevent recursively including its replacement. + * lib/fnmatch.c: Include instead of opencoding. + * lib/regex.c: Likewise. - * modules/strtok_r: New file. +2004-05-16 Derek Price + Paul Eggert - * MODULES.html.sh (Support for systems lacking POSIX:2001): Add - strtok_r. + getline cleanup. This changes the getndelim2 API: both order of + arguments, and meaning of delim2 (now uses EOF, not 0, to indicate + no delimiter). -2004-11-11 Simon Josefsson + * lib/getline.c: Don't include stddef.h or stdio.h, since our + interface does that. + (getline): Always use getdelim, so that we don't have two + copies of this code. + * lib/getndelim2.c: Include , , + if available. + (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined. + (GETNDELIM2_MAXIMUM): New macro. + (getndelim2): Reorder arguments. delim==EOF now means no delimiter, + instead of the old practice of delim2==0. All callers changed. + Return -1 on overflow, instead of returning junk. + Do not set *linesize unless allocation succeeds. + * lib/getndelim2.h: Do not include stddef.h; no longer needed, now + that we include sys/types.h. + * lib/getnline.h: Likewise. + * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro. + (getndelim2): Reorder arguments. + * lib/getnline.c (getnline, getndelim): + Don't discard the NMAX argument. + (getnline): Invoke getndelim, to avoid code duplication. + * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead + of (size_t) -1 by callers of the getnline family. - * m4/strtok_r.m4: New file. +2004-05-13 Paul Eggert - * m4/getopt.m4: Replace opterr. + * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC. + Check for gettimeofday. + * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC. + Check for settimeofday, stime. -2004-11-11 Simon Josefsson +2004-05-13 Paul Eggert - * lib/strtok_r.h, strtok_r.c: New file. + * lib/nanosleep.c (suspended): Change its type from int to + sig_atomic_t volatile. + (first_call): Make it private to rpl_nanosleep, and have it + be zero initially as that's a bit faster. + (my_usleep): Round up fractional times instead of truncating them, + as this is the usual meaning for 'sleep'. -2004-11-11 Paul Eggert + * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday' + doesn't work. + * lib/settime.c: Include , for stime (on Solaris 8, anyway). + (ENOSYS): Define if not defined. + (settime): Fall back on stime if it exists and settimeofday fails. + But don't bother with fallbacks if a method fails with errno == EPERM. - * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead - of replacing opterr, getopt, etc. This should handle the - powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson. +2004-05-11 Jim Meyering -2004-11-11 Paul Eggert + Prior to this change, the save_cwd caller required read access to the + current directory on most systems (ones with the fchdir function). - * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that - we can stop lying to compilers about the constness of argv when we - are compiled outside glibc. - (getopt, getopt_long, getopt_long_only): Use it. - * lib/getopt.c (_getopt_initialize, _getopt_internal_r, - _getopt_internal, getopt): Likewise. - * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only, - _getopt_long_only_r): Likewise. - * lib/getopt_int.h (_getopt_internal, _getopt_internal_r, - _getopt_long_r, _getopt_long_only_r): Likewise. + * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only + fails, try write-only, and finally, resort to using xgetcwd. - * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]: - Include and , and if available. - Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for - the other external symbols. - (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style - declaration, since the above renaming now works around collisions. +2004-05-06 Paul Eggert -2004-11-11 Jim Meyering + * lib/obstack.c, obstack.h: Import changes from libc. - * lib/linebreak.c: Remove trailing blanks. - * lib/alloca_.h: Likewise. - * lib/acosl.c: Likewise. - * lib/euidaccess.c: Likewise. - * lib/allocsa.h: Likewise. +2004-04-28 Bruno Haible -2004-11-10 Simon Josefsson + * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it + also implicitly appends .exe to executables. + * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now + accepts Windows pathnames. + * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN): + Treat Cygwin like Windows, since it now accepts Windows pathnames. + * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN): + Treat Cygwin like Windows, since it now accepts Windows pathnames. + Reported by Derek Robert Price . - * m4/getaddrinfo.m4: New file. +2004-04-21 Karl Berry -2004-11-10 Simon Josefsson + * config/srclist.txt (localcharset.c): break sync. - * lib/getaddrinfo.h, lib/getaddrinfo.c: New files. +2004-04-20 Paul Eggert -2004-11-10 Simon Josefsson + * m4/host-os.m4: Add a copyright notice. - * MODULES.html.sh (Support for systems lacking POSIX:2001): Add - getaddrinfo. +2004-04-20 Jim Meyering - * modules/getaddrinfo: New file. + Change UTILS_ to gl_ in AC_DEFINE'd names. + Change utils_- and jm_-prefixed variables, too. + * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from + UTILS_FUNC_MKDIR_TRAILING_SLASH. + * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP. -2004-11-10 Paul Eggert + * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD. + Don't emit trailing blanks. + Also rename jm_-prefixed variables to have gl_ prefix. - * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV. + * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS. + Also rename jm_-prefixed variables to have gl_ prefix. -2004-11-10 Paul Eggert + * m4/jm-macros.m4: Reflect the renamings. + * m4/prereq.m4: Likewise. - * lib/mktime.c (SHR): New macro, which is a portable - substitute for >> that should work even on Crays. - (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it. - Problem reported by Mark D. Baushke in - . - * lib/getdate.y (SHR): Likewise. - (tm_diff): Use it. - * lib/strftime.c (SHR): Likewise. - (tm_diff): Use it. - * lib/quotearg.c (struct quoting_options): Use unsigned int for - quote_these_too, so that right shifts are well defined. All uses - changed. +2004-04-20 Jim Meyering -2004-11-10 Jim Meyering + * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak + memory. - Ensure that no close failure goes unreported. - * lib/closeout.c (close_stdout): Always close stdout. I.e., don't - return early when it seems there's nothing to flush. - Don't include __fpending.h. +2004-04-20 Jim Meyering + Bruno Haible -2004-11-10 Jim Meyering + * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak + memory when realloc fails. - * modules/closeout (Depends-on): Remove fpending. +2004-04-19 Jim Meyering -2004-11-10 Jim Meyering + * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE, + now that readutmp.c may call `free (0)'. - * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING. +2004-04-19 Bruno Haible -2004-11-09 Paul Eggert + * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well. + * m4/inttypes_h.m4: Likewise. + * m4/stdint_h.m4: Likewise. + * m4/intmax_t.m4: Likewise. + * m4/uintmax_t.m4: Likewise. - * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove. Move its body to - gl_FUNC_STRFTIME. - (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE - and AC_REQUIRE when possible, to avoid duplicate checks. - Check for . +2004-04-18 Jim Meyering -2004-11-09 Paul Eggert + * m4/prereq.m4: Don't forbid jm_ prefix. - * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too. + * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4: + * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4: + * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4: + * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4: + * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4: + * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4: + * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4: + * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4: + * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4: + * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4: + * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4: + * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4: + * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4: + * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4: + * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4: + * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4, + * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4: + * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4: + Change jm_ to gl_ in AC_DEFINE'd names. Update all uses. + +2004-04-18 Jim Meyering + + * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc + failure, don't leak memory and do call END_UTMP_ENT. -2004-11-09 Bruno Haible +2004-04-16 Jim Meyering - * m4/sockpfaf.m4: New file. + * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro. It is specific to + coreutils' stat program. + (gl_PREREQ): Don't require jm_PREREQ_STAT. -2004-11-05 Bruno Haible +2004-04-11 Paul Eggert - * lib/readlink.c: Include stddef.h, needed for size_t on Woe32. - Reported by Mark D. Baushke . + * lib/inttostr.h: Include unconditionally, since we assume + C89. + (CHAR_BIT): Remove, since we assume C89. + Include if available, as per current Autoconf CVS advice. -2004-11-04 Bruno Haible +2004-03-31 Jim Meyering - 2004-09-11 Bruno Haible - * allocsa.valgrind: New file. - 2004-02-06 Bruno Haible - * allocsa.h (sa_alignof): Define differently with HP-UX cc, to - avoid a bug of this cc on HP-UX 10.20 dealing with enums. - Reported by Christopher Seip . + * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC. + Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC. + * m4/xalloc.m4: Likewise. -2004-11-04 Bruno Haible +2004-03-30 Paul Eggert - * modules/allocsa (Files): Add lib/allocsa.valgrind. - (Makefile.am): Distribute it. + Merge from coreutils. -2004-11-03 Paul Eggert + * m4/inttostr.m4: New file. + * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff. + Require AM_STDBOOL_H and gl_TIMESPEC instead. + Require gl_CLOCK_TIME. + * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE. - * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1 - with errno == ERANGE if the buffer is too small. - Problem reported by Mark D. Baushke. +2004-03-30 Paul Eggert -2004-11-03 Albert Chin - Paul Eggert + * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int + not bool, to be more consistent with Unix conventions. + Suggested by Bruno Haible. - * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t - equivalent, substitute $ac_type for equivalent type rather than - blindly using uint32_t *always* which won't work if uint32_t is not - available. Define _UINT32_T to work around typedef of uint32_t if - , , or used on Solaris - 2.5.1. + Merge from coreutils. -2004-11-02 Paul Eggert + * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c: + * lib/umaxtostr.c: New files. - * m4/jm-macros.m4: Sync from coreutils. - (gl_MACROS): Check for mbrlen, for pathchk. - (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk. + * lib/getdate.h: Include stdbool.h, and timespec.h instead of + the usual dance. + (get_date): Change signature to support fractional time stamps. + All callers changed. + * lib/getdate.y: Include "getdate.h" first, as we can now + assume C89 and don't need to worry about 'const'. + Similarly, include "unlocked-io.h" near start, not in middle. + Include . + (textint.value): Use long int rather than int. + (textint.digits): Use size_t rather than int. + (BILLION, LOG10_BILLION): New constants. + (parser_control): New member rel_ns. Members day_ordinal, + time_zone, month, day, hour, minutes, rel_year, rel_month, + rel_day, rel_hour, rel_minutes, rel_seconds + are now long int, not int. Member seconds is now struct timespec, + not int. New member timespec_seen. Members dates_seen, days_seen, + local_zones_seen, rels_seen, times_seen, zones_seen are now size_t, + not int. + (%union.intval): Now long int, not int. + New member timespec. + (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens. + (seconds, signed_seconds, unsigned_seconds): New nonterminals. + (spec): Now is a timespec or an item list. + (timespec, items): New nonterminals. + (time, rel, relunit, number, get_date): + Add support for fractional seconds. + (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax. + (gmtime, localtime, mktime): Remove decls; not needed with C89. + (to_hour): First arg is now long int, not int. + (to_year): Returns long int, not int. + Don't treat year -70 like 70. + (tm_diff): Returns long int, not int. + (lookup_word): Use bool instead of int when appropriate. + (yylex): Use size_t for count, not int. + Detect overflow when parsing large integer constants. + Add support for fractions. + (get_date): Make pointers 'const' if possible. + Use more-portable code to detect integer overflow. + (main) [TEST]: Adjust to above changes. Test for localtime failure. + Don't use ctime; it's not reliable if the year has >4 digits. -2004-11-02 Paul Eggert + * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set. + This is for compatibility with BSD. - * lib/xreadlink.c (MAXSIZE): New macro. - (xreadlink): Use it instead of SSIZE_MAX. Ensure initial buffer - size does not exceed MAXSIZE. Avoid cast. - As suggested by Mark D. Baushke in - , - if readlink fails with buffer size just under MAXSIZE, try again - with MAXSIZE. + * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define. + (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise. + From coreutils' system.h. -2004-11-02 Paul Eggert + * lib/userspec.c: Don't include "posixver.h". + (parse_user_spec): Fall back on USER.GROUP parsing, regardless + of POSIX version, as POSIX 1003.1-2001 allows that behavior as a + compatible extension. Simplify code by removing a boolean int + that was always nonzero if a string was nonnull. - * config/srclist.txt: Add mktime.c; glibc bought all our changes. +2004-03-30 Jim Meyering -2004-11-02 Derek R. Price - and Paul Eggert + Merge from coreutils. - * lib/getdate.y [!TEST]: Include , since we use sprintf now. - (get_date): Overparenthesize to avoid GCC warning. + Avoid a configure-time warning about sys/ucred.h on OSF V4.0. + * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since + on some systems one must include before it. + Reported by Christian Krackowizer. -2004-11-02 Bruno Haible +2004-03-30 Jim Meyering - * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv() - returns void. + Merge from coreutils. -2004-11-02 Bruno Haible + * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h. - * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv() - function returns void. + * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading + an empty input stream. -2004-11-01 Paul Eggert + * lib/readtokens.c: Include . + (readtoken): Use `size_t' rather than int/long. + All callers adjusted. + Use `bool' rather than `int' where appropriate. + Use memset rather than an explicit loop. + Use x2nrealloc rather than xrealloc. + Allow the use of `\0' as a delimiter. + (readtokens): Likewise. + * lib/readtokens.h (readtoken, readtokens): Update prototypes. - * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of - fflush_unlocked, flockfile, funlockfile, funlockfile, - fputs_unlocked, putc_unlocked. +2004-03-30 Jim Meyering -2004-11-01 Paul Eggert + * m4/realloc.m4: Remove file, since now it does no more than + AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via + the `configure.ac' section of module/realloc. + * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC. - * lib/getpass.c (fflush_unlocked, flockfile, funlockfile) - (funlockfile, fputs_unlocked, putc_unlocked): Don't define if - already declared. +2004-03-30 Bruno Haible -2004-10-29 Paul Eggert + * lib/getloadavg.c (getloadavg): Don't assume setlocale returns + nonnull. - * modules/getdate (Files): Add doc/getdate.texi. - (Depends-on): Add setenv, xalloc. +2004-03-29 Paul Eggert -2004-10-29 Paul Eggert + Merge changes to getloadavg.c from coreutils and Emacs. - * lib/getdate.y: Add support for TZ="foo" within a date string. - Fix some bugs near time_t boundaries. Reject dates with - out-of-range components, e.g., "Sept 31". - Include , "setenv.h", "xalloc.h". - (ISDIGIT_LOCALE): Remove; unused. - Note that the TZ and time functions used here are not reentrant. - (mktime_ok, get_tz): New functions. - (TZBUFSIZE): New constant. - (get_date): Parse leading TZ="foo". Reject out-of-range components;. - This requires that we sometimes generate our own TZ="XXX..." setting. + * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale): + Define to an expression, not to the empty string. + Include cloexec.h and xalloc.h. + (getloadavg): Restore LC_NUMERIC locale after setting it temporarily. + Use set_cloexec_flag rather than rolling our own. + * lib/cloexec.c, lib/cloexec.h: New files. -2004-10-29 Paul Eggert +2004-03-29 Paul Eggert - * doc/getdate.texi: New file, from coreutils with modifications for - the new TZ parsing. + * m4/cloexec.m4: New file. -2004-10-27 Derek R. Price +2004-03-18 Paul Eggert - * lib/mktime.c (not_equal_tm): Remove redundant check. + * lib/getopt.h: Sync with libc CVS. -2004-10-24 Paul Eggert +2004-03-18 Paul Eggert + Bruno Haible - * modules/regex (lib_SOURCES): Add regex.c. - Reported by James Youngman in - . + * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether declares + mbswidth. -2004-10-24 Paul Eggert +2004-03-18 Paul Eggert + Bruno Haible - * lib/getdate.y: Use Bison 1.875 features, and some minor - code cleanups. This change does not affect semantics. - Don't include ; no longer needed. - Don't include unlocked-io.h; only the "#if TEST" code uses - stdio, and performance isn't crucial there. - (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by - Bison 1.875 features as described below. - All uses of "PC." replaced by "pc->". - (YYSTYPE): Add a forward declaration. - (yylex, yyerror): Use full prototypes in forward decls. - Use "%pure-parser" rather than obsolescent "%pure_parser". - Use %parse-param and %lex-param instead of obsolescent - YYPARSE_PARAM and YYLEX_PARAM. - (meridian_table, month_and_day_table, time_units_table, - relative_time_table, time_zone_table, military_table, - lookup_zone, lookup_word, get_date): - Use NULL instead of 0 where appropriate. - (to_hour): Avoid abort (), to avoid a dependency on - stdlib.h. - (yyerror, yylex): Now accepts parser_control * arg. - (main) [TEST]: Use '\0' rather than 0 for char. + * lib/mbswidth.h: Include only if + HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have + . + * lib/mbswidth.c: Include and before . -2004-10-22 Paul Eggert +2004-03-09 Paul Eggert - * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for . + * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c: + Sync with libc CVS. + * lib/getopt_int.h: New file, also synced from libc. -2004-10-22 Paul Eggert +2004-03-09 Paul Eggert - * lib/getpagesize.c (getpagesize): Don't assume exists. - It's now the caller's responsibility to handle the case where - !HAVE_GETPAGESIZE && !defined getpagesize. + * config/srclistvars.sh: Add GNUWWWLICENSES for eggert. + * config/srclist.txt: Sync getopt with libc. Add getopt_int.h. + Bring back getopt.c, getopt.h, getopt1.c. - * lib/mktime.c (leapyear): Arg is long int, not int. +2004-03-07 Paul Eggert -2004-10-18 Paul Eggert + * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK. + All uses changed. Check for sa_sigaction member; this fixes + a bug first reported by Jason Andrade in + . - * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc. +2004-03-07 Paul Eggert -2004-10-17 Paul Eggert + * lib/c-stack.c (SIGACTION_WORKS): New macro. Use it instead of long + '#if' expressions. Unlike the code it replaces, it does not + depend on (defined _SC_PAGESIZE). However, it does depend on + HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug + first reported by Jason Andrade in + . - * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was - missing. Problem reported by James Youngman. +2004-02-25 Simon Josefsson -2004-10-16 Simon Josefsson + * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared. - * gnulib-tool: Fix comments. Fix parse problem. - (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES. +2004-02-25 Simon Josefsson -2004-10-15 Paul Eggert + * lib/strdup.h: New file. + * lib/strdup.c: Include it. + * lib/path-concat.c: Include strdup.h. Drop strdup declaration. + * lib/userspec.c: Include strdup.h. Drop strdup declaration. - * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD - implementation of getopt_long. Problem reported by Alexander Taler in: - http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html +2004-02-23 Karl Berry -2004-10-15 Bruno Haible + * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files + (from fencepost.gnu.org:/gd/gnuorg). - * gnulib-tool: Untabify. Initialize supplied_libname. - (func_usage): More homogenous output. - (func_modules_transitive_closure, func_modules_to_filelist, - func_emit_lib_Makefile_am): New functions. - (func_import): New function, extracted from big case statement. Use - func_get_license, func_modules_transitive_closure, - func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize - opt_lgpl. Don't use test -a, as it's not portable. - (func_create_testdir): Use func_modules_transitive_closure, - func_modules_to_filelist, func_emit_lib_Makefile_am. +2004-02-23 Karl Berry -2004-10-15 Bruno Haible + * config/srclistvars.sh (GNUORG) [karl]: redefine. + * config/srclist.txt: add maintain/standards documents. - * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed. +2004-02-18 Bruno Haible -2004-10-15 Bruno Haible + * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE. + Reported by Derek Robert Price . - * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate - the portions belonging to each module. - Suggested by Derek Robert Price . +2004-02-16 Karl Berry -2004-10-12 Simon Josefsson + * config/mkinstalldirs, install-sh: update from automake. - * lib/getpass.c (fflush_unlocked, flockfile, funlockfile) - (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map - to real functions. +2004-02-06 Karl Berry -2004-10-11 Yoann Vandoorselaere + * m4/po.m4: update from gettext 0.14.1. - * modules/vsnprintf: New file. +2004-02-06 Karl Berry -2004-10-11 Yoann Vandoorselaere + * lib/config.charset: update from gettext 0.14.1. - * m4/vsnprintf.m4: New file. +2004-02-05 Paul Eggert -2004-10-11 Yoann Vandoorselaere + Add comments and code, prompted by suggestions from Bruno Haible + for sh-quote. + * lib/quotearg.h (quotearg_alloc): New decl. Improve the comments + describing the enum quoting_style values. + * lib/quotearg.c (quotearg_alloc): New function. + (quotearg_buffer_restyled): Treat lone { and } as special. + Treat = as special. Work around bug with older shells + that "see" a '\' that is really the 2nd byte of a multibyte char. + Quote empty string with shell_quoting_style. - * lib/vsnprintf.h: New file. - * lib/vsnprintf.c: New file. +2004-02-03 Bruno Haible -2004-10-11 Bruno Haible + * m4/pipe.m4: New file, from GNU gettext. - * MODULES.html.sh (Support for systems lacking ISO C 99): Add - vsnprintf. +2004-02-03 Bruno Haible -2004-10-10 Paul Eggert + * lib/pipe.h: New file, from GNU gettext. + * lib/pipe.c: New file, from GNU gettext. - * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only). +2004-01-27 Bruno Haible -2004-10-07 Bruno Haible + * m4/execute.m4: New file, from GNU gettext. - * lib/snprintf.c (snprintf): Avoid a memory allocation if the result - fits into the provided buffer. +2004-01-27 Bruno Haible -2004-10-06 Paul Eggert + * lib/execute.h: New file, from GNU gettext. + * lib/execute.c: New file, from GNU gettext. + * lib/w32spawn.h: New file, from GNU gettext. - * lib/diacrit.c, diacrit.h: Add GPL notice. +2004-01-24 Paul Eggert - * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL - notice. - * lib/atanl.c (atanl): Keep the code as similar to glibc as possible. - * lib/logl.c (logl): Keep the code as similar to glibc as possible. - This avoids a potential constant-folding bug. + Merge from diffutils. -2004-10-05 Bruno Haible + * lib/file-type.c (file_type): Add typed memory objects. + * lib/file-type.h (S_TYPEISTMO): New macro. - * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check - for the declaration of strsep. + * lib/c-stack.h (c_stack_action): Remove argv argument. + * lib/c-stack.c (c_stack_action): Likewise. All uses changed. + (die): Don't calculate message unless segv_action returns. + (get_stack_location, min_address_from_argv, max_address_from_argv, + volatile stack_base, volatile_stack_size): Remove. + (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume + that every segmentation violation is a stack overflow. (Ouch!) + See Debian bug 136249 (still outstanding) for more info about why + HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels. -2004-10-05 Bruno Haible +2004-01-24 Paul Eggert - * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP. + Exit-status fix from coreutils. -2004-10-04 Simon Josefsson + Use exit_failure consistently in place of EXIT_FAILURE, + so that program exit statuses are consistent on failure. - * modules/memmem: New file. - * tests/test-memmem.c: New file. - * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem. + * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]: + Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE. + * lib/argmatch.h: Comment fix to match the above. + * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]: + Now a macro referring to exit_failure, instead of a separate + variable. Include "exitfail.h" to get it. + * lib/xstrtol.h: Include "exitfail.h". + (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2. -2004-10-04 Simon Josefsson + * lib/long-options.c (parse_long_options): Use prototype + for usage function arg. Pass it EXIT_SUCCESS rather than 0, + for clarity. - * m4/memmem.m4: New file. +2004-01-21 Jim Meyering -2004-10-04 Simon Josefsson + * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal + so as not to conflict with a different-sized __mktime_internal + function in GNU libc. + * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise. + Problem building statically-linked `ls' reported by Michael Brunnbauer. - * lib/memmem.h: New file. - * lib/memmem.c: New file, taken from glibc. +2004-01-20 Karl Berry -2004-10-04 Simon Josefsson + * config/config.guess: update from config. - * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of - '#ifdef USE_UNLOCKED_IO'. + * config/srclistvars.sh: GNUWWWLICENSES for karl. -2004-10-04 Simon Josefsson +2004-01-20 Bruno Haible - * config/srclist.txt: Add memmem from glibc. + Safer stack allocation. + * lib/setenv.c: Include allocsa.h. + (alloca): Remove fallback definition. + (freea): Remove macro. + (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa + instead of freea. -2004-10-04 Paul Eggert +2004-01-20 Bruno Haible - * modules/xalloc (Files, Makefile.am): Remove xstrdup.c. + * m4/eealloc.m4: New file, from GNU gettext. - * modules/argmatch, modules/argp, modules/closeout, modules/error, - modules/exclude, modules/getdate, modules/getline, - modules/getndelim2, modules/getpass, modules/getpass-gnu, - modules/getusershell, modules/linebuffer, modules/md5, - modules/mountlist, modules/posixtm, modules/readtokens, - modules/readutmp, modules/regex, modules/sha1, - modules/version-etc, modules/yesno: - Remove dependency on unlocked-io. +2004-01-20 Bruno Haible -2004-10-04 Paul Eggert + * m4/allocsa.m4: New file, from GNU gettext. - * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove. All uses removed. +2004-01-20 Bruno Haible - * m4/unlocked-io.m4: Add copyright notice. - (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO. + * lib/xallocsa.h: New file, from GNU gettext. + * lib/xallocsa.c: New file, from GNU gettext. -2004-10-04 Paul Eggert +2004-01-20 Bruno Haible - * lib/xalloc.h (xmemdup): Renamed from xclone. All uses changed. - * lib/xmalloc.c (xmemdup): Likewise. - * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC, - XFREE): Remove these long-obsolescent macros. - * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c - * lib/xstrdup.c: Remove. + * lib/wait-process.c: On Windows, include windows.h. Needed on mingw. - * lib/regex.c (re_comp): Cast gettext return value to char *, - Problem reported by Martin Neitzel via Mark D. Baushke. +2004-01-20 Bruno Haible -2004-10-04 Paul Eggert + * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument. + * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE + specially. - * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y, - getndelim2.c, getpass.c, getusershell.c, linebuffer.c, - md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c, - regex.c, sha1.c, version-etc.c, yesno.c: - Include "unlocked-io.h" only if USE_UNLOCKED_IO. - * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now - the includer's responsibility. +2004-01-20 Bruno Haible - Sync from coreutils. + * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid() + patch. - * lib/modechange.c (mode_compile): Don't decrement a pointer that - points to the start of a string, as the C Standard says the - resulting behavior is undefined. +2004-01-20 Bruno Haible - * lib/backupfile.h (enum backuptype): Rename none -> no_backups, - simple -> simple_backups, numbered_existing -> - numbered_existing_backups, numbered -> numbered_backups - to avoid shadowing problems. All uses changed. - * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise. - * lib/backupfile.c (check_extension, numbered_backup): - Rename locals to avoid shadowing 'basename'. - * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than - once. + * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration. - * lib/.cppi-disable: Add getopt_.h, getopt_int.h. - * lib/.cvsignore: Add getopt.h. +2004-01-20 Bruno Haible -2004-10-04 Bruno Haible + * lib/eealloc.h: New file. - * modules/README: New file. - * gnulib-tool (func_all_modules, func_verify_module): modules/README is - not a module. +2004-01-20 Bruno Haible -2004-10-02 Jim Meyering + * lib/binary-io.h: Avoid warnings on Cygwin. - * lib/dirfd.h, getpagesize.h: Add copyright notice. +2004-01-20 Bruno Haible -2004-10-01 Yoann Vandoorselaere + * lib/allocsa.h: New file, from GNU gettext. + * lib/allocsa.c: New file, from GNU gettext. - * modules/strsep: New file. +2004-01-18 Karl Berry -2004-10-01 Yoann Vandoorselaere + * doc/gpl.texi, doc/lgpl.texi: new files. - * m4/strsep.m4: New file. +2004-01-18 Karl Berry -2004-10-01 Yoann Vandoorselaere + * config/srclistvars.sh (GNUWWWLICENSES): new variable. + * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there. - * lib/strsep.h: New file. - * lib/strsep.c: New file. +2004-01-15 Paul Eggert -2004-10-01 Simon Josefsson + Merge from coreutils. - * lib/snprintf.c (snprintf): Handle size==0. + * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t. + * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION. + (gl_DEFAULT_POSIX2_VERSION): Move + the documentation from 'configure' into 'config.hin', + so that 'configure --help' isn't burdened by it and + we don't have to worry about its formatting there. + Reword the documentation so that it's more succinct + and can be run together into a single paragraph. + * m4/same.m4 (gl_SAME): Check for pathconf. -2004-10-01 Simon Josefsson - Bruno Haible +2004-01-15 Paul Eggert - * lib/snprintf.c: Include , , . - (snprintf): Declare 'args'. + Merge from coreutils. -2004-10-01 Paul Eggert + * lib/posixver.c: Include posixver.h. - * lib/snprintf.c: Remove comments as to why each header is needed. + * lib/same.c: Include , . + (_POSIX_NAME_MAX): Define if not defined. + (MIN): New macro. + (same_name): If file names are silently truncated, report + that the file names are the same if they are the same after + the silent truncation. -2004-10-01 Bruno Haible + * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the + conversion function. + * lib/xstrtod.c (xstrtod): Likewise. All callers changed to + include c-strtod.h and use c_strtod. Don't include stdlib.h; no + longer needed. - * MODULES.html.sh: Add strsep. +2004-01-15 Jim Meyering -2004-09-30 Simon Josefsson + Merge from coreutils. - * modules/snprintf: New file. + * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME + if no library is required. + * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX. + * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE. + * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58. + (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58. + * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW. + * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the + value, $ac_cv_search_crypt, if it's "none required". + * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro. + * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG, + not gl_FUNC_GETLOADAVG. + * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH, + gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS. -2004-09-30 Simon Josefsson +2004-01-15 Jim Meyering - * m4/snprintf.m4: New file. + Merge from coreutils. -2004-09-30 Simon Josefsson + * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code. These + days, gcc-3.x does better all by itself. Patch from Dean Gaudet: + http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html - * lib/snprintf.h, lib/snprintf.c: New files. + * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new, + optional configure-time default. -2004-09-30 Sergey Poznyakoff + * lib/version-etc.c (version_etc_copyright): Update copyright date. - * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL - (hol_entry_help): Never translate an empty string. - Do not translate option tag (opt->name) if OPTION_NO_TRANS is set - * lib/argp.h (OPTION_NO_TRANS): New option. + * lib/xreadlink.c (xreadlink): Correct outdated comment. -2004-09-30 Paul Eggert +2004-01-15 Alexandre Duret-Lutz - * modules/argp (Maintainer): Replace Simon Josefsson - by Sergey Poznyakoff. + Merge from coreutils. -2004-09-30 Paul Eggert + * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the + value, $ac_cv_search_nanosleep, if it's "none required". - * config/srclist.txt: Comment-out argp/argp.h, until we get the argp - changes merged back into glibc. +2004-01-14 Paul Eggert -2004-09-30 Paul Eggert + * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided + with like-named macro in fnmatch.c. + (EXT): Use an internal constant instead. - * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf. + Merge fnmatch patches from glibc. + * lib/fnmatch.c (mbsinit): Remove define. + Add libc_hidden_ver (__fnmatch, fnmatch). + * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate. + Adjust to renaming of collseq_table_lookup to __collseq_table_lookup. -2004-09-29 Oskar Liljeblad +2004-01-14 Karl Berry - * lib/xvasprintf.c: Include xalloc.h. - (xvasprintf): Use xalloc_die, not xmalloc_die. + * config/install-sh: update from automake. -2004-09-29 Bruno Haible +2004-01-13 Karl Berry - * modules/alloca-opt: New file, derived from modules/alloca. - * modules/allocsa: Depend on alloca-opt instead of alloca. - * modules/setenv: Likewise. - * modules/vasnprintf: Likewise. - * MODULES.html.sh: Add alloca-opt. + * config/install-sh: update from automake. -2004-09-28 Simon Josefsson +2004-01-09 Karl Berry - * gnulib-tool: New parameter --lgpl, to asseert that modules are - LGPL, and to replace license template from GPL to LGPL. + * config/install-sh: update from automake. -2004-09-28 Paul Eggert +2004-01-05 Karl Berry - * modules/dummy: Change license to LGPL. + * config/config.{sub,guess}: update from config. -2004-09-28 Paul Eggert +2003-12-31 Karl Berry - * lib/dummy.c: Change copyright notice to FSF, and license to GPL. + * config/depcomp: update from automake. -2004-09-24 Simon Josefsson +2003-12-14 Karl Berry - * modules/minmax (License): Change from GPL to LGPL. + * lib/config.charset: update from gettext-runtime. -2004-09-23 Simon Josefsson +2003-12-03 Paul Eggert - * gnulib-tool (--import): Typo. + * lib/getgroups.c (getgroups): xmalloc takes one argument, not two. + Bug reported by Alfred M. Szmidt. -2004-09-23 Simon Josefsson +2003-12-03 Bruno Haible - * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default. + * m4/gettext.m4: Upgrade from gettext-0.13. + * m4/po.m4: Upgrade from gettext-0.13. + * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here. + * m4/intmax.m4: New file, from gettext-0.13. + * m4/printf-posix.m4: New file, from gettext-0.13. -2004-09-22 Bruno Haible +2003-11-29 Karl Berry - * modules/*: Add 'License' field. - * gnulib-tool: Accept --extract-license option. - (func_get_license): New function. + * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc. -2004-09-21 Bruno Haible +2003-11-25 Paul Eggert + Bruno Haible - * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4. - Reported by Simon Josefsson. + * lib/printf-parse.h: Don't include sys/types.h. + (ARG_NONE): New macro. + (char_directive): Change type of *arg_index fields to size_t. + * lib/printf-parse.c: Don't include sys/types.h. + (SSIZE_MAX): Remove macro. + (PRINTF_PARSE): Change the type of the arg_index variables to size_t. + Remove unnecessary overflow check. + * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index + fields. -2004-09-20 Paul Eggert +2003-11-25 Bruno Haible - * modules/inttostr (Files): Add m4/longlong.m4, since it uses - gl_AC_TYPE_LONG_LONG. + * modules/vasnprintf (Files): Remove m4/ssize_t.m4. -2004-09-20 Paul Eggert +2003-11-25 Bruno Haible - * config/srclist.txt: Add getsubopt.c, since libc bought our changes. + * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require + gt_TYPE_SSIZE_T. -2004-09-18 Simon Josefsson - and Paul Eggert +2003-11-24 Paul Eggert - * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal - calls with autoreconf. Define GL_LIB. + * modules/alloca: Remove dependency on xalloc. -2004-09-14 Karl Berry +2003-11-24 Paul Eggert - * config/srclist.txt: unsync setenv.c, sigh. + * lib/alloca.c: Remove dependency on xalloc module. + (xalloc_die): Remove. + (memory_full) [!defined emacs]: New macro. + [!defined emacs]: Don't include xalloc.h. + (alloca): Invoke memory_full, not xalloc_die, if malloc fails or + address arithmetic overflows. Change datatypes a bit to avoid + unnecessary casts. -2004-09-13 Paul Eggert +2003-11-22 Jim Meyering - * lib/argp-pvh.c (argp_program_version_hook): Provide initial value. - Problem reported by Bruno Haible in: - http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html + * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments: + s/size/size_t/. -2004-09-13 Paul Eggert +2003-11-21 Karl Berry - * config/srclist.txt: Comment out argp-pvh.c. + * config/config.{sub,guess}: update from config. -2004-09-11 Paul Eggert +2003-11-18 Karl Berry - * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy, - in case some system header has #define'd it. Problem reported by - Soeren D. Schulze in - . + * config/config.{sub,guess}: update from config. -2004-09-09 Karl Berry + * config/(printf-{parse,args}.[ch]): sync broken, sigh. - * regex.[ch]: delete from the root. These were supposed to be - synced with emacs cvs, but this has not happened for about - a year, and anyway nothing else uses emacs regex.[ch]. - bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700. - lib/regex[.ch] is untouched. +2003-11-17 Paul Eggert -2004-09-09 Bruno Haible + * README: Mention that S+T cannot overflow if S is the size of + an existing object and T is sufficiently small. - * modules/vasnprintf (Files): Add m4/eoverflow.m4. +2003-11-17 Jim Meyering -2004-09-09 Bruno Haible + On systems without utime and without a utimes function capable of + dealing with a NULL struct utimbuf* argument, this utime replacement + could -- in unusual circumstances -- leak a file descriptor. + * lib/utime.c: Include and . + (utime_null): Be sure to close `fd' and to preserve errno. + Reported by Geoff Collyer via Arnold Robbins. - * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with - modifications. - * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW. +2003-11-17 Bruno Haible -2004-09-08 Oskar Liljeblad + * modules/vasnprintf (Files): Add m4/ssize_t.m4. + (Depends-on): Add xsize. - * modules/xvasprintf: New file. - * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf. +2003-11-17 Bruno Haible -2004-09-08 Oskar Liljeblad + * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T. - * lib/xvasprintf.h: New file. - * lib/xvasprintf.c: New file. - * lib/xasprintf.c: New file. +2003-11-17 Bruno Haible -2004-09-08 Bruno Haible + * lib/vasnprintf.c (alloca): Remove fallback definition. + (freea): Remove definition. + (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes. + Reported by Paul Eggert. - * m4/stdint.m4: New file, taken from GNU clisp with modifications. +2003-11-16 Paul Eggert + Bruno Haible -2004-09-08 Bruno Haible + Protect against address arithmetic overflow. + * lib/printf-args.h: Include stddef.h. + (arguments): Change type of field 'count' to size_t. + * lib/printf-args.c (printf_fetchargs): Use size_t instead of + 'unsigned int' where appropriate. + * lib/printf-parse.h: Include sys/types.h. + (char_directive): Change type of *arg_index fields to ssize_t. + (char_directives): Change type of fields 'count', max_*_length to + size_t. + * lib/printf-parse.c: Include sys/types.h and xsize.h. + (SSIZE_MAX): Define fallback value. + (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t + instead of 'int' where appropriate. Check a_allocated, d_allocated + against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1. + * lib/vasnprintf.c: Include xsize.h. + (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate. + Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against + overflow. Avoid wraparound when converting a width or precision from + decimal to binary. - * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting - length is > INT_MAX. - * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any - more. +2003-11-16 Bruno Haible -2004-09-08 Bruno Haible + Update from GNU gettext. + * lib/printf-parse.c: Generalize to it can be compiled for wide + strings. + (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros. + * lib/vasnprintf.c: Generalize to it can be compiled for wide strings. + (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF, + SNPRINTF): New macros. + Don't include if the file is used inside libintl. + (local_wcslen): New function, for Solaris 2.5.1. + (VASNPRINTF): Use it instead of wcslen. - * lib/stdint_.h: New file, taken from GNU clisp. +2003-11-16 Bruno Haible -2004-09-08 Bruno Haible - Oskar Liljeblad + * lib/xsize.h (xmax): New function. + (xsum, xsum3, xsum4): Declare as "pure" functions. - * modules/stdint: New file. - * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint. +2003-11-12 Paul Eggert -2004-08-19 Paul Eggert + * modules/xalloc (Files): Undo latest change, since xalloc.h + no longer needs SIZE_MAX or PTRDIFF_MAX. - Import from coreutils. - * lib/userspec.c: Don't use , so that we don't use alloca on - strings on unbounded length. alloca's performance benefits aren't - that important here. - (V_STRDUP): Remove. - (parse_with_separator): New function, with most of the internals - of the old parse_user_spec. Allow user to omit both user and group, - for compatibility with FreeBSD. - Clone only the user name, not the entire spec. - Do not set *uid, *gid unless entirely successful. - Avoid memory leak in some failing cases. - Fix regression for USER.GROUP reported by Dmitry V. Levin in - - (parse_user_spec): Rewrite to use parse_with_separator. +2003-11-12 Paul Eggert -2004-08-19 Paul Eggert + * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or + gl_PTRDIFF_MAX. - * modules/userspec: Don't depend on alloca. +2003-11-12 Paul Eggert -2004-08-19 Paul Eggert + * lib/xstrtol.c (__xstrtol): Remove "break" immediately after + "return", to pacify some unknown compiler. Problem reported + by Joerg Schilling. - * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA. +2003-11-12 Paul Eggert -2004-08-17 Paul Eggert + * lib/xalloc.h: Do not include or . + (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for + the heuristic, rather than PTRDIFF_MAX and SIZE_MAX. This + heuristic is just as accurate as far as we know, and it removes a + dependency on size_max.m4 and ptrdiff_max.m4. - * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise, - readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check, - utimecmp, utimens, xnanosleep. Rename sha to sha1. +2003-11-11 Bruno Haible -2004-08-16 Simon Josefsson + * modules/xsize (Files): Add m4/size_max.m4. + * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4. - * gnulib-tool: Use sed instead of autoconf --trace, inspired by - libtoolize behaviour by "Gary V. Vaughan" . - Add --dry-run for --import. - Let user provided command line parameters override configure.ac - settings. +2003-11-11 Bruno Haible -2004-08-12 Simon Josefsson + * m4/size_max.m4: New file. + * m4/ptrdiff_max.m4: New file. + * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX. + * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro. + (gl_XALLOC): Invoke it. - * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro, - as discussed with Paul Eggert in threads rooted at - - and - . - Before, the test was empty, and relied on ELIDE_CODE in source - code.) - (gl_PREREQ_GETOPT): New macro. - (gl_GETOPT): Use them. +2003-11-11 Bruno Haible -2004-08-12 Simon Josefsson + * lib/xsize.h (SIZE_MAX): Remove fallback definition. + * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are + defined. - * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack. - * lib/getopt_.h: Renamed from getopt.h. +2003-11-10 Paul Eggert -2004-08-12 Simon Josefsson + * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX && + PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have + rejected some allocations of exactly SIZE_MAX - 2 bytes. + From Bruno Haible. + [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX, + not (size_t) -1, since it's defined here. - * gnulib-tool: Add --source-base, --m4-base, --libtool options. - Change default library name from libfoo to libgnu. - Now, if you have a configure.ac that says: - gl_SOURCE_BASE(gl) - gl_M4_BASE(gl/m4) - gl_MODULES(error getopt etcetera) - gl_INIT - you can import all you need by running: - ../gnulib/gnulib-tool --import +2003-11-09 Karl Berry - * modules/getopt (Files): Rename getopt.h to getopt_.h. - (Makefile.am): Rewrite, use logic from argz. - (Include): Use instead of "getopt.h". + * config/mkinstalldirs, depcomp, mdate-sh: update from automake. -2004-08-12 Paul Eggert +2003-11-06 Paul Eggert - * modules/argp (Files): Add m4/unlocked-io.m4. - (Depends-on): Add extensions. + * lib/xalloc.h [HAVE_STDINT_H]: Include . + (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]: + Reject sizes of exactly SIZE_MAX bytes. + * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX + is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts. -2004-08-12 Paul Eggert +2003-11-05 Bruno Haible - * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody - uses HAVE_ARGP_H or HAVE_ARGP_PARSE. - Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS. - Check for program_invocation_name, program_invocation_short_name, - flockfile, funlockfile, features.h, _getopt_long_only_r. + * lib/xsize.h: Include limits.h, to avoid a possible collision with + SIZE_MAX defined in on Solaris. -2004-08-12 Paul Eggert +2003-11-04 Jim Meyering - * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of - its complicated substitute. - * lib/argp-help.c: Include , for program_invocation_short_name - and program_invocation_name. - (__argp_basename) [!_LIBC]: Remove; the only use was - replaced by its body. - (__argp_short_program_name): Change condition from - !defined __argp_short_program_name to - ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME), - to match argp-namefrob.h. - (__argp_failure): Don't assume strerror_r returns char *. - * lib/argp-parse.c (N_): Define unconditionally. - (argp_default_options): Fill out initializers with 0 to avoid - gcc warnings. + * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd + variable names, rather than @VAR@. + * modules/poll: Likewise. -2004-08-12 Paul Eggert +2003-11-04 Bruno Haible - * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h), - getopt1.c. + * modules/xsize: New file. + * modules/linebreak: Depend on xsize. + * MODULES.html.sh (func_all_modules): Add xsize. -2004-08-11 Paul Eggert +2003-11-04 Bruno Haible - Merge from coreutils. + * m4/xsize.m4: New file. - * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy. +2003-11-04 Bruno Haible - * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require - gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T. + * lib/xsize.h: New file. + * lib/linebreak.c: Include xsize.h. + (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc() + argument for overflow. + Suggested by Paul Eggert. -2004-08-11 Paul Eggert +2003-11-03 Karl Berry - Merge from coreutils. + * config/config.{guess,sub}: update from config. - * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing - wmemchr or wmemcpy. Problem reported by Robert Dahlem - for Reliant Unix 5.43. +2003-11-03 Jim Meyering - * lib/obstack.c: Include and if available. - (union fooround): Use uintmax_t, not long int. - The rest is a merge from libc: - [defined _LIBC]: Include . - (_obstack) [defined _LIBC]: Remove after 2.3.4. + * modules/userspec (lib_SOURCES): Add userspec.h. + (Include): Add "userspec.h". + Improve description. - * lib/settime.c (settime): Recode to avoid warning with - Sun Forte C 6U2. +2003-11-03 Jim Meyering - * lib/strverscmp.c: Convert to UTF-8. + * lib/userspec.c: Include "userspec.h". + * lib/userspec.h: New file. -2004-08-11 Paul Eggert +2003-11-03 Bruno Haible - * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4, - m4/uintmax_t.m4. + * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid. -2004-08-09 Paul Eggert +2003-11-03 Bruno Haible - * modules/xalloc-die: New file. - * modules/xalloc: Remove dependencies on error, gettext, exitfail. + * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if + available, to avoid (extremely rare) race condition. + Suggested by Paul Eggert. - * modules/md5 (Files): Add m4/uint32_t.m4. - * modules/sha1: Renamed from modules/sha. - (Files): - Rename lib/sha.h to lib/sha1.h. - Rename lib/sha.c to lib/sha1.c. - Rename m4/sha.m4 to m4/sha1.m4. - (lib_SOURCES): Likewise. - (configure.ac): Rename gl_SHA to gl_SHA1. - (Include): sha.h -> sha1.h. +2003-11-02 Karl Berry -2004-08-09 Paul Eggert + * config/srclist.txt (vasprintf.c): sync broken, sigh. - * m4/uint32_t.m4, m4/uintptr_t.m4: New files. - * m4/sha1.m4: Renamed from sha.m4. - (gl_SHA1): Renamed from gl_SHA. All uses changed. +2003-10-31 Paul Eggert -2004-08-09 Paul Eggert + * lib/mountlist.h (struct mount_entry.me_type_malloced): New member. + * lib/mountlist.c (SIZE_MAX): Define if not defined already. + (read_filesystem_list): Set and use me_type_malloced. + Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or + whatever the type happens to be), for brevity and consistency. + Check for size calculation overflow on Alphas running OSF/1. - * lib/obstack.h (obstack_empty_p): - Don't assume that chunk->contents is suitably aligned. - * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk): - Likewise. Problem reported by Benno in - . +2003-10-31 Jim Meyering - * lib/chown.c (rpl_chown): Work even if the file is writeable but not - readable. This could be improved further but it'd take some work. + * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized. -2004-08-08 Simon Josefsson + * lib/linebuffer.c: Include for declaration of memset. - * modules/xgethostname (Depends-on): Remove exit and error (not - used). +2003-10-30 Paul Eggert + Bruno Haible - * modules/getpass-gnu: Add getpass.h. - (Depends-on): Add stdbool. - * modules/getpass: Add getpass.h. + * lib/vasprintf.c: Include , . + (vasprintf): Fail if the resulting length doesn't fit in an 'int'. -2004-08-08 Simon Josefsson +2003-10-30 Paul Eggert - * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): - Check getpass declaration. + * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to + netbsd*-gnu*. Suggested by Robert Millan. -2004-08-08 Simon Josefsson +2003-10-29 Paul Eggert - * lib/xgethostname.c: Don't include error.h (not used). + * modules/group-member: Depend on stdbool. - * lib/getpass.h: Add. - * lib/getpass.c: Include getpass.h first. +2003-10-29 Paul Eggert -2004-08-08 Paul Eggert + * m4/xalloc.m4 (gl_XALLOC): Undo previous change. - * lib/xalloc-die.c: New file. - * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove. - All uses removed. - * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted): - Likewise. Move inclusions of gettext.h, error.h, exitfail.h to - xalloc-die.c. - (_, N_, xalloc_die): Move to xalloc-die.c. - * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup, - so that we needn't mess with xalloc_msg_memory_exhausted. +2003-10-29 Paul Eggert - * lib/sha1.h: Renamed from sha.h. - (SHA1_H): Renamed from _SHA_H. - (sha1_ctx): Renamed from sha_ctx. - (sha1_init_ctx): Renamed from sha_init_ctx. - (sha1_process_block): Renamed from sha_process_block. - (sha1_process_bytes): Renamed from sha_process_bytes. - (sha1_finish_ctx): Renamed from sha_finish_ctx. - (sha1_read_ctx): Renamed from sha_read_ctx. - (sha1_stream): Renamed from sha_stream. - (sha1_buffer): Renamed from sha_buffer. - * lib/sha1.c: Likewise; renamed from sha.c. - Do not include . - Include rather than . + * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu. Add comments + to it, and to knetbsd*-gnu and kfreebsd*-gnu. Remove the '*' from + after the 'gnu' in these cases. This fixes some bugs in the + previous change, and is based on suggestions by Robert Millan. -2004-08-08 Bruno Haible +2003-10-29 Paul Eggert - * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from - FILESYSTEM_PREFIX_LEN. - * lib/progreloc.c: Likewise. - * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN. + * lib/xalloc.h (xalloc_oversized): Now a macro, not a function, + so that it works even if SIZE_MAX < N. Do not include ; + no longer needed. + * lib/quotearg.c (quotearg_n_options): Use it. + * lib/group-member.c: Include . + (free_group_info): Arg is now const *; don't free arg. + (get_group_info): Now returns bool and accepts struct group_info *, + rather than returning a malloc'ed struct group_info *. + All uses changed. Check for overflow in internal size calculation. -2004-08-06 Simon Josefsson + * lib/getusershell.c (readname): Simplify the code by using x2nrealloc + rather than xmalloc/xrealloc. + * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by + using x2realloc rather than xmalloc/xrealloc. Also, fix a C + conformance bug: the old code used a pointer after freeing the + storage that it addressed. + * lib/hash.c (hash_initialize): Simplify the code by using + xalloc_oversized rather than doing it by hand. + * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need + the buffer preserved. Use free and xmalloc instead. + * lib/quotearg.c (quotearg_n_options): Likewise. + Use a simpler test for size overflow. Don't use xalloc_oversized + because unsigned int might be wider than size_t (!); this suggests + that we should switch from unsigned int to size_t for slot numbers. - * modules/progname (Depends-on): Don't depend on stdbool. +2003-10-28 Paul Eggert -2004-08-06 Simon Josefsson + * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and + GNU/KNetBSD. These implementations use glibc atop the FreeBSD and + NetBSD kernels. Requested by Richard Stallman. - * modules/getsubopt: New file. - * MODULES.html.sh (Support for systems lacking POSIX:2001): Add - getsubopt. +2003-10-27 Paul Eggert -2004-08-06 Paul Eggert + * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc + to allocate the returned structure. Do not allocate a subarray, + as x2nrealloc will do that. + (add_exclude): Use x2nrealloc to reallocate ex->exclude, + instead of xnrealloc. + (add_exclude_file): Use x2realloc instead of malloc + xnrealloc. - More merge from coreutils. +2003-10-27 Bruno Haible - * m4/utimens.m4, m4/utimecmp.m4: New files. - * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4, - fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4, - prereq.m4, sha.m4: Import changes from coreutils. + * lib/stdbool_.h: Better support for BeOS. -2004-08-06 Paul Eggert +2003-10-26 Paul Eggert - More merge from coreutils. - * modules/raise, modules/readtokens0, modules/utimens: - * modules/utimecmp, module/xnanosleep: New files. - * modules/strftime: Add lib/strftime.h. - Change include from to "strftime.h". - * modules/yesno: Add lib/yesno.h. - * modules/backupfile: Remove lib/addext.c. - * modules/euidaccess: Add stat-macros.h. - * modules/canonicalize, modules/euidaccess, - modules/filemode, modules/lchown, modules/makepath, - modules/rmdir, modules/stat: Likewise. + * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h + now uses inline. -2004-08-06 Paul Eggert +2003-10-26 Paul Eggert - Merge from tar. - * lib/argp-help.c (make_hol, hol_append): Don't assume that - SIZE_MAX is a valid preprocessor constant. - (__argp_basename): Change from "#ifndef _LIBC" - to "#ifndef __argp_short_program_name", so that - we don't compile these functions for tar. + * lib/xalloc.h (xalloc_oversized): New static inline function, for + callers that want to do their own size-overflow checking. Include + , since xalloc_oversized returns bool. + * lib/xalloc.c (array_size_overflow): Remove. All callers changed + to use xalloc_oversized. - More merges from coreutils. - * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h: - * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c: - * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files. - * lib/addext.c: Remove; no longer needed. - * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h, - lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c, - lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c, - lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c, - lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y, - lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c, - lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c, - lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h, - lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c, - lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c, - lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h, - lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c, - lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c, - lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c, - lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c, - lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h, - lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c: - Import changes from coreutils. + Add two functions x2realloc, x2nrealloc, for programs that grow + arrays dynamically by doubling their sizes. + * lib/xalloc.h (x2realloc, x2nrealloc): New decls. + * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc): + New functions. -2004-08-05 Simon Josefsson + Port to C99 semantics for 'inline' of external functions. + Bug reported by Bruno Haible. + * lib/xmalloc.c (xnmalloc_inline): New static inline function, + with the old contents of xnmalloc. + (xnmalloc, xmalloc): Use it. + (xnrealloc_inline): New static inline function, + with the old contents of xnrealloc. + (xnrealloc, xrealloc): Use it. - * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it. + * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for + that. -2004-08-05 Simon Josefsson +2003-10-26 Karl Berry - * m4/getsubopt.m4: New file. + * config/srclist.txt (COPYING.DOC): no longer available from + /gd/gnuorg; don't know where the ultimate source is. -2004-08-05 Paul Eggert +2003-10-25 Paul Eggert - Merge from coreutils. + Fix several address-calculation bugs in the hash modules, + plus some minor code cleanup. - * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4: - * m4/getcwd-path-max.m4: New files. + * lib/hash.h: Include , for bool. + * lib/hash.c: Don't include , since hash.h does it now. + * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used, + hash_get_n_entries, hash_get_max_bucket_length, + hash_get_entries, hash_do_for_each, hash_string, hash_initialize, + hash_rehash): Use size_t rather than unsigned. + * lib/hash.c (struct hash_table, hash_get_n_buckets, + hash_get_n_buckets_used, hash_get_n_entries, + hash_get_max_bucket_length, hash_table_ok, hash_print_statistics, + hash_get_entries, hash_do_for_each, hash_string, is_prime, + next_prime, hash_initialize, hash_rehash, hash_delete, hash_print): + Likewise. + (SIZE_MAX): Define if not defined. + (hash_get_max_bucket_length, hash_table_ok, hash_lookup, + hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each, + hash_print): + Use const * when possible. + (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P. + (check_tuning): Fix bug: if tuning parameters were very close to + 0 or 1, rounding errors could have caused subscript violations. + (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast. + (hash_initialize): Add 'fail:' label + to free table and return NULL, and use it to simplify code. + Use calloc rather than clearing the storage ourself. + (hash_initialize, hash_rehash): Check for arithmetic overflow in + buffer size calculations. + * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned. + Include , for size_t. + * lib/hash-pjw.c (hash_pjw): Likewise. + Switch to method described by Bruno Haible. + Include , for CHAR_BIT. + (SIZE_BITS): New macro. - * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming. - FILESYSTEM_PREFIX_LEN -> - FILE_SYSTEM_PREFIX_LEN. - FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX -> - FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX. - FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR -> - FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR. +2003-10-23 Paul Eggert - * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the - prerequisite modules now handle the DOS stuff. - Don't check for unistd.h. + * m4/getline.m4 (AM_FUNC_GETLINE): + Don't include getndelim2.o twice into LIBOBJS; this breaks on some + hosts. Problem reported by Derek Robert Price in + . + This patch can be withdrawn after Autoconf 2.58 is required for gnulib. + * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise. -2004-08-05 Paul Eggert +2003-10-21 Paul Eggert - Merge from coreutils. + * lib/getndelim2.c (getndelim2): When size calculation overflows, + ceiling the allocation at NMAX bytes rather than silently + discarding input bytes before NMAX is reached. This makes + a difference only if NMAX exceeds SIZE_MAX / 2. - * lib/.gdb-history: Remove; this doesn't belong here. + * lib/obstack.c: Merge from glibc. + [defined _LIBC]: Include , not "obstack.h". + Add libc_hidden_def (_obstack_newchunk). + (_obstack_free) [! defined _LIBC]: Remove. + [defined _LIBC]: Make a strong alias from obstack_free, rather than + a clone of the function body. + (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove. + [defined _LIBC && !defined USE_IN_LIBIO]: Include . - * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c: - * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h: - * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c: - * lib/getcwd.c: New files. + * lib/obstack.h: Indenting cleanup, to make it easier to merge with + glibc. + (obstack_grow, obstack_grow0): Remove unnecessary parentheses around + arg to memcpy. - * lib/dirname.h: Include . - (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN, - for consistency with POSIX terminology. All uses changed. - (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros. - (strip_trailing_slashes): Use bool for booleans. - * lib/stripslash.c (strip_trailing_slashes): Likewise. + * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg. + (obstack_ptr_grow_fast, obstack_int_grow_fast): + Don't use lvalue casts, as GCC plans to remove support for them + in GCC 3.5. Reported by Joseph S. Myers. This bug + was also present in the non-GCC version, indicating that this + code had always been buggy and had never been widely used. + (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank): + Use the fast variant of each macro, rather than copying the + definiens of the fast variant; that way, we'll be more likely to + catch future bugs in the fast variants. - * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it - sometimes returns a positive errno value even when it succeeds. - (print_errno_message) [!LIBC]: Fall back on strerror if - __strerror_r fails. +2003-10-20 Bruno Haible - * lib/path-concat.c (mempcpy): Don't define if a system header defines - it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h. - (longest_relative_suffix): New function. - (path_concat): Use it. Assume first argument is not NULL. - Port to DOS. Omit redundant separators. - Report an error instead of returning NULL. - Use mempcpy instead of memcpy. - (xpath_concat): Remove: not declared or used. + * modules/wait-process: New file. + * MODULES.html.sh (func_all_modules): Add wait-process. - * lib/same.h: Include - (same_name): Return bool, not int. - * lib/same.c (same_name): Likewise. - (errno): Don't declare; we assume C89 or better now. +2003-10-20 Bruno Haible - * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros, - if not already defined. + * m4/wait-process.m4: New file. - * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now. - * lib/dup-safer.c (errno): Likewise. +2003-10-20 Bruno Haible -2004-08-05 Paul Eggert + * lib/wait-process.h: New file, from GNU gettext. + * lib/wait-process.c: New file, from GNU gettext. - Merge from coreutils. - * modules/c-strtod, modules/c-strtold, modules/canonicalize: - * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files. - * modules/path-concat: Don't depend on strdup. +2003-10-19 Jim Meyering -2004-08-03 Simon Josefsson + * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on + HPUX 10.20. - * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined. - * lib/progname.h: Don't include stdbool.h. +2003-10-18 Karl Berry -2004-08-03 Paul Eggert + * config/config.guess: update from config. - * modules/fatal: Remove, as the "fatal" module wasn't used or working. - * MODULES.html.sh (func_all_modules): Remove fatal. +2003-10-16 Paul Eggert -2004-08-03 Paul Eggert + * lib/getgroups.c: Include , . + (getgroups): First arg is int, not size_t. + Don't let 'free' mangle errno. - * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working. +2003-10-16 Paul Eggert -2004-08-03 Paul Eggert + * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL. - * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or - working. +2003-10-16 Karl Berry -2004-08-02 Simon Josefsson + * config/config.{guess,sub}: update from config. - * lib/getsubopt.h: New file, with comments from Bruno Haible. - * lib/getsubopt.c: New file, from glibc, but slightly modified based on - suggestions from Paul Eggert . +2003-10-16 Jim Meyering -2004-08-01 Simon Josefsson + * lib/xmalloc.c: Include , for declarations of memset and + memcpy. - * lib/xgetdomainname.c: Include stdlib.h, for free(). +2003-10-15 Paul Eggert -2004-07-19 Bruno Haible + * lib/exclude.c: Do not include or . + (SIZE_MAX): Remove. + (new_exclude, add_exclude_file): Initial size no longer needs to + be a power of 2. + (add_exclude, add_exclude_file): Use xnrealloc instead of rolling + our own address arithmetic overflow checking. - * MODULES.html.sh (func_all_modules): Add dummy. + * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't. + (fnmatch): Do not alloca more than 2000 wide characters; + instead, use malloc for large buffers. + Check for address arithmetic overflow, and return -1 + with errno set to ENOMEM in that case. + * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro. + (NEW_PATTERN): Do not alloca more than 8000 bytes; + instead, return -1. Check for address arithmetic overflow. -2004-07-16 Simon Josefsson +2003-10-14 Paul Eggert - * modules/dummy: New file. + Handle invalid suffixes and overflow independently, so that + callers can treat them independently as needed. Fix some bugs in + suffix handling, e.g., "100k@" was not diagnosed as an invalid + suffix for a human-readable blocksize. The major caller-visible + change is the addition of a new + LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating + that both overflow and suffix chars were found. -2004-07-16 Simon Josefsson + * lib/human.c (humblock): Don't check separately for invalid suffix + char; that is xstrtoumax's job (now that its bug is fixed). + * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined + INTMAX_MAX]: New macros. + * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM, + TYPE_MAXIMUM): New macros. + (bkm_scale, bkm_scale_by_power): Return strtol_error, not int. + (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values + if overflow occurs, as it's what __strtol does and it's more useful + in practice. + (__xstrtol): If __strtol reports some error other than ERANGE, + reflect it to the caller as LONGINT_INVALID. If it reports + ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW + | LONGINT_INVALID_SUFFIX_CHAR if both errors occur. + * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum + value. + (_STRTOL_ERROR): Handle it. Abort when given unknown error codes. + * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros. + * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) + [defined UINTMAX_MAX]: New macros. - * lib/dummy.c: New file. +2003-10-14 Bruno Haible -2004-07-16 Bruno Haible + * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list. - * lib/backupfile.h: Add extern "C" for C++. - * lib/closeout.h: Likewise. - * lib/copy-file.h: Likewise. - * lib/findprog.h: Likewise. - * lib/full-write.h: Likewise. - * lib/pathname.h: Likewise. - * lib/progname.h: Likewise. - * lib/stpcpy.h: Likewise. - * lib/stpncpy.h: Likewise. - * lib/strcase.h: Likewise. - * lib/strstr.h: Likewise. - * lib/xalloc.h: Likewise. +2003-10-14 Bruno Haible - * lib/mbswidth.h: Add extern "C" for C++. - Reported by Albert Chin-A-Young . + * m4/sig_atomic_t: New file, from GNU gettext. + * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T. -2004-07-13 Robert Millan +2003-10-14 Bruno Haible - * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g. + * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert. + * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert. + Also use volatile where needed. -2004-07-09 Simon Josefsson +2003-10-12 Paul Eggert - * lib/getndelim2.c: Include stddef.h, for ptrdiff_t. (FreeBSD 4.9 - failed without this.) + * modules/xalloc: Do not depend on 'exit'. Depend on 'stdbool'. + Change maintainer from Bruno Haible to 'all'. -2004-07-09 Paul Eggert +2003-10-12 Paul Eggert - * modules/chown (Files): Add lib/fchown-stub.c, since - gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub). + * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE. -2004-07-09 Paul Eggert +2003-10-12 Paul Eggert - * lib/fchown-stub.c: New file. + * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls. + (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate, + and define in terms of the other primitives. + * lib/xmalloc.c: Include stdbool.h; do not include exit.h. + (SIZE_MAX): Define if not already defined. + (array_size_overflow): New function. + (xalloc_die): Abort instead of exiting if 'error' returns. + (xnmalloc, xnrealloc, xzalloc, xclone): New functions. + (xmalloc, xrealloc): Use them. + (xcalloc): Check for address arithmetic overflow. + * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be + a bit faster than strcpy. -2004-06-24 Jim Meyering +2003-10-10 Simon Josefsson - * lib/obstack.h (obstack_base): Cast to (void *), per documentation. + * modules/argp (Depends-on): Add restrict and strcase. -2004-06-22 Paul Eggert +2003-10-10 Simon Josefsson - * modules/argz: Omit "#include". + * m4/argp.m4: Add AC_C_INLINE. - * MODULES.html.sh (func_all_modules): Add calloc, to match - 2004-06-01 addition of calloc module. +2003-10-08 Paul Eggert -2004-06-22 Paul Eggert + Merge getpass from libc, plus a few fixes. - * m4/argz.m4: New file, which is autoupdated from libtool. + * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1. + Include . + Include if HAVE_STDIO_H, otherwise define + __fsetlocking to empty. + [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but + do include . + Do not include ; not needed. + [_LIBC]: Include . + (NOTCANCEL_MODE): New macro. + (flockfile, funlockfile) [_LIBC]: New macros. + (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr) + [!_LIBC]: New macros. + (call_fclose): New function. + (getpass): Use it. Save tty stream separately; this simplifies the + code and makes it more reliable if stdin happens to equal stdout. + Invoke __fsetlocking on tty. + Handle thread cancellation if needed. + Namespace cleanup (use __tcgetattr, __getline). + Use bool for Booleans. + [USE_IN_LIBIO]: Handle wide streams. + [!_LIBC]: Unconditionally do the fseek, since we don't know what + stream might go where. -2004-06-22 Paul Eggert + * lib/unlocked-io.h: Include , so that the caller + doesn't have to include before us. + (clearerr_unlocked, feof_unlocked, ferror_unlocked, + fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked, + fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked, + putc_unlocked, putchar_unlocked): Define to the unlocked counterpart + if not declared, so that we can use getpass.c code from libc without + rewriting it. + (flockfile, ftrylockfile, funlockfile): New macros. - * lib/argz.c, lib/argz_.h: New files, which are autoupdated from - libtool. +2003-10-08 Paul Eggert -2004-06-22 Paul Eggert + * modules/getpass: Depend on stdbool. - * config/srclist-update: Don't insist on "USA." before the - close-comment, as libtool omits the period and puts the */ on a - separate line. - * config/srclist.txt: Add argz.c, argz_.h, argz.m4. - * config/srclistvars.sh: Add LIBTOOL (for eggert only). +2003-10-08 Paul Eggert -2004-06-22 Gary V. Vaughan + * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h. - * modules/argz: New file. - * MODULES.html.sh (func_all_modules): Add argz. +2003-10-07 Karl Berry -2004-06-12 Jim Meyering - and Paul Eggert + * config/config.{guess,sub}: update from config. - * modules/hash (Files): Add lib/xalloc.h. - * modules/pipe (Depends-on): Add wait-process. - * modules/stat (Depends-on): Add xalloc. - * modules/userspec (Files): Add lib/userspec.h. - * modules/xstrto +2003-10-06 Jim Meyering + Bruno Haible - Upgrade from gettext-0.13. - * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4, - m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4, - m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4. + This lets translators provide better translations for the + "Written by ..." part of --version output. + * lib/version-etc.h: Include stdarg.h. + (version_etc_copyright): Declare as readonly. + (version_etc): Make this function variadic with a NULL-terminated list + of author name strings. + (version_etc_va): New declaration. + * lib/version-etc.c: Include stdarg.h, stdlib.h. + (version_etc_copyright): Declare as readonly. + (version_etc_va): New function. Provide a different translatable string + for each possible number of authors < 10. Abbreviate when there are 10 + authors or more. + (version_etc): Make this function variadic. Call version_etc_va. + Suggestion from Gary V. Vaughan. -2004-06-10 Jim Meyering + * lib/long-options.h (parse_long_options): Change prototype: the + authors string is moved to the end and becomes variadic. + * lib/long-options.c: Include stdarg.h. + (parse_long_options): Make this function variadic, too. + Call version_etc_va, not version_etc. - * lib/calloc.c: New file. +2003-10-06 Bruno Haible -2004-06-06 Paul Eggert + * modules/version-etc-2: Remove file. + * MODULES.html.sh (func_all_modules): Remove version-etc-2. - * lib/getdate.y (yylex): Allow space between sign and number. - Problem reported by Dan Jacobson. +2003-10-06 Bruno Haible -2004-06-01 Paul Eggert + * modules/fatal-signal: New file. + * MODULES.html.sh (func_all_modules): Add fatal-signal. - Merge from coreutils CVS. +2003-10-06 Bruno Haible - * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4, - makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4, - putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4, - strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4, - xstrtol.m4: Fix copyright date and/or serial number. + * m4/fatal-signal.m4: New file. + * m4/signalblocking.m4: New file, from GNU gettext. - * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h. - See if we need an fchown replacement. - (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro. - (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK, - and use the replacement function if we detect either defect. +2003-10-06 Bruno Haible - * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR, - gl_UTIMECMP. + * lib/version-etc-2.h: Remove file. + * lib/version-etc-2.c: Remove file. -2004-06-01 Paul Eggert - and Jim Meyering +2003-10-06 Bruno Haible - Merge from coreutils CVS. + * lib/fatal-signal.h: New file, from GNU gettext. + * lib/fatal-signal.c: New file, from GNU gettext. - * lib/stat-macros.h: New file, with contents from file-type.h - and coreutils' system.h. - * lib/file-type.c: Include "stat-macros.h". - * lib/file-type.h (file_type): Move all macro definitions to new file, - stat-macros.h. +2003-10-05 Paul Eggert - * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]: - Wrap old code with this conditional. - [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown - function that does not dereference symlinks. - * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown. + * README: Rework advice for preventing empty .o files. + Don't recommend ELIDE constructs. Recommend , + not . - * lib/xreadlink.c: Include xreadlink.h first, to catch .h file - dependency problems. - (xreadlink): Accept new arg SIZE, for efficiency. - All decls and uses changed. - * lib/xreadlink.h: Include , for size_t. +2003-10-04 Karl Berry - * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h, - gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h. + * lib/argp*: update from libc. - * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h, - sysexits.h. +2003-10-04 Karl Berry -2004-06-01 Jim Meyering + * config/config.{guess,sub}: update from config. - * m4/calloc.m4: New file. +2003-10-02 Bruno Haible -2004-05-31 Paul Eggert + * modules/lchown (Include): Add lchown.h. + * modules/time_r (Include): Use "..." syntax. + * modules/xgetdomainname (Include): Add xgetdomainname.h. - * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI - C B3910B A.05.55 [Dec 04 2003]. Problem reported by Jim Meyering. - Also, fix a typo in a diagnostic. +2003-10-01 Simon Josefsson -2004-05-30 Paul Eggert + * MODULES.html.sh (func_all_modules): Move gethostname from section + 'based on' to section 'lacking' POSIX:2001. - * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC - or AC_FUNC_REALLOC. +2003-10-01 Larry Jones -2004-05-30 Paul Eggert + * lib/getpass.c (getpass): Use a no-op fseek when switching from input + to output mode on the same stream. - * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these - macros to be defined. - (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if - the allocator returns NULL because the requested size is zero. +2003-09-29 Paul Eggert -2004-05-20 Paul Eggert + * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]: + Fix arg typo in previous patch. - * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this - var. Add comment explaining why libc still defines it. This - merges the following patch from glibc: - http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html +2003-09-28 Jim Meyering -2004-05-20 Andreas Schwab + * lib/error.c: Correct cpp indentation. - * m4/free.m4: Replace free if it not known to work, not the other - way round. +2003-09-27 Paul Eggert -2004-05-19 Paul Eggert + * modules/free: New file. - * lib/obstack.c (_obstack): Remove unused variable. It hasn't been - present in glibc since revision 1.1 of this file. - * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast, - obstack_alignment_mask, obstack_alloc, obstack_base, - obstack_blank, obstack_blank_fast, obstack_chunk_size, - obstack_copy, obstack_copy0, obstack_finish, obstack_grow, - obstack_grow0, obstack_init, obstack_int_grow, - obstack_int_grow_fast, obstack_make_room, obstack_memory_used, - obstack_next_free, obstack_object_size, obstack_ptr_grow, - obstack_ptr_grow_fast, obstack_room): Remove declarations of - nonexistent functions. +2003-09-27 Paul Eggert -2004-05-18 Karl Berry + * m4/free.m4: New file. - * config/srclist.txt: break link for vasnprintf.c. +2003-09-27 Paul Eggert -2004-05-17 Paul Eggert + * lib/minmax.h (MIN, MAX) + [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]: + Omit the special code that used __typeof__, since we worry that + it could be more trouble than it's worth. See: + http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html + http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html - Port obstack to the AS/400, where pointers are 16 bytes wide and - you cannot cast an integer to a valid pointer. This patch is - currently waiting to be integrated into glibc; see - . + * lib/free.c: New file. - * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove. - All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN. - (__BPTR_ALIGN, __PTR_ALIGN): New macros. - (struct obstack): temp member is now a union of a pointer and - an integer, instead of an integer. All integer uses changed. - This does not affect the physical layout of struct obstack, - except on hosts (like the AS/400) where the size or alignment of - void * is greater than that of ptrdiff_t. - (obstack_finish) [! (defined __GNUC__ && defined __STDC__ && - __STDC__)]: Store temporary in pointer member of union, not - integer member. - * lib/obstack.c: Include , for offsetof. - (struct fooalign): Remove; it doesn't need a name. - (union fooround): Change double to long double, and add void *. - (DEFAULT_ALIGNMENT): Use offsetof to compute. - (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant, - not a macro. Hence the values are always int; so remove all - casts-to-int in uses. +2003-09-27 Oskar Liljeblad -2004-05-17 Paul Eggert + Trivial fixes to Makefile.am parts of module listings. + * modules/strstr: Append strstr.h to lib_SOURCES. + * modules/strcase: Likewise, for strcase.h. - * config/srclist.txt: Break link for argp-help.c and argp-parse.c until - we can get this patch merged into glibc. +2003-09-27 Karl Berry -2004-05-17 Derek R. Price - Paul Eggert + * config/mkinstalldirs: update from automake. - * m4/argp: Depend on alloca. +2003-09-26 Paul Eggert -2004-05-17 Derek R. Price - Paul Eggert + * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define. + (error_tail): Do not loop, reallocating temporary buffer, since + the output cannot contain more wide characters than the input + contains bytes, the size must be big enough already. This avoids + one potential size overflow calculation. Check for size overflow + when calculating temporary buffer size. Free temporary buffer + when done, if it was allocated with malloc; this plugs a memory + leak. Remove casts from void * to pointers, that are no longer + needed now that we're assuming C89 or better. - * lib/argp-help.c, argp-parse.c: Assume rather than - freecoding. + Merge error changes from glibc. -2004-05-17 Bruno Haible + * lib/error.c, error.h: Update copyright notice header to match glibc. + * lib/error.c [defined _LIBC]: Include , . + (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]: + Disable cancellation while printing error. + * lib/error.h: Prepend __ to parameter names. - * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a - precision that consists of a '.' followed by an empty digit string. - Patch by Tor Lillqvist . +2003-09-26 Jim Meyering -2004-05-16 Paul Eggert + * lib/error.c (error_tail): Move some declarations + into inner scope where the local variables are used. - * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always, - for backward compatibility with older code. We need our own - alloca.h if _AIX is defined. Define HAVE_ALLOCA if we discover - it under some other name, and our alloca.h will define it. +2003-09-26 Bruno Haible -2004-05-16 Paul Eggert - Derek Price + * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX + stpncpy(). + Don't define stpncpy through config.h; it's now done through stpncpy.h. - * lib/alloca.c: Include , to get our interface. - * lib/alloca_.h: Use __alloca on AIX, so that we don't have to - include first. Use C89 prototype for alloca; this - requires including for size_t. Use extern "C" if C++. - Use #elif for simplicity, since we can assume C89 now. - Don't try to source the system alloca.h since it will not be found - and to prevent recursively including its replacement. - * lib/fnmatch.c: Include instead of opencoding. - * lib/regex.c: Likewise. +2003-09-26 Bruno Haible -2004-05-16 Derek Price - Paul Eggert + * lib/stpncpy.h (gnu_stpncpy): New declaration. + (stpncpy): Define as alias for gnu_stpncpy. + * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy. - getline cleanup. This changes the getndelim2 API: both order of - arguments, and meaning of delim2 (now uses EOF, not 0, to indicate - no delimiter). +2003-09-25 Simon Josefsson - * lib/getline.c: Don't include stddef.h or stdio.h, since our - interface does that. - (getline): Always use getdelim, so that we don't have two - copies of this code. - * lib/getndelim2.c: Include , , - if available. - (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined. - (GETNDELIM2_MAXIMUM): New macro. - (getndelim2): Reorder arguments. delim==EOF now means no delimiter, - instead of the old practice of delim2==0. All callers changed. - Return -1 on overflow, instead of returning junk. - Do not set *linesize unless allocation succeeds. - * lib/getndelim2.h: Do not include stddef.h; no longer needed, now - that we include sys/types.h. - * lib/getnline.h: Likewise. - * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro. - (getndelim2): Reorder arguments. - * lib/getnline.c (getnline, getndelim): - Don't discard the NMAX argument. - (getnline): Invoke getndelim, to avoid code duplication. - * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead - of (size_t) -1 by callers of the getnline family. + * lib/xgetdomainname.h: New file. + * lib/xgetdomainname.c: New file. -2004-05-13 Paul Eggert +2003-09-25 Simon Josefsson + Bruno Haible - * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC. - Check for gettimeofday. - * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC. - Check for settimeofday, stime. + * modules/getdomainname: New file. + * modules/xgetdomainname: New file. + * MODULES.html.sh (func_all_modules): Add getdomainname, + xgetdomainname. -2004-05-13 Paul Eggert +2003-09-25 Simon Josefsson + Bruno Haible - * lib/nanosleep.c (suspended): Change its type from int to - sig_atomic_t volatile. - (first_call): Make it private to rpl_nanosleep, and have it - be zero initially as that's a bit faster. - (my_usleep): Round up fractional times instead of truncating them, - as this is the usual meaning for 'sleep'. + * m4/getdomainname.m4: New file. - * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday' - doesn't work. - * lib/settime.c: Include , for stime (on Solaris 8, anyway). - (ENOSYS): Define if not defined. - (settime): Fall back on stime if it exists and settimeofday fails. - But don't bother with fallbacks if a method fails with errno == EPERM. +2003-09-25 Simon Josefsson + Bruno Haible -2004-05-11 Jim Meyering + * lib/getdomainname.h: New file. + * lib/getdomainname.c: New file. - Prior to this change, the save_cwd caller required read access to the - current directory on most systems (ones with the fchdir function). +2003-09-25 Karl Berry - * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only - fails, try write-only, and finally, resort to using xgetcwd. + * lib/argp-fmtstream.c, argp-help.c: update from libc. -2004-05-06 Paul Eggert +2003-09-25 Karl Berry - * lib/obstack.c, obstack.h: Import changes from libc. + * config/install-sh: update from automake. -2004-04-28 Bruno Haible +2003-09-25 Bruno Haible - * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it - also implicitly appends .exe to executables. - * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now - accepts Windows pathnames. - * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN): - Treat Cygwin like Windows, since it now accepts Windows pathnames. - * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN): - Treat Cygwin like Windows, since it now accepts Windows pathnames. - Reported by Derek Robert Price . + * modules/version-etc-2: New file, from modules/version-etc with + modifications. + * MODULES.html.sh (func_all_modules): Add version-etc-2. -2004-04-21 Karl Berry +2003-09-25 Bruno Haible - * config/srclist.txt (localcharset.c): break sync. + * lib/version-etc-2.h: New file, from version-etc.h with modifications. + * lib/version-etc-2.c: New file, from version-etc.c with modifications. -2004-04-20 Paul Eggert +2003-09-24 Simon Josefsson - * m4/host-os.m4: Add a copyright notice. + * modules/xgethostname: Add xgethostname.h. -2004-04-20 Jim Meyering +2003-09-24 Paul Eggert - Change UTILS_ to gl_ in AC_DEFINE'd names. - Change utils_- and jm_-prefixed variables, too. - * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from - UTILS_FUNC_MKDIR_TRAILING_SLASH. - * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP. + * lib/linebuffer.c (freebuffer): Don't free the argument, just + the buffer associated with the argument. Bug reported by + Simon Josefsson. - * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD. - Don't emit trailing blanks. - Also rename jm_-prefixed variables to have gl_ prefix. +2003-09-24 Paul Eggert - * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS. - Also rename jm_-prefixed variables to have gl_ prefix. + * README: Document assumptions that 'int' is at least 32 bits + wide, that integer arithmetic is 2's complement without overflow, + that there are no holes in integer values, that adding sizes of + two nonoverlapping objects can't overflow, and that all-bits-zero + yields scalar zero. Fix spelling and capitalization typos. - * m4/jm-macros.m4: Reflect the renamings. - * m4/prereq.m4: Likewise. +2003-09-19 Karl Berry -2004-04-20 Jim Meyering + * lib/argp.h: update from libc. - * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak - memory. +2003-09-17 Paul Eggert -2004-04-20 Jim Meyering - Bruno Haible + * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first, + to avoid spurious warnings like "AC_RUN_IFELSE was called before + gl_USE_SYSTEM_EXTENSIONS" from autoreconf. - * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak - memory when realloc fails. +2003-09-17 Paul Eggert -2004-04-19 Jim Meyering + * gnulib-tool: Use "test -h", not "test -L", for portability + to Solaris 8 /bin/sh. (This bug is fixed in Solaris 9.) + (tags_regexp): Remove, since \| doesn't conform to POSIX. + (sed_extract_prog): Issue s commands one-by-one, rather than + using \| in one s command. - * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE, - now that readutmp.c may call `free (0)'. +2003-09-16 Paul Eggert -2004-04-19 Bruno Haible + * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon + input error, instead of returning NULL the next time we are called + (and therefore losing track of errno). - * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well. - * m4/inttypes_h.m4: Likewise. - * m4/stdint_h.m4: Likewise. - * m4/intmax_t.m4: Likewise. - * m4/uintmax_t.m4: Likewise. +2003-09-16 Bruno Haible -2004-04-18 Jim Meyering + * gnulib-tool (func_create_testdir): Warn about duplicated + dependencies. - * m4/prereq.m4: Don't forbid jm_ prefix. +2003-09-15 Paul Eggert - * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4: - * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4: - * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4: - * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4: - * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4: - * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4: - * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4: - * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4: - * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4: - * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4: - * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4: - * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4: - * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4: - * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4: - * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4: - * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4, - * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4: - * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4: - Change jm_ to gl_ in AC_DEFINE'd names. Update all uses. + * modules/argmatch, modules/fatal, modules/obstack, + modules/xalloc, modules/xgethostname: Sort dependencies by + importance, not alphabetically. -2004-04-18 Jim Meyering +2003-09-15 Paul Eggert - * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc - failure, don't leak memory and do call END_UTMP_ENT. + * lib/getndelim2.c (getndelim2): Don't trash errno when a read + fails, so that the caller gets the proper errno. -2004-04-16 Jim Meyering + * lib/readutmp.c (read_utmp): Likewise. + Check for fstat error. Close stream and free storage + when failing. - * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro. It is specific to - coreutils' stat program. - (gl_PREREQ): Don't require jm_PREREQ_STAT. +2003-09-14 Karl Berry -2004-04-11 Paul Eggert + * config/srclist.txt (strdup.c): disable for c89 changes. - * lib/inttostr.h: Include unconditionally, since we assume - C89. - (CHAR_BIT): Remove, since we assume C89. - Include if available, as per current Autoconf CVS advice. +2003-09-14 Jim Meyering -2004-03-31 Jim Meyering + * lib/getloadavg.c: Correct cpp indentation. + * lib/strdup.c: Likewise. + * lib/vasnprintf.c: Likewise. - * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC. - Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC. - * m4/xalloc.m4: Likewise. +2003-09-14 Bruno Haible -2004-03-30 Paul Eggert + * modules/fwriteerror: New file. + * MODULES.html.sh (func_all_modules): Add fwriteerror. - Merge from coreutils. +2003-09-14 Bruno Haible - * m4/inttostr.m4: New file. - * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff. - Require AM_STDBOOL_H and gl_TIMESPEC instead. - Require gl_CLOCK_TIME. - * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE. + * lib/fwriteerror.h: New file. + * lib/fwriteerror.c: New file. -2004-03-30 Paul Eggert +2003-09-12 Paul Eggert - * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int - not bool, to be more consistent with Unix conventions. - Suggested by Bruno Haible. + * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack, + modules/xgethostname, modules/xalloc: Depend on exit. - Merge from coreutils. +2003-09-12 Paul Eggert - * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c: - * lib/umaxtostr.c: New files. + * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it. - * lib/getdate.h: Include stdbool.h, and timespec.h instead of - the usual dance. - (get_date): Change signature to support fractional time stamps. - All callers changed. - * lib/getdate.y: Include "getdate.h" first, as we can now - assume C89 and don't need to worry about 'const'. - Similarly, include "unlocked-io.h" near start, not in middle. - Include . - (textint.value): Use long int rather than int. - (textint.digits): Use size_t rather than int. - (BILLION, LOG10_BILLION): New constants. - (parser_control): New member rel_ns. Members day_ordinal, - time_zone, month, day, hour, minutes, rel_year, rel_month, - rel_day, rel_hour, rel_minutes, rel_seconds - are now long int, not int. Member seconds is now struct timespec, - not int. New member timespec_seen. Members dates_seen, days_seen, - local_zones_seen, rels_seen, times_seen, zones_seen are now size_t, - not int. - (%union.intval): Now long int, not int. - New member timespec. - (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens. - (seconds, signed_seconds, unsigned_seconds): New nonterminals. - (spec): Now is a timespec or an item list. - (timespec, items): New nonterminals. - (time, rel, relunit, number, get_date): - Add support for fractional seconds. - (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax. - (gmtime, localtime, mktime): Remove decls; not needed with C89. - (to_hour): First arg is now long int, not int. - (to_year): Returns long int, not int. - Don't treat year -70 like 70. - (tm_diff): Returns long int, not int. - (lookup_word): Use bool instead of int when appropriate. - (yylex): Use size_t for count, not int. - Detect overflow when parsing large integer constants. - Add support for fractions. - (get_date): Make pointers 'const' if possible. - Use more-portable code to detect integer overflow. - (main) [TEST]: Adjust to above changes. Test for localtime failure. - Don't use ctime; it's not reliable if the year has >4 digits. + * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX + and AC_MINIX, too, so that their extensions are available. - * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set. - This is for compatibility with BSD. + * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove. All uses removed. + This macro has been superseded by gl_BACKUPFILE. + + More patches to assume C89 or better. + + * m4/error.m4 (gl_ERROR): Don't check for vprintf. + + * m4/check-decl.m4 (jm_CHECK_DECLS): Include , + unconditionally. + * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h. + * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): + Include , unconditionally. + * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free. + * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h. + * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C + headers or for string.h. + * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h + or strtoul. - * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define. - (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise. - From coreutils' system.h. + * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C + headers. + * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise. + * m4/userspec.m4 (gl_USERSPEC): Likewise. + * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise. + * m4/xstrtod.m4 (gl_XSTRTOD): Likewise. + * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise. + * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h, + memcpy, memset. + (jm_FUNC_GNU_STRFTIME): Don't require standard C headers. + * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h. + * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h, + strtol. + * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h. + * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h. + * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol, + strtoul. - * lib/userspec.c: Don't include "posixver.h". - (parse_user_spec): Fall back on USER.GROUP parsing, regardless - of POSIX version, as POSIX 1003.1-2001 allows that behavior as a - compatible extension. Simplify code by removing a boolean int - that was always nonzero if a string was nonnull. +2003-09-12 Paul Eggert -2004-03-30 Jim Meyering + * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h. + * lib/obstack.c [!defined _LIBC]: Likewise. + * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h + * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise. + * lib/exitfail.c: Don't include stdlib.h; no longer needed. - Merge from coreutils. + More changes to assume C89 or better. - Avoid a configure-time warning about sys/ucred.h on OSF V4.0. - * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since - on some systems one must include before it. - Reported by Christian Krackowizer. + * lib/error.c (error_tail): Assume vprintf. -2004-03-30 Jim Meyering + * lib/argmatch.c (getenv): Remove decl. + * lib/progreloc.c (get_full_program_name): Define via prototype. + * lib/setenv.c (clearenv): Likewise. + * lib/stpncpy.c: Do not include or ; not + needed. + * lib/strdup.c: Include , unconditionally. + (malloc, memcpy): Remove decls. + * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove. + (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove. + Include , , , unconditionally. + (memcpy): Remove macro. + (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally. + (__P): Remove. All uses removed. + (PTR): Remove. All uses changed to void *. + (CHAR_BIT, NULL): Remove. + (spaces, zeros, memset_space, memset_zero) + [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]: + Remove. + (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove. + (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days): + Define with prototype. + Remove now-unnecessary prototype decl. + (extra_args_spec): Assume ANSI C. All uses changed. + (extra_args_spec_iso): Remove. + (my_strftime, emacs_strftimeu): Define via prototype. + * lib/strtod.c: Include , , + unconditionally. + (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls. + * lib/strtoimax.c: Include unconditionally. + (strtoul, strtol): Remove decls. + * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX, + LONG_MAX): Remove. + Include , , , unconditionally. + (LOCALE_PARAM_DECL): Remove. All uses changed to LOCALE_PARAM_PROTO. + (LOCALE_PARAM_PROTO): New macro. + (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R. + (INTERNAL (strtol), strtol): Define with a prototype. + (PARAMS): Remove. All uses removed. + * lib/tempname.c: Include unconditionally. + * lib/userspec.c: Include , unconditionally. + * lib/xgethostname.c (main): Define with a prototype. + * lib/xmalloc.c: Include "xalloc.h" first, to check interface. + Include unconditionally. + (calloc, malloc, realloc, free): Remove decls. + * lib/xstrtod.c: Include "xstrtod.h" first, to check interface. + Include unconditionally. Sort include file names. + (strtod): Remove. + (xstrtod): Define with a prototype. + * lib/xstrtol.c: Include , unconditionally. + (strtol, strtoul): Remove decls. - Merge from coreutils. +2003-09-11 Paul Eggert - * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h. + More patches to assume C89 or better. + * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check. + * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h, + string.h, memchr, STDC_HEADERS. - * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading - an empty input stream. +2003-09-11 Paul Eggert - * lib/readtokens.c: Include . - (readtoken): Use `size_t' rather than int/long. - All callers adjusted. - Use `bool' rather than `int' where appropriate. - Use memset rather than an explicit loop. - Use x2nrealloc rather than xrealloc. - Allow the use of `\0' as a delimiter. - (readtokens): Likewise. - * lib/readtokens.h (readtoken, readtokens): Update prototypes. + * lib/strndup.c: Don't include , . + Include , unconditionally. + Remove now-unnecessary cast to char *. + * lib/strnlen.c: Include unconditionally. + * lib/yesno.c (yesno): Define with a prototype. -2004-03-30 Jim Meyering +2003-09-11 Bruno Haible - * m4/realloc.m4: Remove file, since now it does no more than - AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via - the `configure.ac' section of module/realloc. - * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC. + * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment. -2004-03-30 Bruno Haible +2003-09-10 Jim Meyering - * lib/getloadavg.c (getloadavg): Don't assume setlocale returns - nonnull. + * lib/error.c: Correct indentation of cpp directives. -2004-03-29 Paul Eggert +2003-09-10 Bruno Haible - Merge changes to getloadavg.c from coreutils and Emacs. + * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove check. + * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove check. + * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove check. + * m4/unicodeio.m4 (gl_UNICODEIO): Remove check. + * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove + and checks. + * m4/xreadlink.m4 (gl_XREADLINK): Remove check. + * m4/yesno.m4 (gl_YESNO): Remove check. - * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale): - Define to an expression, not to the empty string. - Include cloexec.h and xalloc.h. - (getloadavg): Restore LC_NUMERIC locale after setting it temporarily. - Use set_cloexec_flag rather than rolling our own. - * lib/cloexec.c, lib/cloexec.h: New files. +2003-09-10 Bruno Haible -2004-03-29 Paul Eggert + * lib/strcspn.c: Include unconditionally. + * lib/strpbrk.c: Include unconditionally. + * lib/strstr.c: Include unconditionally. + * lib/unicodeio.c: Include unconditionally. + * lib/setenv.c: Include and unconditionally. + * lib/unsetenv.c: Likewise. + * lib/xreadlink.c: Include unconditionally. + * lib/yesno.c: Include unconditionally. + (rpmatch): Add prototype. - * m4/cloexec.m4: New file. +2003-09-09 Paul Eggert -2004-03-18 Paul Eggert + More patches to assume C89 or better. + * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h. + * m4/getopt.m4 (gl_GETOPT): Don't check for string.h. + * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers + or for string.h. + * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for + stdlib.h. + * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard + C headers. + * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h, + string.h. + * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free. + * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv. + * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers, + or for string.h. + * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h. + * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard + C headers. + * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers, + memcpy. + * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy. + * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h. + * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h. + * m4/memcoll.m4 (gl_MEMCOLL): Likewise. + * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h. + * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h, + string.h, free. + * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers. + * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers. + * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard + C headers, or for string.h. + * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h. + (gl_PREREQ_OBSTACK): Don't check for stdlib.h. + * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C + headers, memory.h, stdlib.h, string.h, strings.h. + * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h. + * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv. + * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy, + strchr. + * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C + headers, memory.h, string.h. + * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h. + * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h, + free. + * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C + headers. + * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free. + * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers. + * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers. + * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h. + * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h. - * lib/getopt.h: Sync with libc CVS. +2003-09-09 Paul Eggert -2004-03-18 Paul Eggert - Bruno Haible + More K&R removal. - * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether declares - mbswidth. + * lib/acosl.c (main): Use a prototype. + * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c, + tanl.c: Likewise. -2004-03-18 Paul Eggert - Bruno Haible + * lib/getloadavg.c (getloadavg, main): Define via prototypes. - * lib/mbswidth.h: Include only if - HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have - . - * lib/mbswidth.c: Include and before . + * lib/getopt.h (struct option.name): Assume C89, and use 'const'. + (getopt, etopt_long, getopt_long_only, _getopt_internal) + [defined __GNU_LIBRARY__]: Assume C89, so we can always declare + with a prototype. + * lib/getopt.c (const): Remove macro. + Include unconditionally. + (my_index): Remove; all uses changed to strchr. + (strlen): Remove decl. + (exchange): Remove forward decl; no longer needed. + (exchange, _getopt_initialize, _getopt_internal, getopt, main): + Define with prototype. + * lib/getopt1.c (const): Remove macro. + (getopt_long, getopt_long_only, main): Define with prototype. -2004-03-09 Paul Eggert + * lib/getugroups.c: Include unconditionally. - * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c: - Sync with libc CVS. - * lib/getopt_int.h: New file, also synced from libc. + * lib/getusershell.c: Include unconditionally. + (getusershell, setusershell, endusershell, readname, main): + Define with prototypes. -2004-03-09 Paul Eggert + * lib/group-member.c: Include group-member.h first. + Include unconditionally. - * config/srclistvars.sh: Add GNUWWWLICENSES for eggert. - * config/srclist.txt: Sync getopt with libc. Add getopt_int.h. - Bring back getopt.c, getopt.h, getopt1.c. + * lib/hard-locale.c: Include hard-locale.h first. + Include , unconditionally. -2004-03-07 Paul Eggert + * lib/hash.c (free, malloc): Remove decls. + Include unconditionally. - * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK. - All uses changed. Check for sa_sigaction member; this fixes - a bug first reported by Jason Andrade in - . + * lib/human.c: Include , unconditionally. + (getenv): Do not declare. -2004-03-07 Paul Eggert + * lib/idcache.c: Include unconditionally. - * lib/c-stack.c (SIGACTION_WORKS): New macro. Use it instead of long - '#if' expressions. Unlike the code it replaces, it does not - depend on (defined _SC_PAGESIZE). However, it does depend on - HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug - first reported by Jason Andrade in - . + * lib/long-options.c: Include long-options.h first, to test interface. + Include unconditionally. -2004-02-25 Simon Josefsson + * lib/makepath.c: Include makepath.h first, to test interface. + Include and unconditionally. - * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared. + * lib/linebuffer.c: Include . + (free): Remove decl. -2004-02-25 Simon Josefsson + * lib/malloc.c: Include , for malloc; don't bother with + stddef.h. rpl_malloc returns void *, not char *. + * lib/realloc.c (rpl_realloc): Likewise. Also, define with a + prototype. - * lib/strdup.h: New file. - * lib/strdup.c: Include it. - * lib/path-concat.c: Include strdup.h. Drop strdup declaration. - * lib/userspec.c: Include strdup.h. Drop strdup declaration. + * lib/md5.h: Include unconditionally. + (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case. + (__P): Remove; all uses removed. + * lib/md5.c: Include "md5.h" first. + (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream, + md5_buffer, md5_process_bytes, md5_process_block): + Define with prototypes. + * lib/sha.h (__P): Remove all uses. (It wasn't defined??) + * lib/sha.c: Include "sha.h" first. + Include , unconditionally. -2004-02-23 Karl Berry + * lib/memchr.c (__ptr_t): Remove; all uses changed to void *. + * lib/memcmp.c (__ptr_t): Likewise. + * lib/memrchr.c (__ptr_t): Likewise. + * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c: + Include unconditionally. + * lib/memchr.c, memrchr.c: Include unconditionally. + * lib/memchr.c: Include unconditionally. + * lib/memchr.c (LONG_MAX): Remove. + * lib/memrchr.c (LONG_MAX): Likewise. + * lib/memchr.c (__memchr): Define via a prototype. + * lib/memrchr.c (__memrchr): Likewise. + * lib/memcmp.c (__P): Remove, and remove all uses. + (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment): + Remove forward decls; no longer needed. + * lib/memcpy.c, memmove.c, memset.c: Include . + Use types required by C89 in prototype. - * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files - (from fencepost.gnu.org:/gd/gnuorg). + * lib/mkdir.c: Include , unconditionally. + * lib/savedir.c: Likewise. + * lib/mkdir.c (free): Remove decl. + * lib/rmdir.c (rmdir): Define with a prototype. + * lib/savedir.c: Include savedir.h first, to test interface. -2004-02-23 Karl Berry + * lib/mktime.c (STDC_HEADERS): Remove. + Include , unconditionally. - * config/srclistvars.sh (GNUORG) [karl]: redefine. - * config/srclist.txt: add maintain/standards documents. + * lib/modechange.c: Include unconditionally. + (malloc): Remove decl. -2004-02-18 Bruno Haible + * lib/mountlist.c: Include , unconditionally. + (free): Remove decl. - * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE. - Reported by Derek Robert Price . + * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]: + Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H. + (This type really should be intptr_t, but that's a C99ism.) + (_obstack_memcpy): Remove: all uses changed to memcpy. + Include unconditionally. + (struct obstack): Assume __STDC__ for types of members + chunkfun, freefun, extra_arg. + (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1, + _obstack_memory_used, obstack_alloc_failed_handler, obstack_init, + obstack_begin, obstack_specify_allocation, + obstack_specify_allocation_with_arg, obstack_chunkfun, + obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]: + Remove unprototyped decls and the macros that use them. + * lib/obstack.c (POINTER): Remove. All uses changed to void *. + (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN, + _obstack_begin, _obstack_begin_1, _obstack_allocated_p) + (defined __STDC__ && __STDC__)]: + Remove nonprototyped code. + Include unconditionally. + (_obstack_begin, _obstack_begin_1, _obstack_newchunk, + _obstack_allocated_p, _obstack_free, obstack_free, + _obstack_memory_used, print_and_abort): + Define using prototypes. + (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base, + obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0, + obstack_finish, obstack_grow, obstack_grow0, obstack_make_room, + obstack_next_free, obstack_object_size, obstack_room) [0]: + Remove unused, unprototyped code. -2004-02-16 Karl Berry + * lib/path-concat.c: Include , unconditionally. - * config/mkinstalldirs, install-sh: update from automake. + * lib/physmem.c (physmem_total, physmem_available, main): Define + with prototypes. -2004-02-06 Karl Berry + * lib/posixtm.c: Include , unconditionally. + (main): Define with a prototype. - * m4/po.m4: update from gettext 0.14.1. + * lib/posixver.c (getenv): Remove decl. -2004-02-06 Karl Berry + * lib/putenv.c (malloc): Returns void *, not char *. + Include unconditionally. + (strchr, memcpy, NULL): Do not define. - * lib/config.charset: update from gettext 0.14.1. + * lib/readtokens.c: Include readtokens.h first, to test interface. + Include , unconditionally. + (init_tokenbuffer): Define with a prototype. -2004-02-05 Paul Eggert + * lib/regex.c (PARAMS): Remove. All uses removed. + All uses of _RE_ARGS removed, too. + Include , , , + unconditionally. + (bzero): Assume memset exists. + (memcmp, memcpy, NULL): Remove. + (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed + char, or assignments to local vars of type signed char. + (init_syntax_once, PREFIX(extract_number_and_incr), + PREFIX(print_partial_compiled_pattern), + PREFIX(print_compiled_pattern), PREFIX(print_double_string), + convert_mbs_to_wcs, print_fastmap, re_set_syntax, + PREFIX(regex_grow_registers), PREFIX(regex_compile), + PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1), + PREFIX(insert_op2), PREFIX(at_begline_loc_p), + PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space, + wcs_compile_range, byte_compile_range, truncate_wchar, + PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers, + re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2, + count_mbs_length, wcs_re_match_2_internal, + byte_re_match_2_internal, PREFIX(group_match_null_string_p), + PREFIX(alt_match_null_string_p), + PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate), + re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror, + regfree, PREFIX(extract_number)): Define with prototype. Remove + now-unnecessary declaration, if any. + (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec, + regcomp, regexec): + Remove now-unnecessary casts among pointer types. + * lib/regex.h (_RE_ARGS): Remove. All uses removed. - Add comments and code, prompted by suggestions from Bruno Haible - for sh-quote. - * lib/quotearg.h (quotearg_alloc): New decl. Improve the comments - describing the enum quoting_style values. - * lib/quotearg.c (quotearg_alloc): New function. - (quotearg_buffer_restyled): Treat lone { and } as special. - Treat = as special. Work around bug with older shells - that "see" a '\' that is really the 2nd byte of a multibyte char. - Quote empty string with shell_quoting_style. + * lib/rename.c: Include , unconditionally. + (free): Remove decl. -2004-02-03 Bruno Haible + * lib/rpmatch.c: Include unconditionally. - * m4/pipe.m4: New file, from GNU gettext. + * lib/same.c: Include , unconditionally. + (free): Remove decl. -2004-02-03 Bruno Haible + * lib/save-cwd.c: Include unconditionally. + * lib/xgetcwd.c: Likewise. - * lib/pipe.h: New file, from GNU gettext. - * lib/pipe.c: New file, from GNU gettext. + * lib/stat.c: Include , unconditionally. + (free): Remove decl. -2004-01-27 Bruno Haible + * lib/strchrnul.c (strchrnul): Define with a prototype. + Fix bug: c_in was not converted to char before searching. - * m4/execute.m4: New file, from GNU gettext. + The following changes are not K&R related: -2004-01-27 Bruno Haible + * lib/group-member.h: Include , so that this file is + self-contained. + * lib/makepath.h: Likewise. - * lib/execute.h: New file, from GNU gettext. - * lib/execute.c: New file, from GNU gettext. - * lib/w32spawn.h: New file, from GNU gettext. + * lib/getusershell.c (readname, default_index, line_size, readname): + Use size_t, not int, for sizes. + (readname): If the size overflows, report an error instead of + looping forever. -2004-01-24 Paul Eggert +2003-09-09 Paul Eggert - Merge from diffutils. + * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from + libc. - * lib/file-type.c (file_type): Add typed memory objects. - * lib/file-type.h (S_TYPEISTMO): New macro. +2003-09-09 Paul Eggert - * lib/c-stack.h (c_stack_action): Remove argv argument. - * lib/c-stack.c (c_stack_action): Likewise. All uses changed. - (die): Don't calculate message unless segv_action returns. - (get_stack_location, min_address_from_argv, max_address_from_argv, - volatile stack_base, volatile_stack_size): Remove. - (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume - that every segmentation violation is a stack overflow. (Ouch!) - See Debian bug 136249 (still outstanding) for more info about why - HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels. + * README: New section: portability guidelines. -2004-01-24 Paul Eggert +2003-09-09 Derek Robert Price - Exit-status fix from coreutils. + * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the + C89 spec. - Use exit_failure consistently in place of EXIT_FAILURE, - so that program exit statuses are consistent on failure. +2003-09-09 Derek Robert Price - * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]: - Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE. - * lib/argmatch.h: Comment fix to match the above. - * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]: - Now a macro referring to exit_failure, instead of a separate - variable. Include "exitfail.h" to get it. - * lib/xstrtol.h: Include "exitfail.h". - (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2. + * lib/getndelim2.c: Assume stdlib.h per the C89 spec. - * lib/long-options.c (parse_long_options): Use prototype - for usage function arg. Pass it EXIT_SUCCESS rather than 0, - for clarity. +2003-09-08 Paul Eggert -2004-01-21 Jim Meyering + Assume C89 or better; remove K&R cruft. + A few of these changes were first proposed by Derek Robert Price + in . - * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal - so as not to conflict with a different-sized __mktime_internal - function in GNU libc. - * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise. - Problem building statically-linked `ls' reported by Michael Brunnbauer. + * lib/addext.c: Include unconditionally. + * lib/backupfile.c: Include , unconditionally. + Don't declare getenv or malloc. -2004-01-20 Karl Berry + * lib/alloca.c: Include , unconditionally. + (POINTER_TYPE, pointer): Remove; all uses changed to void *. + (NULL): Remove. + (find_stack_direction, alloca): Use prototypes. - * config/config.guess: update from config. + * lib/atexit.c (atexit): Define using a prototype. - * config/srclistvars.sh: GNUWWWLICENSES for karl. + * lib/basename.c, dirname.c, stripslash.c: + Include unconditionally. -2004-01-20 Bruno Haible + * lib/bcopy.c: Include . + (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'. - Safer stack allocation. - * lib/setenv.c: Include allocsa.h. - (alloca): Remove fallback definition. - (freea): Remove macro. - (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa - instead of freea. + * lib/canon-host.c: Include , unconditionally. -2004-01-20 Bruno Haible + * lib/error.h (error, error_at_line, error_print_progname) + [! (defined (__STDC__) && __STDC__)]: Remove decls. + * lib/error.c: Include error.h first, to check interface. + Include , , unconditionally. + (VA_START): Remove; all uses changeed to va_start. + (exit, strerror): Remove decls. + (error_print_progname): Prototype uncondionally. + Don't include ; no longer needed. + (private_strerror): Remove. + (error_tail): Always define. + (error, error_at_line): Assume C89 or better; always use prototypes. + * lib/fatal.c: Include "fatal.h" first, to test interface. + Include , , unconditionally. + (VA_START): Remove; all uses changed to va_start. + [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for + this case. + (exit): Remove decl. + (fatal): Prototype unconditionally. Assume va_start works. + Abort at end, to pacify gcc. - * m4/eealloc.m4: New file, from GNU gettext. + * lib/euidaccess.c (main): Define with a prototype. -2004-01-20 Bruno Haible + * lib/exclude.c: Include , unconditionally. - * m4/allocsa.m4: New file, from GNU gettext. + * lib/exitfail.c: Include unconditionally. -2004-01-20 Bruno Haible + * lib/fnmatch_.h (__P): Remove. All uses changed to assume + prototypes. + * lib/fnmatch.c: Include fnmatch.h first, to test interface. + Include , , unconditionally. + (getenv): Remove decl. + (fnmatch): Define using a prototype. + * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed. + (FCT): Define using a prototype. - * lib/xallocsa.h: New file, from GNU gettext. - * lib/xallocsa.c: New file, from GNU gettext. + * lib/getdate.y: Include , unconditionally. -2004-01-20 Bruno Haible + * lib/gethostname.c: Include . + (gethostname): Define with prototype. Length is size_t, not int. - * lib/wait-process.c: On Windows, include windows.h. Needed on mingw. +2003-09-08 Paul Eggert -2004-01-20 Bruno Haible + Assume C89 or better; remove K&R cruft. + * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h. + * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h, + string.h, getenv, malloc. + * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard + headers. + * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h. + * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and + do not check for strerror. + * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h. + * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h. + * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and + do not check for doprnt or vprintf. + * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove. All uses removed. + * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h. - * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument. - * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE - specially. +2003-09-08 Paul Eggert -2004-01-20 Bruno Haible + * lib/getversion.c: Remove; was migrated to backupfile.c in 1997. + getversion.c should have been removed then, but was accidentally + preserved. - * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid() - patch. + * lib/utime.c [!HAVE_UTIMES_NULL]: Include , . + (utime_null): Fix typo: 'st' was sometimes called 'sb'. -2004-01-20 Bruno Haible +2003-09-08 Karl Berry - * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration. + * config/config.sub, config.guess, srclistvars.sh: update from savannah + config, forget about prep. -2004-01-20 Bruno Haible + * config/depcomp, missing: update from automake. - * lib/eealloc.h: New file. +2003-09-07 Paul Eggert -2004-01-20 Bruno Haible + * modules/time_r: Depend on 'restrict'. Fix from Simon Josefsson in + . - * lib/binary-io.h: Avoid warnings on Cygwin. +2003-09-07 Paul Eggert -2004-01-20 Bruno Haible + * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to + copy_tm_result. Bug reported by Simon Josefsson in + . - * lib/allocsa.h: New file, from GNU gettext. - * lib/allocsa.c: New file, from GNU gettext. +2003-09-06 Paul Eggert -2004-01-18 Karl Berry + * m4/time_r.m4: New file. + * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h. + * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime + is. Check for timegm declaration. + (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME. + Do not check for gmtime_r. + Replace mktime if __mktime_internal does not exist and if mktime + hasn't been replaced already. - * doc/gpl.texi, doc/lgpl.texi: new files. +2003-09-06 Paul Eggert -2004-01-18 Karl Berry + * lib/time_r.c, lib/time_r.h: New files. - * config/srclistvars.sh (GNUWWWLICENSES): new variable. - * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there. + * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to + __localtime_r. + (__localtime_r) [!defined _LIBC]: New macro. Include . + (__mktime_internal) [!defined _LIBC]: Now extern, not static. -2004-01-15 Paul Eggert + * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to + __gmtime_r. + (my_strftime_localtime_r): Remove; all uses changed to __localtime_r. + (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros. + Include . - Merge from coreutils. + * lib/timegm.c: Switch to glibc implementation, with the following + changes: + [defined HAVE_CONFIG_H]: Include . + [!defined _LIBC]: Include "timegm.h" rather than . + (__mktime_internal) [!defined _LIBC]: New decl. + (__gmtime_r) [!defined _LIBC]: New macro and function. + (timegm): Use a prototype, since gnulib assumes C89. + Do not bother declaring tmp to be const, as it's not really usefu. + * lib/timegm.h: Hoist "#include " out of #ifdef. + (timegm): Declare only if HAVE_DECL_TIMEGM. - * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t. - * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION. - (gl_DEFAULT_POSIX2_VERSION): Move - the documentation from 'configure' into 'config.hin', - so that 'configure --help' isn't burdened by it and - we don't have to worry about its formatting there. - Reword the documentation so that it's more succinct - and can be run together into a single paragraph. - * m4/same.m4 (gl_SAME): Check for pathconf. +2003-09-06 Paul Eggert -2004-01-15 Paul Eggert + * MODULES.html.sh (func_all_modules): Add time_r. + * modules/time_r: New file. + * modules/mktime, modules/strftime, modules/timegm: Depend on time_r. + * modules/timegm: Depend on mktime. Change maintainer to "all, glibc". - Merge from coreutils. +2003-09-03 Paul Eggert - * lib/posixver.c: Include posixver.h. + * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k. + Bug reported by Lute Kamstra in + . - * lib/same.c: Include , . - (_POSIX_NAME_MAX): Define if not defined. - (MIN): New macro. - (same_name): If file names are silently truncated, report - that the file names are the same if they are the same after - the silent truncation. + * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow", + "yesterday", "today", and "now" rather than tMINUTE_UNIT. Of + course with correspondingly smaller numbers for tomorrow and + yesterday. From Tadayoshi Funaba. Originally installed into + sh-utils on 1999-08-07, but the patch got lost (I guess during the + coreutils merge?). - * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the - conversion function. - * lib/xstrtod.c (xstrtod): Likewise. All callers changed to - include c-strtod.h and use c_strtod. Don't include stdlib.h; no - longer needed. +2003-08-31 Simon Josefsson -2004-01-15 Jim Meyering + * modules/timegm: New file. + * MODULES.html.sh (func_all_modules): Add timegm. - Merge from coreutils. +2003-08-31 Simon Josefsson - * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME - if no library is required. - * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX. - * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE. - * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58. - (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58. - * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW. - * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the - value, $ac_cv_search_crypt, if it's "none required". - * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro. - * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG, - not gl_FUNC_GETLOADAVG. - * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH, - gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS. + * m4/timegm.m4: New file. -2004-01-15 Jim Meyering +2003-08-31 Simon Josefsson - Merge from coreutils. + * lib/timegm.h: New file. + * lib/timegm.c: New file. Based on + wget-1.8.2/src/http.c:mktime_from_utc. - * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code. These - days, gcc-3.x does better all by itself. Patch from Dean Gaudet: - http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html +2003-08-31 Karl Berry - * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new, - optional configure-time default. + * lib/argp.h: update from libc. - * lib/version-etc.c (version_etc_copyright): Update copyright date. +2003-08-28 Bruno Haible - * lib/xreadlink.c (xreadlink): Correct outdated comment. + * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here. + This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch' + followed by '#define fnmatch fnmatch_posix' gives an error. -2004-01-15 Alexandre Duret-Lutz +2003-08-28 Bruno Haible - Merge from coreutils. + * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a + warning on QNX, which defines O_BINARY to 000000. - * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the - value, $ac_cv_search_nanosleep, if it's "none required". +2003-08-27 Jim Meyering -2004-01-14 Paul Eggert + * m4/mkstemp.m4: Require that the system mkstemp be able to create + 70 temporary files, not just 30. Tru64 V4.0F's mkstemp function + would fail after 32. Reported by Danny Levinson. Details here: + http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html - * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided - with like-named macro in fnmatch.c. - (EXT): Use an internal constant instead. +2003-08-24 Bruno Haible - Merge fnmatch patches from glibc. - * lib/fnmatch.c (mbsinit): Remove define. - Add libc_hidden_ver (__fnmatch, fnmatch). - * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate. - Adjust to renaming of collseq_table_lookup to __collseq_table_lookup. + * lib/binary-io.h: Include , to avoid a compilation error when + MSVC7 is included later. -2004-01-14 Karl Berry +2003-08-22 Simon Josefsson - * config/install-sh: update from automake. + * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES. -2004-01-13 Karl Berry +2003-08-20 Karl Berry - * config/install-sh: update from automake. + * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial. -2004-01-09 Karl Berry +2003-08-20 Bruno Haible - * config/install-sh: update from automake. + * modules/progname: New file. + * MODULES.html.sh (func_all_modules): Add progname. -2004-01-05 Karl Berry +2003-08-20 Bruno Haible - * config/config.{sub,guess}: update from config. + * lib/progname.h: New file, from GNU gettext. + * lib/progname.c: New file, from GNU gettext. + * lib/progreloc.c: New file, from GNU gettext. -2003-12-31 Karl Berry +2003-08-19 Jim Meyering - * config/depcomp: update from automake. + * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here: + http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html -2003-12-14 Karl Berry +2003-08-19 Bruno Haible - * lib/config.charset: update from gettext-runtime. + * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for any + more. -2003-12-03 Paul Eggert +2003-08-19 Bruno Haible - * lib/getgroups.c (getgroups): xmalloc takes one argument, not two. - Bug reported by Alfred M. Szmidt. + * lib/xstrdup.c: Assume exists. -2003-12-03 Bruno Haible +2003-08-18 Paul Eggert - * m4/gettext.m4: Upgrade from gettext-0.13. - * m4/po.m4: Upgrade from gettext-0.13. - * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here. - * m4/intmax.m4: New file, from gettext-0.13. - * m4/printf-posix.m4: New file, from gettext-0.13. + * modules/stdbool: Add BUILT_SOURCES. Prefer $@ to target name + in makefile rules. -2003-11-29 Karl Berry +2003-08-18 Jim Meyering - * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc. + * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB). + * m4/lib-ld.m4: Likewise. -2003-11-25 Paul Eggert - Bruno Haible +2003-08-18 Jim Meyering - * lib/printf-parse.h: Don't include sys/types.h. - (ARG_NONE): New macro. - (char_directive): Change type of *arg_index fields to size_t. - * lib/printf-parse.c: Don't include sys/types.h. - (SSIZE_MAX): Remove macro. - (PRINTF_PARSE): Change the type of the arg_index variables to size_t. - Remove unnecessary overflow check. - * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index - fields. + * lib/setenv.h: Indent nested cpp directive. + * lib/vasnprintf.c: Remove trailing blanks. -2003-11-25 Bruno Haible +2003-08-17 Simon Josefsson - * modules/vasnprintf (Files): Remove m4/ssize_t.m4. + * modules/xstrndup: New file. + * MODULES.html.sh (func_all_modules): Add xstrndup. -2003-11-25 Bruno Haible +2003-08-17 Simon Josefsson - * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require - gt_TYPE_SSIZE_T. + * modules/argp: Fix autoconf macro name. Add more dependencies. -2003-11-24 Paul Eggert +2003-08-17 Simon Josefsson - * modules/alloca: Remove dependency on xalloc. + * m4/xstrndup.m4: New file. -2003-11-24 Paul Eggert +2003-08-17 Simon Josefsson - * lib/alloca.c: Remove dependency on xalloc module. - (xalloc_die): Remove. - (memory_full) [!defined emacs]: New macro. - [!defined emacs]: Don't include xalloc.h. - (alloca): Invoke memory_full, not xalloc_die, if malloc fails or - address arithmetic overflows. Change datatypes a bit to avoid - unnecessary casts. + * m4/argp.m4: New file. -2003-11-22 Jim Meyering +2003-08-17 Simon Josefsson + Bruno Haible - * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments: - s/size/size_t/. + * lib/xstrndup.h: New file. + * lib/xstrndup.c: New file. -2003-11-21 Karl Berry +2003-08-17 Bruno Haible - * config/config.{sub,guess}: update from config. + * modules/strndup (Files, Include): Add lib/strndup.h. -2003-11-18 Karl Berry +2003-08-17 Bruno Haible - * config/config.{sub,guess}: update from config. + * modules/euidaccess (Files): Add lib/euidaccess.h. - * config/(printf-{parse,args}.[ch]): sync broken, sigh. +2003-08-17 Bruno Haible -2003-11-17 Paul Eggert + * lib/strndup.h: New file. - * README: Mention that S+T cannot overflow if S is the size of - an existing object and T is sufficiently small. +2003-08-17 Bruno Haible -2003-11-17 Jim Meyering + * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS + like AC_GNU_SOURCE. + * modules/extensions (configure.ac): Comment out the invocation of + gl_USE_SYSTEM_EXTENSIONS. - On systems without utime and without a utimes function capable of - dealing with a NULL struct utimbuf* argument, this utime replacement - could -- in unusual circumstances -- leak a file descriptor. - * lib/utime.c: Include and . - (utime_null): Be sure to close `fd' and to preserve errno. - Reported by Geoff Collyer via Arnold Robbins. +2003-08-16 Paul Eggert -2003-11-17 Bruno Haible + Merges from coreutils, etc. + * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax + error in gl_FUNC_MATCH. This fixes a bug I introduced on 2003-05-28. + * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE, + fixing a typo. + * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD. + * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL. - * modules/vasnprintf (Files): Add m4/ssize_t.m4. - (Depends-on): Add xsize. +2003-08-16 Paul Eggert -2003-11-17 Bruno Haible + Document merge from coreutils. + * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES. + * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES. + * modules/utime: Add m4/utimes-null.m4. - * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T. +2003-08-16 Paul Eggert -2003-11-17 Bruno Haible + * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white + space, undoing this 2003-08-12 change: + - * lib/vasnprintf.c (alloca): Remove fallback definition. - (freea): Remove definition. - (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes. - Reported by Paul Eggert. +2003-08-16 Paul Eggert -2003-11-16 Paul Eggert - Bruno Haible + * config/srclist.txt: Get regex.h, strdup.c, strtoll.c, + strtoul.c from libc, undoing this 2003-08-12 change: + - Protect against address arithmetic overflow. - * lib/printf-args.h: Include stddef.h. - (arguments): Change type of field 'count' to size_t. - * lib/printf-args.c (printf_fetchargs): Use size_t instead of - 'unsigned int' where appropriate. - * lib/printf-parse.h: Include sys/types.h. - (char_directive): Change type of *arg_index fields to ssize_t. - (char_directives): Change type of fields 'count', max_*_length to - size_t. - * lib/printf-parse.c: Include sys/types.h and xsize.h. - (SSIZE_MAX): Define fallback value. - (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t - instead of 'int' where appropriate. Check a_allocated, d_allocated - against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1. - * lib/vasnprintf.c: Include xsize.h. - (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate. - Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against - overflow. Avoid wraparound when converting a width or precision from - decimal to binary. +2003-08-16 Jim Meyering -2003-11-16 Bruno Haible + Merges from coreutils. + * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_) + prefix. Adjust cache variables similarly. Create 500 rather than + just 300 files, to exercise bug on Darwin6.5, too. + * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined + $missing_dir. + * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not + AM_SYS_POSIX_TERMIOS. + Reported by mkc@mathdogs.com. + Also change use of $am_cv_sys_posix_termios + to $ac_cv_sys_posix_termios. Reported by Andreas Schwab. + * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS + and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB. + * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point + in /proc/mounts until it finds one with matching device number. This + is unnecessary when the FILE argument *is* a mount point. No stat call + is necessary in that case. So, disable the statvfs-testing code on + systems with GNU libc. Reported by Andrei Gaponenko via Tim Waugh + as RedHat bug# 84846. + * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size + to 1MB, so as not to render systems with no stack size limit (e.g., + linux-2.2.x) unusable. Suggestion and code from Bruno Haible. + Include . On some systems, + it is required for the definition of _SC_PAGESIZE. - Update from GNU gettext. - * lib/printf-parse.c: Generalize to it can be compiled for wide - strings. - (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros. - * lib/vasnprintf.c: Generalize to it can be compiled for wide strings. - (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF, - SNPRINTF): New macros. - Don't include if the file is used inside libintl. - (local_wcslen): New function, for Solaris 2.5.1. - (VASNPRINTF): Use it instead of wcslen. +2003-08-16 Jim Meyering -2003-11-16 Bruno Haible + Merge from coreutils. + * lib/xstrtoimax.c: #else #if -> #elif. + * lib/xstrtoumax.c: Likewise. - * lib/xsize.h (xmax): New function. - (xsum, xsum3, xsum4): Declare as "pure" functions. +2003-08-16 Jim Meyering -2003-11-12 Paul Eggert + * m4/utimes.m4 (gl_FUNC_UTIMES): New file. + * m4/utimes.m4: Removed. + * m4/utimes-null.m4: Renamed from utimes.m4. - * modules/xalloc (Files): Undo latest change, since xalloc.h - no longer needs SIZE_MAX or PTRDIFF_MAX. + * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size + to 1MB, so as not to render systems with no stack size limit (e.g., + linux-2.2.x) unusable. Suggestion and code from Bruno Haible. + Include . On some systems, + it is required for the definition of _SC_PAGESIZE. -2003-11-12 Paul Eggert +2003-08-16 Jim Meyering + and Paul Eggert - * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or - gl_PTRDIFF_MAX. + Merges from coreutils, etc. -2003-11-12 Paul Eggert + * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define + using the latest version from cvs. This avoids problems with #line + directives using a vendor (Sun) compiler. + (jm_MACROS): Bump prerequisite from 2.52g to 2.57. + Don't set GETGROUPS_LIB here; now it's + done via getgroups.m4's wrapper function. + AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here, + rather than just in sh-util/configure.in, so that the + now-shared-by-fileutils-and-textutils lib/Makefile.am are all the + same. + Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new + AC_FUNC_GETLOADAVG where to find getloadavg.c. + Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME, + UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR, + gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME. + Remove code that is now done by the newly-required macros. + Append $(EXEEXT) to DF_PROG. + AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown. + Do not invoke or require the following here, + since prereq.m4 or some gnulib .m4 now does this for us: + gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME, + jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC, + jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP, + jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV, + jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX, + AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF, + vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE, + AC_FUNC_OBSTACK. + Do not replace the following functions, as this is now the job + of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname, + getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul + strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp, + atexit getpass, strdup, getpagesize. + Replace 'raise'. + Do not check for the following functions, as this is now the job + of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime, + getcwd, getmntinfo, resolvepath. But check for sysctl, setreuid, + setregid. + (jm_CHECK_ALL_HEADERS): Do not check for fenv.h. + Check for sys/sysctl.h. + (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE, + jm_CHECK_TYPE_STRUCT_TIMESPEC. Invoke gt_TYPE_SSIZE_T instead + of checking for ssize_t ourselves. - * lib/xstrtol.c (__xstrtol): Remove "break" immediately after - "return", to pacify some unknown compiler. Problem reported - by Joerg Schilling. + * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them. + Require every macro that gnulib/modules/* suggests for us. + (jm_PREREQ_ADDEXT): New macro. + (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4. + Require jm_AC_TYPE_LONG_LONG instead of invoking it. -2003-11-12 Paul Eggert + * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro. + (gl_PHYSMEM): Use it. + Also check for `table' function. + Check for new headers and functions. + Add check for sys/sysmp.h. + With suggestions from Kaveh Ghazi. + Ignore headers that are present but cannot be compiled. This + avoids spurious warnings on Solaris 9 sparc with Forte Developer 7 + C 5.4. - * lib/xalloc.h: Do not include or . - (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for - the heuristic, rather than PTRDIFF_MAX and SIZE_MAX. This - heuristic is just as accurate as far as we know, and it removes a - dependency on size_max.m4 and ptrdiff_max.m4. +2003-08-15 Paul Eggert -2003-11-11 Bruno Haible + Document merge from coreutils. + * modules/userspec: Depend on posixver. + * modules/strftime: Depend on tzset. - * modules/xsize (Files): Add m4/size_max.m4. - * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4. +2003-08-15 Paul Eggert -2003-11-11 Bruno Haible + * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces, + rather than tab, after '#' in shell-script copyright notices. + Suggested by Bruno Haible. - * m4/size_max.m4: New file. - * m4/ptrdiff_max.m4: New file. - * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX. - * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro. - (gl_XALLOC): Invoke it. +2003-08-15 Paul Eggert -2003-11-11 Bruno Haible + * config/srclist-update: Use three spaces, rather than tab, after '#' + in shell-script copyright notices. Suggested by Bruno Haible. + Remove unnecessary parenthesization in regular expression. - * lib/xsize.h (SIZE_MAX): Remove fallback definition. - * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are - defined. +2003-08-15 Jim Meyering -2003-11-10 Paul Eggert + Merge from coreutils. + * lib/xgethostname.c: Include . + (xghostname): Don't exit for anything other than memory-related + failure; just return NULL. + * lib/userspec.c: Include "posixver.h". + (parse_user_spec): Accept `.' as a separator only + in pre-POSIX-200112 mode. + * lib/strtoimax.c: Use #elif rather than #else #if. + * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]: + Remove function, now that we can rely on a working tzset function. + [!_LIBC]: Ensure that the required autoconf test has been run. + [!defined _NL_CURRENT && HAVE_STRFTIME]: + Use underlying_strftime for %r. + * lib/sha.c: Merge in some clean-up and optimization changes from + glibc. + * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file. + Ensure that it is a multiple of 64. + Rearrange loop exit tests so as to avoid performing an + additional fread after encountering an error or EOF. + * lib/realloc.c: Update copyright date. - * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX && - PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have - rejected some allocations of exactly SIZE_MAX - 2 bytes. - From Bruno Haible. - [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX, - not (size_t) -1, since it's defined here. +2003-08-15 Jim Meyering + and Paul Eggert -2003-11-09 Karl Berry + Merge from coreutils. + * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit + member but strut utmpx does not. Needed for AIX 4.3.3. + (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define. - * config/mkinstalldirs, depcomp, mdate-sh: update from automake. +2003-08-15 Jim Meyering + and Paul Eggert -2003-11-06 Paul Eggert + Merges from coreutils, etc. + * m4/strftime.m4 (_jm_STRFTIME_PREREQS): + Require gl_FUNC_TZSET_CLOBBER. + * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit, + ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination + members. - * lib/xalloc.h [HAVE_STDINT_H]: Include . - (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]: - Reject sizes of exactly SIZE_MAX bytes. - * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX - is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts. +2003-08-14 Paul Eggert -2003-11-05 Bruno Haible + Help the merge from coreutils. + * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro. + (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it. + * m4/tzset.m4: Use it too. - * lib/xsize.h: Include limits.h, to avoid a possible collision with - SIZE_MAX defined in on Solaris. +2003-08-14 Paul Eggert -2003-11-04 Jim Meyering + * modules/tzset: New file. - * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd - variable names, rather than @VAR@. - * modules/poll: Likewise. +2003-08-14 Jim Meyering -2003-11-04 Bruno Haible + Merges from coreutils. + * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED + variable names, rather than @FNMATCH_H@. + * modules/alloca: Likewise for $(ALLOCA_H). - * modules/xsize: New file. - * modules/linebreak: Depend on xsize. - * MODULES.html.sh (func_all_modules): Add xsize. + * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of + the three copies of the literal target, `fnmatch.h'. + * modules/alloca (alloca.h): Likewise. -2003-11-04 Bruno Haible +2003-08-14 Jim Meyering - * m4/xsize.m4: New file. + Merge from coreutils. + * m4/tzset.m4: New file. + * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the + MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since + otherwise, AIX 5.1 systems would end up using the latter. + MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting + whether a file system is remote doesn't work 2) the MOUNTED_VMOUNT + code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1 + code reports merely /MOUNT_POINT. Reported by Mike Jetzer. -2003-11-04 Bruno Haible +2003-08-14 Jim Meyering - * lib/xsize.h: New file. - * lib/linebreak.c: Include xsize.h. - (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc() - argument for overflow. - Suggested by Paul Eggert. + Merge from coreutils. + * lib/obstack.h: Whitespace changes. + * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc, + and xcalloc return values. + (read_filesystem_list) [MOUNTED_GETFSSTAT]: + Use MNT_NOWAIT, rather than MNT_WAIT. Otherwise, `df DIR' could + hang on OSF/1 5.1 for DIR on both local and remote file systems. + Reported by (and fix confirmed by) Nelson H. F. Beebe. + (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any + error from mntctl. + Use mntctl's return value to drive the entry-processing loop, since + we can't rely on the value of the vmt_length member in the last + entry. On some systems doing so could result in exhausting + virtual memory. Based in part on a patch from Mike Jetzer. -2003-11-03 Karl Berry +2003-08-14 Jim Meyering + and Paul Eggert - * config/config.{guess,sub}: update from config. + Merges from coreutils, plus other fixes. + * lib/physmem.c: Merge in portability changes from gcc/libiberty + to support AIX, IRIX, Tru64, and Windows. See the ChangeLog there + for credits and details. Thanks to Kaveh Ghazi for helping + to keep these files in sync. + (ARRAY_SIZE): Define it. + (physmem_total, physmem_available): Add comments. From Kaveh Ghazi. + * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'. + (memcasecmp): Don't assume size_t fits in unsigned int. + Remove casts and duplicate code. + * lib/md5.c: Include and unconditionally. + (memcpy): Remove definition. + Merge in some clean-up and optimization changes from glibc. + [BLOCKSIZE]: Move definition to top of file. + Ensure that it is a multiple of 64. + Rearrange loop exit tests so as to avoid performing an + additional fread after encountering an error or EOF. + * lib/md5.h (md5_uintptr): Define. + * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to + return to the initial working directory. Preserve errno + for caller. + * lib/idcache.c: Include "xalloc.h". + (xmalloc, xrealloc): Remove decls. + (getuser): Remove casts no longer required in C89. + * lib/human.c: Include stdio.h, for sprintf. + * lib/group-member.c: Include "xalloc.h". + (xmalloc, xrealloc): Remove decls. + (get_group_info): Remove casts no longer required in C89. + * lib/getusershell.c (readname): Remove casts no longer required in + C89. + * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions. + * lib/getline.c: Whitespace fix, from coreutils. -2003-11-03 Jim Meyering +2003-08-13 Paul Eggert - * modules/userspec (lib_SOURCES): Add userspec.h. - (Include): Add "userspec.h". - Improve description. + * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC. + Check for isascii. -2003-11-03 Jim Meyering + * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4, + lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4: + Undo previous (whitespace-only) change. - * lib/userspec.c: Include "userspec.h". - * lib/userspec.h: New file. +2003-08-13 Paul Eggert -2003-11-03 Bruno Haible + * lib/exclude.c: Include + (IN_CTYPE_DOMAIN): New macro. + (is_space): New fn. + (add_exclude_file): If LINE_END is a space, ignore trailing spaces + and empty lines. - * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid. + * lib/argp-help.c, argp-parse.c, config.charset, getopt.h: + Undo previous (whitespace-only) change. -2003-11-03 Bruno Haible +2003-08-13 Paul Eggert - * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if - available, to avoid (extremely rare) race condition. - Suggested by Paul Eggert. + * config/srclist-update: Change update back to the old behavior, + leaving whitespace alone. Use one 'sed' command rather than a + pipeline. + (fixlicense): Now a variable, not a function. + (remove_trailing_blanks): Remove. + (fixfile): Don't invoke unexpand or cat, or remove trailing blanks. + * config/config.guess, config.sub, install-sh, missing, texinfo.tex: + Undo previous (whitespace-only) change. -2003-11-02 Karl Berry +2003-08-12 Paul Eggert - * config/srclist.txt (vasprintf.c): sync broken, sigh. + Merge from coreutils. + * modules/euidaccess: Add lib_SOURCES, include for new + file euidaccess.h -2003-10-31 Paul Eggert +2003-08-12 Paul Eggert - * lib/mountlist.h (struct mount_entry.me_type_malloced): New member. - * lib/mountlist.c (SIZE_MAX): Define if not defined already. - (read_filesystem_list): Set and use me_type_malloced. - Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or - whatever the type happens to be), for brevity and consistency. - Check for size calculation overflow on Alphas running OSF/1. + * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4, + lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4: + Normalize leading white space and remove trailing white space. -2003-10-31 Jim Meyering + Merge from coreutils + * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl. - * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized. + * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext + 0.12.1. These files are now being upgraded automatically by + ../config/srclist-update. - * lib/linebuffer.c: Include for declaration of memset. +2003-08-12 Paul Eggert -2003-10-30 Paul Eggert - Bruno Haible + * lib/argp-help.c, argp-parse.c, config.charset, getopt.h: + Normalize leading white space and remove trailing white space. + * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright + notice, as per ../config/srclist-update. - * lib/vasprintf.c: Include , . - (vasprintf): Fail if the resulting length doesn't fit in an 'int'. + Merge from coreutils. + * lib/euidaccess.h: New file. + * lib/euidaccess.c: Include it. + * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h, + vasnprintf.h, vasprintf.h. Remove strdup.c, gettext.h. + * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space. -2003-10-30 Paul Eggert +2003-08-12 Paul Eggert - * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to - netbsd*-gnu*. Suggested by Robert Millan. + * config/srclist-update: Add copyright notice. + (remove_id_lines, remove_trailing_blanks): New constants. + (fixfile): Use them to normalize spacing a bit in copied files. + * config/config.guess, config.sub, install-sh, missing, texinfo.tex: + Normalize leading white space and remove trailing white space. -2003-10-29 Paul Eggert + * config/texinfo.tex: Sync with texinfo. - * modules/group-member: Depend on stdbool. + * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c, + strtoul.c from libc, to merge coreutils whitespace changes. -2003-10-29 Paul Eggert + * config/srclist.txt: Get the following m4 files from gettext: + codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4, + inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4, + longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4, + wint_t.m4. - * m4/xalloc.m4 (gl_XALLOC): Undo previous change. +2003-08-12 Karl Berry -2003-10-29 Paul Eggert + * config/srclist.txt: can't sync vasnprintf.c any more, changes have + been made. - * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu. Add comments - to it, and to knetbsd*-gnu and kfreebsd*-gnu. Remove the '*' from - after the 'gnu' in these cases. This fixes some bugs in the - previous change, and is based on suggestions by Robert Millan. +2003-08-11 Paul Eggert -2003-10-29 Paul Eggert + * modules/gnu-source, m4/gnu-source.m4: + Remove; we're assuming Autoconf 2.54 or later now. + Suggested by Bruno Haible. + * MODULES.html.sh (func_all_modules): Remove gnu-source. - * lib/xalloc.h (xalloc_oversized): Now a macro, not a function, - so that it works even if SIZE_MAX < N. Do not include ; - no longer needed. - * lib/quotearg.c (quotearg_n_options): Use it. - * lib/group-member.c: Include . - (free_group_info): Arg is now const *; don't free arg. - (get_group_info): Now returns bool and accepts struct group_info *, - rather than returning a malloc'ed struct group_info *. - All uses changed. Check for overflow in internal size calculation. +2003-08-11 Bruno Haible - * lib/getusershell.c (readname): Simplify the code by using x2nrealloc - rather than xmalloc/xrealloc. - * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by - using x2realloc rather than xmalloc/xrealloc. Also, fix a C - conformance bug: the old code used a pointer after freeing the - storage that it addressed. - * lib/hash.c (hash_initialize): Simplify the code by using - xalloc_oversized rather than doing it by hand. - * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need - the buffer preserved. Use free and xmalloc instead. - * lib/quotearg.c (quotearg_n_options): Likewise. - Use a simpler test for size overflow. Don't use xalloc_oversized - because unsigned int might be wider than size_t (!); this suggests - that we should switch from unsigned int to size_t for slot numbers. + * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen. -2003-10-28 Paul Eggert +2003-08-11 Bruno Haible - * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and - GNU/KNetBSD. These implementations use glibc atop the FreeBSD and - NetBSD kernels. Requested by Richard Stallman. + * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1. + (vasnprintf): Use it instead of wcslen. -2003-10-27 Paul Eggert +2003-08-11 Bruno Haible - * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc - to allocate the returned structure. Do not allocate a subarray, - as x2nrealloc will do that. - (add_exclude): Use x2nrealloc to reallocate ex->exclude, - instead of xnrealloc. - (add_exclude_file): Use x2realloc instead of malloc + xnrealloc. + * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum + value to ensure that _Bool promotes to int. Use #define for _Bool when + using the Solaris C compiler. Adds comments suggested by Paul Eggert. -2003-10-27 Bruno Haible +2003-08-10 Karl Berry - * lib/stdbool_.h: Better support for BeOS. + * lib/regex.h: update from libc (whitespace fix). -2003-10-26 Paul Eggert +2003-08-09 Paul Eggert - * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h - now uses inline. + Merge some files from coreutils. These changes were + originally made by Jim Meyering. + * lib/acl.c: Include before ; + many older Unixes require this. + * lib/alloca.c (alloca): Remove cast to argument of free; + no longer needed in C89. + * lib/alloca_.h, regex.h: Fix white space to match + what GNU indent does. -2003-10-26 Paul Eggert +2003-08-09 Paul Eggert - * lib/xalloc.h (xalloc_oversized): New static inline function, for - callers that want to do their own size-overflow checking. Include - , since xalloc_oversized returns bool. - * lib/xalloc.c (array_size_overflow): Remove. All callers changed - to use xalloc_oversized. + * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371"; + apparently Emacs's Unicode mode got confused before my 2003-08-05 + checkin. - Add two functions x2realloc, x2nrealloc, for programs that grow - arrays dynamically by doubling their sizes. - * lib/xalloc.h (x2realloc, x2nrealloc): New decls. - * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc): - New functions. +2003-08-08 Paul Eggert - Port to C99 semantics for 'inline' of external functions. - Bug reported by Bruno Haible. - * lib/xmalloc.c (xnmalloc_inline): New static inline function, - with the old contents of xnmalloc. - (xnmalloc, xmalloc): Use it. - (xnrealloc_inline): New static inline function, - with the old contents of xnrealloc. - (xnrealloc, xrealloc): Use it. + * m4/extensions.m4: New file. + * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): + Require gl_USE_SYSTEM_EXTENSIONS. + * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): + Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE. - * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for - that. +2003-08-08 Paul Eggert -2003-10-26 Karl Berry + * MODULES.html.sh (func_all_modules): Add extensions, gnu-source. + * modules/extensions, modules/gnu-source: New files. + * modules/timespec, modules/unlocked-io: Depend on extensions. - * config/srclist.txt (COPYING.DOC): no longer available from - /gd/gnuorg; don't know where the ultimate source is. +2003-08-07 Paul Eggert -2003-10-25 Paul Eggert + * modules/restrict: New file. + * MODULES.html.sh (func_all_modules): Add restrict. + * modules/regex: Depend on restrict. - Fix several address-calculation bugs in the hash modules, - plus some minor code cleanup. +2003-08-07 Paul Eggert - * lib/hash.h: Include , for bool. - * lib/hash.c: Don't include , since hash.h does it now. - * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used, - hash_get_n_entries, hash_get_max_bucket_length, - hash_get_entries, hash_do_for_each, hash_string, hash_initialize, - hash_rehash): Use size_t rather than unsigned. - * lib/hash.c (struct hash_table, hash_get_n_buckets, - hash_get_n_buckets_used, hash_get_n_entries, - hash_get_max_bucket_length, hash_table_ok, hash_print_statistics, - hash_get_entries, hash_do_for_each, hash_string, is_prime, - next_prime, hash_initialize, hash_rehash, hash_delete, hash_print): - Likewise. - (SIZE_MAX): Define if not defined. - (hash_get_max_bucket_length, hash_table_ok, hash_lookup, - hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each, - hash_print): - Use const * when possible. - (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P. - (check_tuning): Fix bug: if tuning parameters were very close to - 0 or 1, rounding errors could have caused subscript violations. - (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast. - (hash_initialize): Add 'fail:' label - to free table and return NULL, and use it to simplify code. - Use calloc rather than clearing the storage ourself. - (hash_initialize, hash_rehash): Check for arithmetic overflow in - buffer size calculations. - * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned. - Include , for size_t. - * lib/hash-pjw.c (hash_pjw): Likewise. - Switch to method described by Bruno Haible. - Include , for CHAR_BIT. - (SIZE_BITS): New macro. + * m4/restrict.m4: New file. + * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT. -2003-10-23 Paul Eggert +2003-08-07 Bruno Haible - * m4/getline.m4 (AM_FUNC_GETLINE): - Don't include getndelim2.o twice into LIBOBJS; this breaks on some - hosts. Problem reported by Derek Robert Price in - . - This patch can be withdrawn after Autoconf 2.58 is required for gnulib. - * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise. + * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not + lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2). -2003-10-21 Paul Eggert +2003-08-07 Bruno Haible - * lib/getndelim2.c (getndelim2): When size calculation overflows, - ceiling the allocation at NMAX bytes rather than silently - discarding input bytes before NMAX is reached. This makes - a difference only if NMAX exceeds SIZE_MAX / 2. + * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This + makes the module 'getndelim2' compatible with the module 'getline'. - * lib/obstack.c: Merge from glibc. - [defined _LIBC]: Include , not "obstack.h". - Add libc_hidden_def (_obstack_newchunk). - (_obstack_free) [! defined _LIBC]: Remove. - [defined _LIBC]: Make a strong alias from obstack_free, rather than - a clone of the function body. - (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove. - [defined _LIBC && !defined USE_IN_LIBIO]: Include . +2003-08-05 Paul Eggert - * lib/obstack.h: Indenting cleanup, to make it easier to merge with - glibc. - (obstack_grow, obstack_grow0): Remove unnecessary parentheses around - arg to memcpy. + * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII + byte with "\201" to avoid glitches when editing that source file + with multi-gnome-terminal. - * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg. - (obstack_ptr_grow_fast, obstack_int_grow_fast): - Don't use lvalue casts, as GCC plans to remove support for them - in GCC 3.5. Reported by Joseph S. Myers. This bug - was also present in the non-GCC version, indicating that this - code had always been buggy and had never been widely used. - (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank): - Use the fast variant of each macro, rather than copying the - definiens of the fast variant; that way, we'll be more likely to - catch future bugs in the fast variants. +2003-08-05 Paul Eggert -2003-10-20 Bruno Haible + * lib/bumpalloc.h: Remove. - * modules/wait-process: New file. - * MODULES.html.sh (func_all_modules): Add wait-process. +2003-08-05 Paul Eggert -2003-10-20 Bruno Haible + * MODULES.html.sh (func_all_modules): Remove bumpalloc. + * modules/bumpalloc: Remove. - * m4/wait-process.m4: New file. +2003-08-04 Paul Eggert + + * lib/getloadavg.c: Change copyright notice and spacing to conform to + GNU coding style. -2003-10-20 Bruno Haible + Merge from coreutils. + * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is + 1. From glibc. + * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion + from Karl Berry, implemented by Jim Meyering. + * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns; + from Dmitry V. Levin. + Remove anachronistic cast of xrealloc. + * lib/fnmatch_.h (__const): Remove. Use 'const'. + * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper + type. Otherwise, it wouldn't compile with at least /bin/cc on + ymp-cray-unicos9.0.2.X. + Combine two mostly-identical uses of alloca into one. + Thanks to the Cray-Cyber project for access to a Cray Y-MP. - * lib/wait-process.h: New file, from GNU gettext. - * lib/wait-process.c: New file, from GNU gettext. +2003-08-04 Dave Love -2003-10-19 Jim Meyering + [From Emacs.] - * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on - HPUX 10.20. + * lib/getloadavg.c: Check `__unix' as well as `unix'. Use #ifdef, not + #if. Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE. Check + F_SETFD, not FD_SETFD. Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not + obsolete NLIST_NAME_UNION. + [__GNU__]: Undef BSD and FSCALE. + [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT. -2003-10-18 Karl Berry +2003-08-03 Paul Eggert - * config/config.guess: update from config. + * lib/stdbool_.h (_Bool): Make it signed char, instead of + an enum type, so that it's guaranteed to promote to int. See: + -2003-10-16 Paul Eggert +2003-08-03 Karl Berry - * lib/getgroups.c: Include , . - (getgroups): First arg is int, not size_t. - Don't let 'free' mangle errno. + * config/depcomp: update from automake. -2003-10-16 Paul Eggert +2003-07-31 Paul Eggert - * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL. + * lib/strerror.c: Include config.h, limits.h. Declare sprintf. + (strerror): Don't assume that a printable int fits in 14 bytes. -2003-10-16 Karl Berry +2003-07-31 Bruno Haible - * config/config.{guess,sub}: update from config. + * modules/getpass-gnu: New file. + * MODULES.html.sh (func_all_modules): Add getpass-gnu. -2003-10-16 Jim Meyering +2003-07-31 Bruno Haible - * lib/xmalloc.c: Include , for declarations of memset and - memcpy. + * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro. -2003-10-15 Paul Eggert +2003-07-24 Karl Berry - * lib/exclude.c: Do not include or . - (SIZE_MAX): Remove. - (new_exclude, add_exclude_file): Initial size no longer needs to - be a power of 2. - (add_exclude, add_exclude_file): Use xnrealloc instead of rolling - our own address arithmetic overflow checking. + * config/missing: update from automake. - * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't. - (fnmatch): Do not alloca more than 2000 wide characters; - instead, use malloc for large buffers. - Check for address arithmetic overflow, and return -1 - with errno set to ENOMEM in that case. - * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro. - (NEW_PATTERN): Do not alloca more than 8000 bytes; - instead, return -1. Check for address arithmetic overflow. +2003-07-24 Derek Robert Price + Bruno Haible -2003-10-14 Paul Eggert + * lib/getline.h (getline, getdelim): Change return type to ssize_t. + * lib/getline.c (getline, getdelim): Likewise. + Remove _GNU_SOURCE define; now it's defined in config.h through + m4/getline.m4. - Handle invalid suffixes and overflow independently, so that - callers can treat them independently as needed. Fix some bugs in - suffix handling, e.g., "100k@" was not diagnosed as an invalid - suffix for a human-readable blocksize. The major caller-visible - change is the addition of a new - LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating - that both overflow and suffix chars were found. +2003-07-23 Karl Berry - * lib/human.c (humblock): Don't check separately for invalid suffix - char; that is xstrtoumax's job (now that its bug is fixed). - * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined - INTMAX_MAX]: New macros. - * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM, - TYPE_MAXIMUM): New macros. - (bkm_scale, bkm_scale_by_power): Return strtol_error, not int. - (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values - if overflow occurs, as it's what __strtol does and it's more useful - in practice. - (__xstrtol): If __strtol reports some error other than ERANGE, - reflect it to the caller as LONGINT_INVALID. If it reports - ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW - | LONGINT_INVALID_SUFFIX_CHAR if both errors occur. - * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum - value. - (_STRTOL_ERROR): Handle it. Abort when given unknown error codes. - * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros. - * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) - [defined UINTMAX_MAX]: New macros. + * config/config.sub: update from prep. -2003-10-14 Bruno Haible +2003-07-22 Paul Eggert - * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list. + * modules/xalloc (Depends-on): Add exitfail. + * modules/xmemcoll: Likewise. -2003-10-14 Bruno Haible +2003-07-22 Paul Eggert - * m4/sig_atomic_t: New file, from GNU gettext. - * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T. + * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and + over-parenthesization in macros. -2003-10-14 Bruno Haible + Sync with coreutils. - * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert. - * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert. - Also use volatile where needed. + * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not + required by C99. -2003-10-12 Paul Eggert + Use `exit_failure' for xalloc and xmemcoll instead of their own + private exit-failure variables. + * lib/xalloc.h (xalloc_exit_failure): Remove. + * lib/xmalloc.c: Likewise. Include exitfail.h. + (xalloc_die): Use exit_failure instead of xalloc_exit_failure. + * lib/xmemcoll.h (xmemcoll_exit_failure): Remove. + * lib/xmemcoll.c: Likewise. Include exitfail.h. + (xmemcoll): Use exit_failure instead of xalloc_exit_failure. - * modules/xalloc: Do not depend on 'exit'. Depend on 'stdbool'. - Change maintainer from Bruno Haible to 'all'. +2003-07-20 Jim Meyering -2003-10-12 Paul Eggert + * modules/closeout (Depends-on): Add exitfail. + Suggestion from Bruno Haible. - * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE. +2003-07-19 Karl Berry -2003-10-12 Paul Eggert + * config/config.sub: update from prep. - * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls. - (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate, - and define in terms of the other primitives. - * lib/xmalloc.c: Include stdbool.h; do not include exit.h. - (SIZE_MAX): Define if not already defined. - (array_size_overflow): New function. - (xalloc_die): Abort instead of exiting if 'error' returns. - (xnmalloc, xnrealloc, xzalloc, xclone): New functions. - (xmalloc, xrealloc): Use them. - (xcalloc): Check for address arithmetic overflow. - * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be - a bit faster than strcpy. +2003-07-18 Paul Eggert -2003-10-10 Simon Josefsson + * lib/closeout.h (close_stdout_set_status, close_stdout_status): + Remove. + * lib/closeout.c: Likewise. Include "closeout.h" right after config.h, + to test that it can stand by itself. Include "exitfail.h". + Clients should set exit_failure instead. + (EXIT_FAILURE): Remove; no longer needed. Do not include . - * modules/argp (Depends-on): Add restrict and strcase. +2003-07-18 Bruno Haible -2003-10-10 Simon Josefsson + * modules/getndelim2: New file. + * modules/getline: Share files with module getndelim2. + * modules/getnline: Depend on getndelim2 instead of sharing files with + it. Add getnline.c to lib_SOURCES. + * MODULES.html.sh (func_all_modules): Add getndelim2. - * m4/argp.m4: Add AC_C_INLINE. +2003-07-18 Bruno Haible -2003-10-08 Paul Eggert + * m4/getndelim2.m4: New file. + * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and + invoke gl_PREREQ_GETNDELIM2. + (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by + gl_PREREQ_GETNDELIM2. + * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by + gl_GETNDELIM2. - Merge getpass from libc, plus a few fixes. +2003-07-18 Bruno Haible - * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1. - Include . - Include if HAVE_STDIO_H, otherwise define - __fsetlocking to empty. - [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but - do include . - Do not include ; not needed. - [_LIBC]: Include . - (NOTCANCEL_MODE): New macro. - (flockfile, funlockfile) [_LIBC]: New macros. - (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr) - [!_LIBC]: New macros. - (call_fclose): New function. - (getpass): Use it. Save tty stream separately; this simplifies the - code and makes it more reliable if stdin happens to equal stdout. - Invoke __fsetlocking on tty. - Handle thread cancellation if needed. - Namespace cleanup (use __tcgetattr, __getline). - Use bool for Booleans. - [USE_IN_LIBIO]: Handle wide streams. - [!_LIBC]: Unconditionally do the fseek, since we don't know what - stream might go where. + * lib/getndelim2.h: New file. + * lib/getndelim2.c: Make into a module of its own. Include config.h, + getndelim2.h. + (getndelim2): Make non-static. Change return type to ssize_t. + * lib/getline.h: Change argument names. + * lib/getline.c: Include getndelim2.h instead of getndelim2.c. + * lib/getnline.c: Include getndelim2.h. - * lib/unlocked-io.h: Include , so that the caller - doesn't have to include before us. - (clearerr_unlocked, feof_unlocked, ferror_unlocked, - fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked, - fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked, - putc_unlocked, putchar_unlocked): Define to the unlocked counterpart - if not declared, so that we can use getpass.c code from libc without - rewriting it. - (flockfile, ftrylockfile, funlockfile): New macros. +2003-07-18 Andreas Schwab -2003-10-08 Paul Eggert + * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno. - * modules/getpass: Depend on stdbool. +2003-07-17 Karl Berry -2003-10-08 Paul Eggert + * config/config.sub: update from prep. - * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h. +2003-07-17 Bruno Haible -2003-10-07 Karl Berry + * modules/getnline: New file. + * modules/getline: Add lib/getndelim2.c to source file list. + * MODULES.html.sh (func_all_modules): Add getnline. - * config/config.{guess,sub}: update from config. +2003-07-17 Bruno Haible -2003-10-06 Jim Meyering - Bruno Haible + * m4/getnline.m4: New file. - This lets translators provide better translations for the - "Written by ..." part of --version output. - * lib/version-etc.h: Include stdarg.h. - (version_etc_copyright): Declare as readonly. - (version_etc): Make this function variadic with a NULL-terminated list - of author name strings. - (version_etc_va): New declaration. - * lib/version-etc.c: Include stdarg.h, stdlib.h. - (version_etc_copyright): Declare as readonly. - (version_etc_va): New function. Provide a different translatable string - for each possible number of authors < 10. Abbreviate when there are 10 - authors or more. - (version_etc): Make this function variadic. Call version_etc_va. - Suggestion from Gary V. Vaughan. +2003-07-17 Bruno Haible - * lib/long-options.h (parse_long_options): Change prototype: the - authors string is moved to the end and becomes variadic. - * lib/long-options.c: Include stdarg.h. - (parse_long_options): Make this function variadic, too. - Call version_etc_va, not version_etc. + * m4/Makefile.am.in: Remove file. + * m4/Makefile.am: Remove file. + * m4/Makefile.in: Remove file. -2003-10-06 Bruno Haible +2003-07-17 Bruno Haible - * modules/version-etc-2: Remove file. - * MODULES.html.sh (func_all_modules): Remove version-etc-2. + * lib/getnline.h: New file. + * lib/getnline.c: New file. + * lib/getndelim2.c: New file, extracted from getline.c. + (getndelim2): Renamed from getdelim2, with added nmax argument. + * lib/getline.c: Include getndelim2.c. + (getdelim2): Moved out to getndelim2.c. + (getline, getdelim): Update. -2003-10-06 Bruno Haible +2003-07-17 Bruno Haible - * modules/fatal-signal: New file. - * MODULES.html.sh (func_all_modules): Add fatal-signal. + * lib/Makefile.am: Remove file. + * lib/Makefile.in: Remove file. -2003-10-06 Bruno Haible +2003-07-17 Bruno Haible - * m4/fatal-signal.m4: New file. - * m4/signalblocking.m4: New file, from GNU gettext. + * configure.in: Remove file. + * Makefile.in: Remove file. -2003-10-06 Bruno Haible +2003-07-17 Bruno Haible - * lib/version-etc-2.h: Remove file. - * lib/version-etc-2.c: Remove file. + * MODULES.html.sh: Put the right before . -2003-10-06 Bruno Haible +2003-07-16 Karl Berry - * lib/fatal-signal.h: New file, from GNU gettext. - * lib/fatal-signal.c: New file, from GNU gettext. + * config/srclist-update: was running fixlicense twice, which caused + texinfo.tex to be nullified for some reason. Simplify, + $gplsrc is no longer needed as far as I can see? -2003-10-05 Paul Eggert +2003-07-16 Jim Meyering - * README: Rework advice for preventing empty .o files. - Don't recommend ELIDE constructs. Recommend , - not . + * modules/save-cwd: Depend on xgetcwd. From Derek Price. -2003-10-04 Karl Berry +2003-07-15 Paul Eggert - * lib/argp*: update from libc. + * config/srclist.txt: Get the following files from gettext-runtime/intl + instead: config.charset, localcharset.c, localcharset.h, ref-add.sin, + ref-del.sin. From Bruno Haible. + * config/srclist-update (fixfile): Change grep pattern again, since the + previous fix didn't work (there was another trailing $). Use + '[$]' to escape the $s. -2003-10-04 Karl Berry +2003-07-15 Karl Berry - * config/config.{guess,sub}: update from config. + * lib/vasnprintf.c: update from gettext. -2003-10-02 Bruno Haible +2003-07-15 Karl Berry - * modules/lchown (Include): Add lchown.h. - * modules/time_r (Include): Use "..." syntax. - * modules/xgetdomainname (Include): Add xgetdomainname.h. + * config/srclist-update (fixfile): Change grep pattern, since 'Id' + gets expanded when surrounded by '$'. -2003-10-01 Simon Josefsson +2003-07-15 Jim Meyering - * MODULES.html.sh (func_all_modules): Move gethostname from section - 'based on' to section 'lacking' POSIX:2001. + * modules/save-cwd: Don't depend on error. From Derek Price. -2003-10-01 Larry Jones +2003-07-15 Jim Meyering - * lib/getpass.c (getpass): Use a no-op fseek when switching from input - to output mode on the same stream. + * lib/makepath.c (make_path): Enclose diagnostic in _(...). -2003-09-29 Paul Eggert +2003-07-14 Simon Josefsson - * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]: - Fix arg typo in previous patch. + * modules/mempcpy: New file. + * MODULES.html.sh (func_all_modules): Add mempcpy. -2003-09-28 Jim Meyering +2003-07-14 Simon Josefsson - * lib/error.c: Correct cpp indentation. + * m4/mempcpy.m4: New file. -2003-09-27 Paul Eggert +2003-07-14 Simon Josefsson - * modules/free: New file. + * lib/mempcpy.h: New file. + * lib/mempcpy.c: New file. -2003-09-27 Paul Eggert +2003-07-14 Paul Eggert - * m4/free.m4: New file. + * modules/getdate, modules/posixtm: Depend on mktime. -2003-09-27 Paul Eggert +2003-07-14 Paul Eggert - * lib/minmax.h (MIN, MAX) - [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]: - Omit the special code that used __typeof__, since we worry that - it could be more trouble than it's worth. See: - http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html - http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html + * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h, + sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c, + unicodeio.c, unicodeio.h, unlocked-io.h: + Switch from LGPL to GPL. - * lib/free.c: New file. +2003-07-14 Paul Eggert -2003-09-27 Oskar Liljeblad + * lib/asnprintf.c, asprintf.c, config.charset, gettext.h, + localcharset.c, localcharset.h, mkdtemp.c, printf-args.c, + printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin, + ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h, + vasprintf.c, vasprintf.h: Regenerate. These files are now being + updated automatically by ../config/srclist-update. This changes + their license from LPGL to GPL. - Trivial fixes to Makefile.am parts of module listings. - * modules/strstr: Append strstr.h to lib_SOURCES. - * modules/strcase: Likewise, for strcase.h. +2003-07-14 Paul Eggert -2003-09-27 Karl Berry + * config/srclist.txt: Add tons more gettext files. $GETTEXT is now + assumed to refer to the root of the most recent stable gettext version. + * config/srclistvars.sh: Add defaults for eggert. + * config/srclist-update: Convert LGPL to GPL in shell scripts, too. + Match "This program" as well as "The program". This is needed + for gettext. - * config/mkinstalldirs: update from automake. +2003-07-14 Jim Meyering -2003-09-26 Paul Eggert + Don't emit diagnostics. Let callers do that. + * lib/save-cwd.c: Don't include "error.h". + (save_cwd): Don't call error. Ensure that errno is valid + when returning nonzero. - * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define. - (error_tail): Do not loop, reallocating temporary buffer, since - the output cannot contain more wide characters than the input - contains bytes, the size must be big enough already. This avoids - one potential size overflow calculation. Check for size overflow - when calculating temporary buffer size. Free temporary buffer - when done, if it was allocated with malloc; this plugs a memory - leak. Remove casts from void * to pointers, that are no longer - needed now that we're assuming C89 or better. + * lib/save-cwd.h (restore_cwd): Update prototype. + * lib/save-cwd.c (restore_cwd): Remove two parameters. + Simplify. Don't call error upon failure. Let callers do that. + (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4 + when auditing is enabled. But don't bother updating the #if. - Merge error changes from glibc. +2003-07-11 Alexandre Duret-Lutz - * lib/error.c, error.h: Update copyright notice header to match glibc. - * lib/error.c [defined _LIBC]: Include , . - (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]: - Disable cancellation while printing error. - * lib/error.h: Prepend __ to parameter names. + * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13; + it breaks C++ compilation. + [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*. -2003-09-26 Jim Meyering +2003-07-10 Simon Josefsson - * lib/error.c (error_tail): Move some declarations - into inner scope where the local variables are used. + * modules/strchrnul (Makefile.am): Add strchrnul.h. -2003-09-26 Bruno Haible +2003-07-10 Jim Meyering - * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX - stpncpy(). - Don't define stpncpy through config.h; it's now done through stpncpy.h. + * m4/clock_time.m4: Remove trailing blank. + * m4/intmax_t.m4: Likewise. -2003-09-26 Bruno Haible +2003-07-10 Jim Meyering - * lib/stpncpy.h (gnu_stpncpy): New declaration. - (stpncpy): Define as alias for gnu_stpncpy. - * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy. + * lib/vasnprintf.c: Remove trailing blanks. + Make cpp indentation consistent. -2003-09-25 Simon Josefsson +2003-07-09 Paul Eggert - * lib/xgetdomainname.h: New file. - * lib/xgetdomainname.c: New file. + * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h, + posixver.c, strftime.c, strnlen.c, strverscmp.c: + Switch from LGPL to GPL. -2003-09-25 Simon Josefsson - Bruno Haible +2003-07-09 Paul Eggert - * modules/getdomainname: New file. - * modules/xgetdomainname: New file. - * MODULES.html.sh (func_all_modules): Add getdomainname, - xgetdomainname. + * config/srclist.txt: Sort sublists. Add + $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files + that differ from gnulib for one reason or another; we'd like this list + to be smaller but for now let's document what we have. -2003-09-25 Simon Josefsson - Bruno Haible +2003-07-08 Paul Eggert - * m4/getdomainname.m4: New file. + * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding + the use of GNU extensions. Change "x=`eval echo $x`" to the shorter + and sweeter "eval x=$x". + * config/srclist.txt: Get lib/argp* from glibc. -2003-09-25 Simon Josefsson - Bruno Haible +2003-07-07 Paul Eggert - * lib/getdomainname.h: New file. - * lib/getdomainname.c: New file. + * lib/mktime.c: Fix some boundary cases and remove need for floating + point. -2003-09-25 Karl Berry + Issue a compile-time diagnostic if time_t is floating point, or if + two's complement arithmetic is not in effect, or if arithmetic + right shift does not propagate the sign. These assumptions were + all in the original code but they weren't checked. - * lib/argp-fmtstream.c, argp-help.c: update from libc. + (TIME_T_MIDPOINT, verify): New macros. + (__isleap): Remove; it has integer overflow problems. + (leapyear): New function, without those problems. + (ydhms_tm_diff): Remove; splitting into two parts. + (ydhms_diff): New function, containing the arithmetic part of + the old ydhms_tm_diff function. Issue a compile-time + diagnostic if we are not using C99 integer division. + Avoid casts when possible. + (guess_time_tm): New function, containing the checking part of + the old ydhms_tm_diff function. Return the new value, rather than + the difference between it and the old. Accept a new argument T + so that *T specifies the old value. Check for overflow in the result. -2003-09-25 Karl Berry + (__mktime_internal): Use a time_t offset, not a long int offset. + This undoes the 2003-06-04 change, which is no longer needed now + that we have better overflow checking. + (localtime_offset): Likewise. - * config/install-sh: update from automake. + (__mktime_internal): Avoid harmful overflow on hosts where time_t + and long are 64-bit but int is only 32-bit. + (ydhms_diff): Use long int to store year1 and yday1. + Issue a compile-time diagnostic if long int is not wide enough. + + (__mktime_internal): Use long int to store adjusted year and yday. + Use plain C rather than preprocessor commands, if that doesn't + affect efficiency. + Check for overflow (and try to repair) after each probe + rather than checking only at the very end. This avoids some bugs + (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time + does not equal GMT offset at maximum time). + Use integer to check for overflow rather than floating point; this + is more portable to non-IEEE hosts, and is a tad faster. + When we detect that we are oscillating between two values, + don't check whether tm_isdst has the requested value, since + we already know the answer. When tm_isdst has the wrong value, + use a different heuristic to find the right one, based on the + extreme values actually observed in practice in tz2003a, + rather than the (overly optimistic) "previous 3 calendar quarters". -2003-09-25 Bruno Haible + (not_equal_tm, print_tm, check_result): Use "const T" rather than + "T const" to accommodate glibc style. + (check_result): Use less-confusing report format. "long" -> "long int. + (main): Likewise. + Don't loop if the iteration overflows time_t. + Allow a negative step in the iteration. - * modules/version-etc-2: New file, from modules/version-etc with - modifications. - * MODULES.html.sh (func_all_modules): Add version-etc-2. +2003-07-06 Karl Berry -2003-09-25 Bruno Haible + * config/depcomp: update from automake. + * config/config.sub: update from prep. - * lib/version-etc-2.h: New file, from version-etc.h with modifications. - * lib/version-etc-2.c: New file, from version-etc.c with modifications. +2003-07-03 Karl Berry -2003-09-24 Simon Josefsson + * config/config.guess: update from prep. - * modules/xgethostname: Add xgethostname.h. +2003-07-01 Paul Eggert -2003-09-24 Paul Eggert + * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since + xreadlink.c now includes it unconditionally. - * lib/linebuffer.c (freebuffer): Don't free the argument, just - the buffer associated with the argument. Bug reported by - Simon Josefsson. +2003-07-01 Paul Eggert -2003-09-24 Paul Eggert + * lib/xreadlink.c: Include unconditionally, instead of + having it depend on HAVE_SYS_TYPES_H. - * README: Document assumptions that 'int' is at least 32 bits - wide, that integer arithmetic is 2's complement without overflow, - that there are no holes in integer values, that adding sizes of - two nonoverlapping objects can't overflow, and that all-bits-zero - yields scalar zero. Fix spelling and capitalization typos. +2003-07-01 Bruno Haible -2003-09-19 Karl Berry + * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include . + should be sufficient. + Reported by Paul Eggert. - * lib/argp.h: update from libc. +2003-06-26 Karl Berry -2003-09-17 Paul Eggert + * config/depcomp: update from automake. - * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first, - to avoid spurious warnings like "AC_RUN_IFELSE was called before - gl_USE_SYSTEM_EXTENSIONS" from autoreconf. +2003-06-26 Bruno Haible -2003-09-17 Paul Eggert + * modules/human: Depend on module stdbool. - * gnulib-tool: Use "test -h", not "test -L", for portability - to Solaris 8 /bin/sh. (This bug is fixed in Solaris 9.) - (tags_regexp): Remove, since \| doesn't conform to POSIX. - (sed_extract_prog): Issue s commands one-by-one, rather than - using \| in one s command. +2003-06-25 Bruno Haible -2003-09-16 Paul Eggert + * modules/readlink: New file. + * modules/xreadlink: Depend on it. + * MODULES.html.sh (func_all_modules): Add readlink. - * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon - input error, instead of returning NULL the next time we are called - (and therefore losing track of errno). +2003-06-25 Bruno Haible -2003-09-16 Bruno Haible + * m4/readlink.m4: New file. - * gnulib-tool (func_create_testdir): Warn about duplicated - dependencies. +2003-06-25 Bruno Haible -2003-09-15 Paul Eggert + * lib/readlink.c: New file. - * modules/argmatch, modules/fatal, modules/obstack, - modules/xalloc, modules/xgethostname: Sort dependencies by - importance, not alphabetically. +2003-06-22 Karl Berry -2003-09-15 Paul Eggert + * config/srclist.txt: update mkinstalldirs from automake. + * config/mkinstalldirs: update. - * lib/getndelim2.c (getndelim2): Don't trash errno when a read - fails, so that the caller gets the proper errno. +2003-06-22 Bruno Haible - * lib/readutmp.c (read_utmp): Likewise. - Check for fstat error. Close stream and free storage - when failing. + Portability to mingw32. + * m4/ssize_t.m4: New file, from GNU gettext. + * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T. + * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T. -2003-09-14 Karl Berry +2003-06-22 Bruno Haible - * config/srclist.txt (strdup.c): disable for c89 changes. + * modules/safe-read: Add m4/ssize_t.m4. + * modules/xreadlink: Add m4/ssize_t.m4. -2003-09-14 Jim Meyering +2003-06-20 Bruno Haible - * lib/getloadavg.c: Correct cpp indentation. - * lib/strdup.c: Likewise. - * lib/vasnprintf.c: Likewise. + Assume C89, so PARAMS isn't needed. + * lib/unicodeio.h (PARAMS): Remove. + * lib/unicodeio.c: Don't use PARAMS. -2003-09-14 Bruno Haible +2003-06-18 Karl Berry - * modules/fwriteerror: New file. - * MODULES.html.sh (func_all_modules): Add fwriteerror. + * config/config.{guess,sub}: update from prep. -2003-09-14 Bruno Haible +2003-06-18 Jim Meyering - * lib/fwriteerror.h: New file. - * lib/fwriteerror.c: New file. + Merge changes from coreutils. + * lib/readutmp.c: Include and unconditionally. + Remove explicit declarations of xmalloc and realloc. + Include xalloc.h. + (read_utmp): Remove anachronistic cast of xmalloc. -2003-09-12 Paul Eggert +2003-06-17 Paul Eggert - * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack, - modules/xgethostname, modules/xalloc: Depend on exit. + Assume C89, so PARAMS isn't needed. + * lib/backupfile.h (PARAMS): Remove. All uses removed. + * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h, + lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h, + lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h, + lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h, + lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h, + lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h, + lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h, + lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h, + lib/xstrtod.h, lib/xstrtol.h: Likewise. + * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h, + lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h; + no longer needed. Anyway, config.h should always be included before any + other file. -2003-09-12 Paul Eggert +2003-06-11 Simon Josefsson - * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it. + * modules/sysexits: New file. + * MODULES.html.sh (func_all_modules): Add sysexits. - * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX - and AC_MINIX, too, so that their extensions are available. +2003-06-11 Simon Josefsson - * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove. All uses removed. - This macro has been superseded by gl_BACKUPFILE. + * lib/sysexit_.h: New file. - More patches to assume C89 or better. +2003-06-11 Derek Price - * m4/error.m4 (gl_ERROR): Don't check for vprintf. + * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is + necessary. - * m4/check-decl.m4 (jm_CHECK_DECLS): Include , - unconditionally. - * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h. - * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): - Include , unconditionally. - * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free. - * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h. - * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C - headers or for string.h. - * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h - or strtoul. +2003-06-11 Bruno Haible - * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C - headers. - * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise. - * m4/userspec.m4 (gl_USERSPEC): Likewise. - * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise. - * m4/xstrtod.m4 (gl_XSTRTOD): Likewise. - * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise. - * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h, - memcpy, memset. - (jm_FUNC_GNU_STRFTIME): Don't require standard C headers. - * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h. - * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h, - strtol. - * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h. - * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h. - * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol, - strtoul. + * m4/sysexits.m4: New file. -2003-09-12 Paul Eggert +2003-06-10 Simon Josefsson - * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h. - * lib/obstack.c [!defined _LIBC]: Likewise. - * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h - * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise. - * lib/exitfail.c: Don't include stdlib.h; no longer needed. + * lib/argp.h: New file, from glibc. + * lib/argp-ba.c: New file, from glibc. + * lib/argp-eexst.c: New file, from glibc. + * lib/argp-fmtstream.c: New file, from glibc. + * lib/argp-fmtstream.h: New file, from glibc. + * lib/argp-fs-xinl.c: New file, from glibc. + * lib/argp-help.c: New file, from glibc. + * lib/argp-namefrob.h: New file, from glibc. + * lib/argp-parse.c: New file, from glibc. + * lib/argp-pv.c: New file, from glibc. + * lib/argp-pvh.c: New file, from glibc. + * lib/argp-xinl.c: New file, from glibc. - More changes to assume C89 or better. +2003-06-10 Simon Josefsson - * lib/error.c (error_tail): Assume vprintf. + * modules/strchrnul: New file. - * lib/argmatch.c (getenv): Remove decl. - * lib/progreloc.c (get_full_program_name): Define via prototype. - * lib/setenv.c (clearenv): Likewise. - * lib/stpncpy.c: Do not include or ; not - needed. - * lib/strdup.c: Include , unconditionally. - (malloc, memcpy): Remove decls. - * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove. - (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove. - Include , , , unconditionally. - (memcpy): Remove macro. - (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally. - (__P): Remove. All uses removed. - (PTR): Remove. All uses changed to void *. - (CHAR_BIT, NULL): Remove. - (spaces, zeros, memset_space, memset_zero) - [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]: - Remove. - (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove. - (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days): - Define with prototype. - Remove now-unnecessary prototype decl. - (extra_args_spec): Assume ANSI C. All uses changed. - (extra_args_spec_iso): Remove. - (my_strftime, emacs_strftimeu): Define via prototype. - * lib/strtod.c: Include , , - unconditionally. - (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls. - * lib/strtoimax.c: Include unconditionally. - (strtoul, strtol): Remove decls. - * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX, - LONG_MAX): Remove. - Include , , , unconditionally. - (LOCALE_PARAM_DECL): Remove. All uses changed to LOCALE_PARAM_PROTO. - (LOCALE_PARAM_PROTO): New macro. - (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R. - (INTERNAL (strtol), strtol): Define with a prototype. - (PARAMS): Remove. All uses removed. - * lib/tempname.c: Include unconditionally. - * lib/userspec.c: Include , unconditionally. - * lib/xgethostname.c (main): Define with a prototype. - * lib/xmalloc.c: Include "xalloc.h" first, to check interface. - Include unconditionally. - (calloc, malloc, realloc, free): Remove decls. - * lib/xstrtod.c: Include "xstrtod.h" first, to check interface. - Include unconditionally. Sort include file names. - (strtod): Remove. - (xstrtod): Define with a prototype. - * lib/xstrtol.c: Include , unconditionally. - (strtol, strtoul): Remove decls. +2003-06-10 Simon Josefsson -2003-09-11 Paul Eggert + * modules/argp: New file. - More patches to assume C89 or better. - * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check. - * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h, - string.h, memchr, STDC_HEADERS. +2003-06-10 Simon Josefsson -2003-09-11 Paul Eggert + * m4/strchrnul.m4: New file. - * lib/strndup.c: Don't include , . - Include , unconditionally. - Remove now-unnecessary cast to char *. - * lib/strnlen.c: Include unconditionally. - * lib/yesno.c (yesno): Define with a prototype. +2003-06-10 Simon Josefsson -2003-09-11 Bruno Haible + * lib/strchrnul.h: New file. + * lib/strchrnul.c: New file. - * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment. +2003-06-10 Bruno Haible -2003-09-10 Jim Meyering + * MODULES.html.sh (func_all_modules): Add strchrnul and argp. - * lib/error.c: Correct indentation of cpp directives. +2003-06-07 Karl Berry -2003-09-10 Bruno Haible + * config/config.{guess,sub}: update from prep. - * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove check. - * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove check. - * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove check. - * m4/unicodeio.m4 (gl_UNICODEIO): Remove check. - * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove - and checks. - * m4/xreadlink.m4 (gl_XREADLINK): Remove check. - * m4/yesno.m4 (gl_YESNO): Remove check. +2003-06-07 Jim Meyering -2003-09-10 Bruno Haible + * modules/strtod: Use $(...) notation, not @...@ for + AC_REPLACE'd variables. + * modules/localcharset: Likewise. - * lib/strcspn.c: Include unconditionally. - * lib/strpbrk.c: Include unconditionally. - * lib/strstr.c: Include unconditionally. - * lib/unicodeio.c: Include unconditionally. - * lib/setenv.c: Include and unconditionally. - * lib/unsetenv.c: Likewise. - * lib/xreadlink.c: Include unconditionally. - * lib/yesno.c: Include unconditionally. - (rpmatch): Add prototype. +2003-06-07 Jim Meyering -2003-09-09 Paul Eggert + * lib/readtokens.h: Put `Free Software Foundation, Inc.' + in place of my name in the copyright comment. + Remove definition and uses of __P. - More patches to assume C89 or better. - * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h. - * m4/getopt.m4 (gl_GETOPT): Don't check for string.h. - * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers - or for string.h. - * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for - stdlib.h. - * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard - C headers. - * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h, - string.h. - * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free. - * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv. - * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers, - or for string.h. - * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h. - * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard - C headers. - * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers, - memcpy. - * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy. - * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h. - * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h. - * m4/memcoll.m4 (gl_MEMCOLL): Likewise. - * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h. - * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h, - string.h, free. - * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers. - * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers. - * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard - C headers, or for string.h. - * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h. - (gl_PREREQ_OBSTACK): Don't check for stdlib.h. - * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C - headers, memory.h, stdlib.h, string.h, strings.h. - * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h. - * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv. - * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy, - strchr. - * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C - headers, memory.h, string.h. - * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h. - * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h, - free. - * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C - headers. - * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free. - * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers. - * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers. - * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h. - * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h. + From coreutils. + * lib/stat.c: Don't declare xmalloc explicitly. + Instead, include "xalloc.h". + * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc, + xrealloc, and xcalloc return values. + * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h". + Improve comment. + * lib/xgetcwd.h: Remove definition/uses of PARAMS. -2003-09-09 Paul Eggert +2003-06-07 Bruno Haible - More K&R removal. + * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to + avoid AC_CONFIG_LINKS. + * modules/fnmatch (Makefile.am): Use explicit creation rule for + fnmatch.h, to avoid AC_CONFIG_LINKS. + * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe. - * lib/acosl.c (main): Use a prototype. - * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c, - tanl.c: Likewise. +2003-06-07 Bruno Haible - * lib/getloadavg.c (getloadavg, main): Define via prototypes. + * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX, + gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking + AC_CONFIG_LINKS. Needed to allow for a different name of the lib + directory. + * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking + AC_CONFIG_LINKS. Needed to allow for a different name of the lib + directory. - * lib/getopt.h (struct option.name): Assume C89, and use 'const'. - (getopt, etopt_long, getopt_long_only, _getopt_internal) - [defined __GNU_LIBRARY__]: Assume C89, so we can always declare - with a prototype. - * lib/getopt.c (const): Remove macro. - Include unconditionally. - (my_index): Remove; all uses changed to strchr. - (strlen): Remove decl. - (exchange): Remove forward decl; no longer needed. - (exchange, _getopt_initialize, _getopt_internal, getopt, main): - Define with prototype. - * lib/getopt1.c (const): Remove macro. - (getopt_long, getopt_long_only, main): Define with prototype. +2003-06-06 Jim Meyering - * lib/getugroups.c: Include unconditionally. + Merge from coreutils. + * lib/same.c: (same_name): Declare *_basename locals to be `const'. + Consolidate declarations and initializations of *_base* locals. - * lib/getusershell.c: Include unconditionally. - (getusershell, setusershell, endusershell, readname, main): - Define with prototypes. + Merge from coreutils. + This avoids a core dump on systems without GNU putenv, + when running `env -u SOME_ALREADY_UNSET_VARIABLE'. + * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define. + (unsetenv): New static function, from GNU libc. + (rpl_putenv): Use it. - * lib/group-member.c: Include group-member.h first. - Include unconditionally. + * lib/modechange.c: Remove trailing blanks. - * lib/hard-locale.c: Include hard-locale.h first. - Include , unconditionally. + Merge from coreutils. + * lib/fsusage.c: Remove declaration of statfs. + It conflicted with one from OSF/1 5.1 in . - * lib/hash.c (free, malloc): Remove decls. - Include unconditionally. + * lib/posixtm.c: Include unconditionally. - * lib/human.c: Include , unconditionally. - (getenv): Do not declare. +2003-06-06 Jim Meyering - * lib/idcache.c: Include unconditionally. + * lib/stdbool_.h: Renamed from stdbool.h.in. - * lib/long-options.c: Include long-options.h first, to test interface. - Include unconditionally. +2003-06-06 Jim Meyering + Bruno Haible - * lib/makepath.c: Include makepath.h first, to test interface. - Include and unconditionally. + * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h. + Adjust Makefile.am snippet not to redirect directly to target. + Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables. - * lib/linebuffer.c: Include . - (free): Remove decl. +2003-06-05 Paul Eggert - * lib/malloc.c: Include , for malloc; don't bother with - stddef.h. rpl_malloc returns void *, not char *. - * lib/realloc.c (rpl_realloc): Likewise. Also, define with a - prototype. + * lib/mktime.c (__mktime_internal): When resolving a tm_isdst + mismatch, look in future quarters as well as past. This fixes a + bug when processing fall-backwards gaps immediately after a long + period of daylight-saving time. + + * lib/mktime.c: Assume freestanding C89 or better. + (HAVE_LIMITS_H): Remove. Assume it's 1. + (__P): Remove; not used. + (CHAR_BIT, INT_MIN, INT_MAX): Remove; defines them. + (mktime, not_equal_tm, print_tm, check_result, + main): Use prototypes. Use const * where appropriate. + (main): Fix typo in testing code that uncovered by above changes. + (Local Variables): Remove -DHAVE_LIMITS_H from compile-command. + +2003-06-04 Paul Eggert + + * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H. Check for + locale.h, localeconv. This merges changes from coreutils. + + * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS. + It can be removed after the next Autoconf is released. + * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner + needed. + +2003-06-04 Paul Eggert + + * lib/mktime.c: Fix Debian bug 177940 + . + (localtime_offset): Now long int, not time_t, because we want it + to be guaranteed to be signed. All uses changed. + (__mktime_internal): If overflow would occur when adding offset, + don't add it. + + Merge 'human' changes from coreutils. Rewrite to support + locale-specific notations like thousands separators. + * lib/human.c: Simplify authorship notice. + Include human.h immediately after config.h. + , : Do not include; no longer needed. + : Do not include, since human.h does. + (SIZE_MAX, UINTMAX_MAX): New macros. + : Include if HAVE_STRINGS_H, not if !HAVE_STRING_H. + : Include if HAVE_LOCALE_H and HAVE_LOCALECONV. + (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro. + (power_letter): Renamed from suffixes. + (generate_suffix_backwards): Remove. + (adjust_value): Now takes int style (because of human.h changes) + and long double value (for greater precision on some platforms). + (group_number): New function. + (human_readable): Use it. Use integer options, not enum. + Put the options before the sizes in the arg list. + Support all the new options. + The old human_readable function has been removed; + use inttostr.h instead. + (human_readable, default_block_size, humblock): + Use uintmax_t, not int, for block sizes. + (human_readable_inexact, block_size_types): Remove. + (block_size_opts): New constant. + (human_options): Renamed from human_block_size, with new signature + that allows block sizes up to UINTMAX_MAX. All callers changed. + * lib/human.h: Add copyright and authorship notice. + Include and unconditionally. + (PARAMS): Remove. All uses removed. + (LONGEST_HUMAN_READABLE): Add support for thousands separator. + (enum human_inexact_style): Remove tag; now a nameless enum. + (human_floor, human_ceiling, human_round_to_even): Now have + values 2, 0, 1 rather than -1, 1, 0. + (human_group_digits, human_suppress_point_zero, human_autoscale, + human_base_1024, human_SI, human_B): New constants. + (human_readable_inexact, human_block_size): Remove. + (human_readable): Size args are now uintmax_t, not int. + (human_options): New decl. - * lib/md5.h: Include unconditionally. - (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case. - (__P): Remove; all uses removed. - * lib/md5.c: Include "md5.h" first. - (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream, - md5_buffer, md5_process_bytes, md5_process_block): - Define with prototypes. - * lib/sha.h (__P): Remove all uses. (It wasn't defined??) - * lib/sha.c: Include "sha.h" first. - Include , unconditionally. + * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are + unnecessary now that we assume C89 or better. This change + imported from coreutils. - * lib/memchr.c (__ptr_t): Remove; all uses changed to void *. - * lib/memcmp.c (__ptr_t): Likewise. - * lib/memrchr.c (__ptr_t): Likewise. - * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c: - Include unconditionally. - * lib/memchr.c, memrchr.c: Include unconditionally. - * lib/memchr.c: Include unconditionally. - * lib/memchr.c (LONG_MAX): Remove. - * lib/memrchr.c (LONG_MAX): Likewise. - * lib/memchr.c (__memchr): Define via a prototype. - * lib/memrchr.c (__memrchr): Likewise. - * lib/memcmp.c (__P): Remove, and remove all uses. - (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment): - Remove forward decls; no longer needed. - * lib/memcpy.c, memmove.c, memset.c: Include . - Use types required by C89 in prototype. + * lib/mktime.c (__mktime_internal): Do not reject negative timestamps + arbitrarily. This is the same patch as 2003-05-28, but it got lost + in the 2003-05-30 sync from glibc. - * lib/mkdir.c: Include , unconditionally. - * lib/savedir.c: Likewise. - * lib/mkdir.c (free): Remove decl. - * lib/rmdir.c (rmdir): Define with a prototype. - * lib/savedir.c: Include savedir.h first, to test interface. + .h files should stand alone, but we shouldn't include + if we can get away with just . - * lib/mktime.c (STDC_HEADERS): Remove. - Include , unconditionally. + * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c, + malloc.c, putenv.c, realloc.c, strcasecmp.c: Include + rather than , as we merely need size_t. + * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include , + to get size_t. + * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h: + Include , to get FILE. + * lib/memcasecmp.c: Don't include , as we can assume + memcasecmp.h has included and all we need is size_t. + * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks + our interface, instead of including - * lib/modechange.c: Include unconditionally. - (malloc): Remove decl. +2003-06-04 Paul Eggert - * lib/mountlist.c: Include , unconditionally. - (free): Remove decl. + * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for + now, as glibc mktime is buggy on non-glibc systems. - * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]: - Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H. - (This type really should be intptr_t, but that's a C99ism.) - (_obstack_memcpy): Remove: all uses changed to memcpy. - Include unconditionally. - (struct obstack): Assume __STDC__ for types of members - chunkfun, freefun, extra_arg. - (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1, - _obstack_memory_used, obstack_alloc_failed_handler, obstack_init, - obstack_begin, obstack_specify_allocation, - obstack_specify_allocation_with_arg, obstack_chunkfun, - obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]: - Remove unprototyped decls and the macros that use them. - * lib/obstack.c (POINTER): Remove. All uses changed to void *. - (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN, - _obstack_begin, _obstack_begin_1, _obstack_allocated_p) - (defined __STDC__ && __STDC__)]: - Remove nonprototyped code. - Include unconditionally. - (_obstack_begin, _obstack_begin_1, _obstack_newchunk, - _obstack_allocated_p, _obstack_free, obstack_free, - _obstack_memory_used, print_and_abort): - Define using prototypes. - (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base, - obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0, - obstack_finish, obstack_grow, obstack_grow0, obstack_make_room, - obstack_next_free, obstack_object_size, obstack_room) [0]: - Remove unused, unprototyped code. +2003-06-03 Karl Berry - * lib/path-concat.c: Include , unconditionally. + * config/config.sub: update from prep. - * lib/physmem.c (physmem_total, physmem_available, main): Define - with prototypes. +2003-06-02 Paul Eggert - * lib/posixtm.c: Include , unconditionally. - (main): Define with a prototype. + [from coreutils] + Fix some minor time-related bugs with POSIX time arguments. + Some valid time stamps were being rejected (notably -1, and + time stamps before 1900 on 64-bit hosts). And some invalid + time stamps were being accepted, e.g. September 31. - * lib/posixver.c (getenv): Remove decl. + * lib/posixtm.h (posixtime): Return bool instead of time_t, so + that we can return (time_t) -1 successfully. + * lib/posixtm.c: Likewise. + [HAVE_STDBOOL_H]: Include . + (bool, false, true) [!HAVE_STDBOOL_H]: New type. + (t): Remove static var. + (year, posix_time_parse): Now takes struct tm * arg to modify, instead + of static var. All uses changed. + (year): Do not reject years before 1900; they can occur with + 64-bit time_t. + (posix_time_parse): Do not check for out-of-range components; + that is now the caller's responsibility, since our checks were + only approximations. + (posixtime): Use mktime to check for out-of-range components, + since it knows them exactly. + If mktime returns (time_t) -1, check whether an error actually occurred + by invoking localtime on -1. + (main) [TEST_POSIXTIME]: Check for input data errors, and report + posixtime failures better. + Improve the test data (in comments only). - * lib/putenv.c (malloc): Returns void *, not char *. - Include unconditionally. - (strchr, memcpy, NULL): Do not define. +2003-06-02 Karl Berry - * lib/readtokens.c: Include readtokens.h first, to test interface. - Include , unconditionally. - (init_tokenbuffer): Define with a prototype. + * config/mkinstalldirs (version): new variable. + (--version): new option. + (usage): improve message. - * lib/regex.c (PARAMS): Remove. All uses removed. - All uses of _RE_ARGS removed, too. - Include , , , - unconditionally. - (bzero): Assume memset exists. - (memcmp, memcpy, NULL): Remove. - (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed - char, or assignments to local vars of type signed char. - (init_syntax_once, PREFIX(extract_number_and_incr), - PREFIX(print_partial_compiled_pattern), - PREFIX(print_compiled_pattern), PREFIX(print_double_string), - convert_mbs_to_wcs, print_fastmap, re_set_syntax, - PREFIX(regex_grow_registers), PREFIX(regex_compile), - PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1), - PREFIX(insert_op2), PREFIX(at_begline_loc_p), - PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space, - wcs_compile_range, byte_compile_range, truncate_wchar, - PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers, - re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2, - count_mbs_length, wcs_re_match_2_internal, - byte_re_match_2_internal, PREFIX(group_match_null_string_p), - PREFIX(alt_match_null_string_p), - PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate), - re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror, - regfree, PREFIX(extract_number)): Define with prototype. Remove - now-unnecessary declaration, if any. - (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec, - regcomp, regexec): - Remove now-unnecessary casts among pointer types. - * lib/regex.h (_RE_ARGS): Remove. All uses removed. +2003-05-30 Karl Berry - * lib/rename.c: Include , unconditionally. - (free): Remove decl. + * lib/mktime.c: update from libc. - * lib/rpmatch.c: Include unconditionally. +2003-05-30 Bruno Haible - * lib/same.c: Include , unconditionally. - (free): Remove decl. + * modules/gettext: Add files m4/nls.m4 and m4/po.m4. + * config/config.rpath: Upgrade to gettext-0.12.1. - * lib/save-cwd.c: Include unconditionally. - * lib/xgetcwd.c: Likewise. +2003-05-30 Bruno Haible - * lib/stat.c: Include , unconditionally. - (free): Remove decl. + * m4/gettext.m4: Upgrade to gettext-0.12.1. + * m4/nls.m4: New file, from gettext-0.12.1. + * m4/po.m4: New file, from gettext-0.12.1. + * m4/progtest.m4: Upgrade to gettext-0.12.1. - * lib/strchrnul.c (strchrnul): Define with a prototype. - Fix bug: c_in was not converted to char before searching. +2003-05-30 Bruno Haible - The following changes are not K&R related: + * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1. + * lib/localcharset.h: Likewise. + * lib/localcharset.c: Likewise. - * lib/group-member.h: Include , so that this file is - self-contained. - * lib/makepath.h: Likewise. +2003-05-29 Karl Berry - * lib/getusershell.c (readname, default_index, line_size, readname): - Use size_t, not int, for sizes. - (readname): If the size overflows, report an error instead of - looping forever. + * config/config.rpath: update from gettext. -2003-09-09 Paul Eggert +2003-05-28 Paul Eggert - * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from - libc. + Assume the headers required for C89 freestanding compilers. + * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h. + * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise. + * m4/human.m4 (gl_HUMAN): Likewise. + * m4/pathmax.m4 (gl_PATHMAX): Likewise. + * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise. + * m4/userspec.m4 (gl_USERSPEC): Likewise. + * m4/xreadlink.m4 (gl_XREADLINK): Likewise. + * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise. + * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h. -2003-09-09 Paul Eggert +2003-05-28 Paul Eggert - * README: New section: portability guidelines. + Assume the headers required for C89 freestanding compilers. + * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c, + lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c, + lib/xstrtol.c: Include without checking for HAVE_LIMITS_H. + * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c, + lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't + define, since is guaranteed to do that. + * lib/fatal.c: Include without checking for __STDC__. + * lib/exclude.c: Include unconditionally. + * lib/tempname.c: Include unconditionally. + * lib/hash.c: Include , since we no longer define CHAR_BIT. + * lib/modechange.c, rpmatch.c (NULL): Don't define, since + does that. + * lib/quote.c: Dont include or ; not needed. + * lib/safe-read.c (INT_MAX): Don't define, since does that. + * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer + needed. + * lib/xstrtol.c: Likewise. + * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed. + * lib/savedir.c: Include instead of defining NULL. -2003-09-09 Derek Robert Price + * lib/addext.c (addext): Use assignment rather than cast, to avoid + warnings on some platforms. - * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the - C89 spec. + * lib/mktime.c (__mktime_internal): Do not reject negative timestamps + arbitrarily. -2003-09-09 Derek Robert Price +2003-05-26 Jim Meyering - * lib/getndelim2.c: Assume stdlib.h per the C89 spec. + Merge in a change from coreutils: + * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one + that is guaranteed to be `no'. Use `no_such_member' to indicate + that condition, rather than `-1' which is slightly misleading. + Change the name of the cache variable to have the gl_ prefix. + Prompted by a patch from Richard Dawe for DJGPP. -2003-09-08 Paul Eggert +2003-05-24 Karl Berry - Assume C89 or better; remove K&R cruft. - A few of these changes were first proposed by Derek Robert Price - in . + * config/config.guess: update from prep. - * lib/addext.c: Include unconditionally. - * lib/backupfile.c: Include , unconditionally. - Don't declare getenv or malloc. +2003-05-22 Karl Berry - * lib/alloca.c: Include , unconditionally. - (POINTER_TYPE, pointer): Remove; all uses changed to void *. - (NULL): Remove. - (find_stack_direction, alloca): Use prototypes. + * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg. - * lib/atexit.c (atexit): Define using a prototype. +2003-05-20 Karl Berry - * lib/basename.c, dirname.c, stripslash.c: - Include unconditionally. + * config/config.guess: update from prep. - * lib/bcopy.c: Include . - (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'. +2003-05-18 Karl Berry - * lib/canon-host.c: Include , unconditionally. + * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF + might actually be set by the user. - * lib/error.h (error, error_at_line, error_print_progname) - [! (defined (__STDC__) && __STDC__)]: Remove decls. - * lib/error.c: Include error.h first, to check interface. - Include , , unconditionally. - (VA_START): Remove; all uses changeed to va_start. - (exit, strerror): Remove decls. - (error_print_progname): Prototype uncondionally. - Don't include ; no longer needed. - (private_strerror): Remove. - (error_tail): Always define. - (error, error_at_line): Assume C89 or better; always use prototypes. - * lib/fatal.c: Include "fatal.h" first, to test interface. - Include , , unconditionally. - (VA_START): Remove; all uses changed to va_start. - [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for - this case. - (exit): Remove decl. - (fatal): Prototype unconditionally. Assume va_start works. - Abort at end, to pacify gcc. + * config/depcomp, install-sh, mdate-sh: update from automake. - * lib/euidaccess.c (main): Define with a prototype. +2003-05-17 Bruno Haible - * lib/exclude.c: Include , unconditionally. + * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an + invalid expansion for AC_EGREP_CPP. + * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise. + * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise. + Suggested by Akim Demaille in + http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html - * lib/exitfail.c: Include unconditionally. +2003-05-12 Jim Meyering - * lib/fnmatch_.h (__P): Remove. All uses changed to assume - prototypes. - * lib/fnmatch.c: Include fnmatch.h first, to test interface. - Include , , unconditionally. - (getenv): Remove decl. - (fnmatch): Define using a prototype. - * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed. - (FCT): Define using a prototype. + * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect + the space-padded-by-default conversion specifiers, %e, %k, %l. - * lib/getdate.y: Include , unconditionally. +2003-05-12 Bruno Haible - * lib/gethostname.c: Include . - (gethostname): Define with prototype. Length is size_t, not int. + * lib/linebreak.c (iconv_string_length): Don't return -1 just because + the string is longer than 4 KB. -2003-09-08 Paul Eggert +2003-05-11 Karl Berry - Assume C89 or better; remove K&R cruft. - * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h. - * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h, - string.h, getenv, malloc. - * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard - headers. - * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h. - * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and - do not check for strerror. - * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h. - * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h. - * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and - do not check for doprnt or vprintf. - * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove. All uses removed. - * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h. + * config/config.{guess,sub}: update from prep. -2003-09-08 Paul Eggert +2003-05-09 Bruno Haible - * lib/getversion.c: Remove; was migrated to backupfile.c in 1997. - getversion.c should have been removed then, but was accidentally - preserved. + * modules/error: Add m4/strerror_r.m4 to file list. - * lib/utime.c [!HAVE_UTIMES_NULL]: Include , . - (utime_null): Fix typo: 'st' was sometimes called 'sb'. +2003-05-03 Bruno Haible -2003-09-08 Karl Berry + Upgrade to Unicode-4.0. + * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD, + U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615, + U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5, + U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B + from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1. + (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width + of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2. + Change width of U+E0100..U+E01EF from 1 to 0. - * config/config.sub, config.guess, srclistvars.sh: update from savannah - config, forget about prep. +2003-04-25 Jim Meyering - * config/depcomp, missing: update from automake. + * lib/copy-file.c (copy_file_preserving): Declare buf_size to be + of type size_t, not int. -2003-09-07 Paul Eggert +2003-04-25 Bruno Haible - * modules/time_r: Depend on 'restrict'. Fix from Simon Josefsson in - . + * lib/copy-file.c: Include , for size_t. -2003-09-07 Paul Eggert +2003-04-21 Paul Eggert - * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to - copy_tm_result. Bug reported by Simon Josefsson in - . + * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some + code which expansion is under static control. Patch imported from + Akim Demaille's patch to Bison; see + . -2003-09-06 Paul Eggert +2003-04-14 Bruno Haible - * m4/time_r.m4: New file. - * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h. - * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime - is. Check for timegm declaration. - (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME. - Do not check for gmtime_r. - Replace mktime if __mktime_internal does not exist and if mktime - hasn't been replaced already. + * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF. -2003-09-06 Paul Eggert +2003-04-11 Jim Meyering - * lib/time_r.c, lib/time_r.h: New files. + Merge changes from Coreutils. - * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to - __localtime_r. - (__localtime_r) [!defined _LIBC]: New macro. Include . - (__mktime_internal) [!defined _LIBC]: Now extern, not static. + 2003-03-22 Jim Meyering - * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to - __gmtime_r. - (my_strftime_localtime_r): Remove; all uses changed to __localtime_r. - (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros. - Include . + * lib/strftime.c (widen): Cast alloca return value to proper type. - * lib/timegm.c: Switch to glibc implementation, with the following - changes: - [defined HAVE_CONFIG_H]: Include . - [!defined _LIBC]: Include "timegm.h" rather than . - (__mktime_internal) [!defined _LIBC]: New decl. - (__gmtime_r) [!defined _LIBC]: New macro and function. - (timegm): Use a prototype, since gnulib assumes C89. - Do not bother declaring tmp to be const, as it's not really usefu. - * lib/timegm.h: Hoist "#include " out of #ifdef. - (timegm): Declare only if HAVE_DECL_TIMEGM. + 2003-01-19 Ulrich Drepper -2003-09-06 Paul Eggert + From GNU libc. + * lib/strftime.c (my_strftime): Handle very large width + specifications for numeric values correctly. Improve checks for + overflow. - * MODULES.html.sh (func_all_modules): Add time_r. - * modules/time_r: New file. - * modules/mktime, modules/strftime, modules/timegm: Depend on time_r. - * modules/timegm: Depend on mktime. Change maintainer to "all, glibc". + 2003-01-19 Jim Meyering -2003-09-03 Paul Eggert + * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical + definitions. + (nl_get_alt_digit) [! defined my_strftime]: Define. + (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of + _nl_get_alt_digit and _nl_get_walt_digit. - * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k. - Bug reported by Lute Kamstra in - . + * lib/strftime.c (my_strftime): Merge in locale-related changes from + libc. These changes have no effect outside of _LIBC. - * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow", - "yesterday", "today", and "now" rather than tMINUTE_UNIT. Of - course with correspondingly smaller numbers for tomorrow and - yesterday. From Tadayoshi Funaba. Originally installed into - sh-utils on 1999-08-07, but the patch got lost (I guess during the - coreutils merge?). +2003-04-10 Bruno Haible -2003-08-31 Simon Josefsson + * modules/findprog: New file. + * MODULES.html.sh (func_all_modules): Add it. - * modules/timegm: New file. - * MODULES.html.sh (func_all_modules): Add timegm. +2003-04-10 Bruno Haible -2003-08-31 Simon Josefsson + * m4/findprog.m4: New file. + * m4/eaccess.m4: New file. - * m4/timegm.m4: New file. +2003-04-10 Bruno Haible -2003-08-31 Simon Josefsson + * lib/findprog.h: New file, from GNU gettext. + * lib/findprog.c: New file, from GNU gettext. - * lib/timegm.h: New file. - * lib/timegm.c: New file. Based on - wget-1.8.2/src/http.c:mktime_from_utc. +2003-04-05 Jim Meyering -2003-08-31 Karl Berry + Merge changes from Coreutils. - * lib/argp.h: update from libc. + * lib/exclude.h (PARAMS): Remove definition and uses. + * lib/exclude.c: Remove uses of `PARAMS'. -2003-08-28 Bruno Haible + * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test. + Add test-cases for DOS filenames. Declare program_name. + (main): Set up program_name. Patch by Rich Dawe. - * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here. - This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch' - followed by '#define fnmatch fnmatch_posix' gives an error. + * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any + error from mntctl. + Use mntctl's return value to drive the entry-processing loop, since + we can't rely on the value of the vmt_length member in the last + entry. On some systems doing so could result in exhausting + virtual memory. Based in part on a patch from Mike Jetzer. -2003-08-28 Bruno Haible +2003-04-04 Bruno Haible - * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a - warning on QNX, which defines O_BINARY to 000000. + * modules/linebreak: New file. + * MODULES.html.sh (func_all_modules): Add it. -2003-08-27 Jim Meyering +2003-04-04 Bruno Haible - * m4/mkstemp.m4: Require that the system mkstemp be able to create - 70 temporary files, not just 30. Tru64 V4.0F's mkstemp function - would fail after 32. Reported by Danny Levinson. Details here: - http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html + * m4/linebreak.m4: New file. -2003-08-24 Bruno Haible +2003-04-04 Bruno Haible - * lib/binary-io.h: Include , to avoid a compilation error when - MSVC7 is included later. + * lib/linebreak.h: New file, from GNU gettext. + * lib/linebreak.c: New file, from GNU gettext with slight + modifications. + * lib/lbrkprop.h: New file, from GNU gettext. -2003-08-22 Simon Josefsson +2003-04-03 Bruno Haible - * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES. + * modules/utf8-ucs4: New file. + * modules/utf16-ucs4: New file. + * modules/ucs4-utf8: New file. + * modules/ucs4-utf16: New file. + * MODULES.html.sh (func_all_modules): Add them. -2003-08-20 Karl Berry +2003-04-03 Bruno Haible - * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial. + * m4/utf-ucs4.m4: New file. + * m4/ucs4-utf.m4: New file. -2003-08-20 Bruno Haible +2003-04-03 Bruno Haible - * modules/progname: New file. - * MODULES.html.sh (func_all_modules): Add progname. + * lib/utf8-ucs4.h: New file, from GNU gettext. + * lib/utf16-ucs4.h: New file, from GNU gettext. + * lib/ucs4-utf8.h: New file, from GNU gettext. + * lib/ucs4-utf16.h: New file, from GNU gettext. -2003-08-20 Bruno Haible +2003-04-02 Bruno Haible - * lib/progname.h: New file, from GNU gettext. - * lib/progname.c: New file, from GNU gettext. - * lib/progreloc.c: New file, from GNU gettext. + * modules/binary-io: New file. + * MODULES.html.sh (func_all_modules): Add it. -2003-08-19 Jim Meyering +2003-04-02 Bruno Haible - * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here: - http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html + * lib/binary-io.h: New file, from GNU gettext. -2003-08-19 Bruno Haible +2003-04-01 Bruno Haible - * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for any - more. + * modules/pathname: New file. + * MODULES.html.sh (func_all_modules): Add it. -2003-08-19 Bruno Haible +2003-04-01 Bruno Haible - * lib/xstrdup.c: Assume exists. + * lib/pathname.h: New file, from GNU gettext. + * lib/concatpath.c: New file, from GNU gettext. -2003-08-18 Paul Eggert +2003-03-30 Bruno Haible - * modules/stdbool: Add BUILT_SOURCES. Prefer $@ to target name - in makefile rules. + * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown(). -2003-08-18 Jim Meyering +2003-03-30 Bruno Haible - * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB). - * m4/lib-ld.m4: Likewise. + * lib/copy-file.c (copy_file_preserving): Don't set owner if the + function chown() doesn't exist. -2003-08-18 Jim Meyering +2003-03-28 Bruno Haible - * lib/setenv.h: Indent nested cpp directive. - * lib/vasnprintf.c: Remove trailing blanks. + * modules/copy-file: New file. + * MODULES.html.sh (func_all_modules): Add it. -2003-08-17 Simon Josefsson +2003-03-28 Bruno Haible - * modules/xstrndup: New file. - * MODULES.html.sh (func_all_modules): Add xstrndup. + * m4/copy-file.m4: New file. -2003-08-17 Simon Josefsson +2003-03-28 Bruno Haible - * modules/argp: Fix autoconf macro name. Add more dependencies. + * lib/copy-file.h: New file, from GNU gettext. + * lib/copy-file.c: New file, from GNU gettext. -2003-08-17 Simon Josefsson +2003-03-18 Jim Meyering - * m4/xstrndup.m4: New file. + * lib/quote.c (quote_n): Fix typo in comment. -2003-08-17 Simon Josefsson +2003-03-18 Bruno Haible - * m4/argp.m4: New file. + * m4/onceonly.m4: Use m4_defn instead of defn, for better error + checking. + * m4/onceonly_2_57.m4: Likewise. -2003-08-17 Simon Josefsson - Bruno Haible +2003-03-17 Bruno Haible - * lib/xstrndup.h: New file. - * lib/xstrndup.c: New file. + * m4/onceonly.m4: Require autoconf 2.54 or newer. + (m4_quote): Remove macro. + * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer. -2003-08-17 Bruno Haible +2003-03-14 Jim Meyering - * modules/strndup (Files, Include): Add lib/strndup.h. + Merge changes from Coreutils. + * lib/obstack.h (obstack_object_size): Declare temporary, __o, + to be const, in order to avoid warnings. + (obstack_room): Likewise. + (obstack_empty_p): Likewise. -2003-08-17 Bruno Haible +2003-03-14 Bruno Haible - * modules/euidaccess (Files): Add lib/euidaccess.h. + * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, + AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly. -2003-08-17 Bruno Haible +2003-03-13 Paul Eggert - * lib/strndup.h: New file. + Merge changes from Bison. + * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to + (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5 + when compiling Bison 1.875's `bitset bset = obstack_alloc + (bobstack, bytes);'. Problem reported by Nelson H. F. Beebe. + * lib/hash.c: Include unconditionally. -2003-08-17 Bruno Haible +2003-03-13 Paul Eggert - * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS - like AC_GNU_SOURCE. - * modules/extensions (configure.ac): Comment out the invocation of - gl_USE_SYSTEM_EXTENSIONS. + * m4/onceonly.m4 (m4_quote): New macro. + (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE): + Quote AC_FOREACH variable-expansions properly. -2003-08-16 Paul Eggert +2003-03-13 Paul Eggert - Merges from coreutils, etc. - * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax - error in gl_FUNC_MATCH. This fixes a bug I introduced on 2003-05-28. - * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE, - fixing a typo. - * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD. - * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL. + * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version. -2003-08-16 Paul Eggert +2003-03-09 Paul Eggert - Document merge from coreutils. - * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES. - * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES. - * modules/utime: Add m4/utimes-null.m4. + * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't. + Reported by Bruce Becker; see: + http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html -2003-08-16 Paul Eggert +2003-03-03 Paul Eggert + Bruno Haible - * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white - space, undoing this 2003-08-12 change: - + * lib/mbswidth.h: Include . Needed for UnixWare 7.1.1. + Reported by John Hughes, see + http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html -2003-08-16 Paul Eggert +2003-02-20 Bruno Haible - * config/srclist.txt: Get regex.h, strdup.c, strtoll.c, - strtoul.c from libc, undoing this 2003-08-12 change: - + * MODULES.html.sh (func_all_modules): Add poll. -2003-08-16 Jim Meyering +2003-02-19 Paolo Bonzini - Merges from coreutils. - * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_) - prefix. Adjust cache variables similarly. Create 500 rather than - just 300 files, to exercise bug on Darwin6.5, too. - * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined - $missing_dir. - * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not - AM_SYS_POSIX_TERMIOS. - Reported by mkc@mathdogs.com. - Also change use of $am_cv_sys_posix_termios - to $ac_cv_sys_posix_termios. Reported by Andreas Schwab. - * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS - and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB. - * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point - in /proc/mounts until it finds one with matching device number. This - is unnecessary when the FILE argument *is* a mount point. No stat call - is necessary in that case. So, disable the statvfs-testing code on - systems with GNU libc. Reported by Andrei Gaponenko via Tim Waugh - as RedHat bug# 84846. - * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size - to 1MB, so as not to render systems with no stack size limit (e.g., - linux-2.2.x) unusable. Suggestion and code from Bruno Haible. - Include . On some systems, - it is required for the definition of _SC_PAGESIZE. + * modules/poll: New file. -2003-08-16 Jim Meyering +2003-02-19 Paolo Bonzini - Merge from coreutils. - * lib/xstrtoimax.c: #else #if -> #elif. - * lib/xstrtoumax.c: Likewise. + * lib/poll_.h: New file. + * lib/poll.c: New file. -2003-08-16 Jim Meyering +2003-02-19 Paolo Bonzini - * m4/utimes.m4 (gl_FUNC_UTIMES): New file. - * m4/utimes.m4: Removed. - * m4/utimes-null.m4: Renamed from utimes.m4. + * m4/poll.m4: New file. - * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size - to 1MB, so as not to render systems with no stack size limit (e.g., - linux-2.2.x) unusable. Suggestion and code from Bruno Haible. - Include . On some systems, - it is required for the definition of _SC_PAGESIZE. +2003-02-18 Paolo Bonzini -2003-08-16 Jim Meyering - and Paul Eggert + * modules/mathl: New file. - Merges from coreutils, etc. +2003-02-18 Paolo Bonzini - * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define - using the latest version from cvs. This avoids problems with #line - directives using a vendor (Sun) compiler. - (jm_MACROS): Bump prerequisite from 2.52g to 2.57. - Don't set GETGROUPS_LIB here; now it's - done via getgroups.m4's wrapper function. - AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here, - rather than just in sh-util/configure.in, so that the - now-shared-by-fileutils-and-textutils lib/Makefile.am are all the - same. - Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new - AC_FUNC_GETLOADAVG where to find getloadavg.c. - Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME, - UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR, - gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME. - Remove code that is now done by the newly-required macros. - Append $(EXEEXT) to DF_PROG. - AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown. - Do not invoke or require the following here, - since prereq.m4 or some gnulib .m4 now does this for us: - gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME, - jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC, - jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP, - jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV, - jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX, - AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF, - vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE, - AC_FUNC_OBSTACK. - Do not replace the following functions, as this is now the job - of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname, - getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul - strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp, - atexit getpass, strdup, getpagesize. - Replace 'raise'. - Do not check for the following functions, as this is now the job - of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime, - getcwd, getmntinfo, resolvepath. But check for sysctl, setreuid, - setregid. - (jm_CHECK_ALL_HEADERS): Do not check for fenv.h. - Check for sys/sysctl.h. - (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE, - jm_CHECK_TYPE_STRUCT_TIMESPEC. Invoke gt_TYPE_SSIZE_T instead - of checking for ssize_t ourselves. + * lib/mathl.h: New file. + * lib/acosl.c: New file. + * lib/asinl.c: New file. + * lib/atanl.c: New file. + * lib/ceill.c: New file. + * lib/cosl.c: New file. + * lib/expl.c: New file. + * lib/floorl.c: New file. + * lib/frexpl.c: New file. + * lib/ldexpl.c: New file. + * lib/logl.c: New file. + * lib/sincosl.c: New file. + * lib/sinl.c: New file. + * lib/sqrtl.c: New file. + * lib/tanl.c: New file. + * lib/trigl.c: New file. + * lib/trigl.h: New file. - * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them. - Require every macro that gnulib/modules/* suggests for us. - (jm_PREREQ_ADDEXT): New macro. - (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4. - Require jm_AC_TYPE_LONG_LONG instead of invoking it. +2003-02-18 Paolo Bonzini - * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro. - (gl_PHYSMEM): Use it. - Also check for `table' function. - Check for new headers and functions. - Add check for sys/sysmp.h. - With suggestions from Kaveh Ghazi. - Ignore headers that are present but cannot be compiled. This - avoids spurious warnings on Solaris 9 sparc with Forte Developer 7 - C 5.4. + * m4/mathl.m4: New file. -2003-08-15 Paul Eggert +2003-02-18 Bruno Haible - Document merge from coreutils. - * modules/userspec: Depend on posixver. - * modules/strftime: Depend on tzset. + * MODULES.html.sh (func_all_modules): Add mathl. -2003-08-15 Paul Eggert +2003-02-17 Bruno Haible - * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces, - rather than tab, after '#' in shell-script copyright notices. - Suggested by Bruno Haible. + * modules/mkdtemp: New module. + * MODULES.html.sh (func_all_modules): Add it. -2003-08-15 Paul Eggert +2003-02-17 Bruno Haible - * config/srclist-update: Use three spaces, rather than tab, after '#' - in shell-script copyright notices. Suggested by Bruno Haible. - Remove unnecessary parenthesization in regular expression. + * m4/mkdtemp.m4: New file, from GNU gettext with modifications. -2003-08-15 Jim Meyering +2003-02-17 Bruno Haible - Merge from coreutils. - * lib/xgethostname.c: Include . - (xghostname): Don't exit for anything other than memory-related - failure; just return NULL. - * lib/userspec.c: Include "posixver.h". - (parse_user_spec): Accept `.' as a separator only - in pre-POSIX-200112 mode. - * lib/strtoimax.c: Use #elif rather than #else #if. - * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]: - Remove function, now that we can rely on a working tzset function. - [!_LIBC]: Ensure that the required autoconf test has been run. - [!defined _NL_CURRENT && HAVE_STRFTIME]: - Use underlying_strftime for %r. - * lib/sha.c: Merge in some clean-up and optimization changes from - glibc. - * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file. - Ensure that it is a multiple of 64. - Rearrange loop exit tests so as to avoid performing an - additional fread after encountering an error or EOF. - * lib/realloc.c: Update copyright date. + * lib/mkdtemp.h: New file, from GNU gettext. + * lib/mkdtemp.c: New file, from GNU gettext. -2003-08-15 Jim Meyering - and Paul Eggert +2003-02-02 Jim Meyering - Merge from coreutils. - * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit - member but strut utmpx does not. Needed for AIX 4.3.3. - (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define. + * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in + e.g. glibc-2.2.93. -2003-08-15 Jim Meyering - and Paul Eggert +2003-01-31 Bruno Haible - Merges from coreutils, etc. - * m4/strftime.m4 (_jm_STRFTIME_PREREQS): - Require gl_FUNC_TZSET_CLOBBER. - * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit, - ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination - members. + * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to + 'rpl_rename'. + * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to + 'rpl_strnlen'. + * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to + 'rpl_strtod'. + * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to + 'rpl_utime'. -2003-08-14 Paul Eggert +2003-01-31 Bruno Haible - Help the merge from coreutils. - * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro. - (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it. - * m4/tzset.m4: Use it too. + * lib/rename.c: #undef rename before defining rpl_rename. + * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen. -2003-08-14 Paul Eggert +2003-01-30 Bruno Haible - * modules/tzset: New file. + * modules/vasnprintf, modules/vasprintf: New modules. + * MODULES.html.sh (func_all_modules): Add them. -2003-08-14 Jim Meyering +2003-01-30 Bruno Haible - Merges from coreutils. - * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED - variable names, rather than @FNMATCH_H@. - * modules/alloca: Likewise for $(ALLOCA_H). + * m4/signed.m4: New file, from GNU gettext. + * m4/longdouble.m4: New file, from GNU gettext. + * m4/wchar_t.m4: New file, from GNU gettext. + * m4/wint_t.m4: New file, from GNU gettext. + * m4/vasnprintf.m4: New file. + * m4/vasprintf.m4: New file. - * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of - the three copies of the literal target, `fnmatch.h'. - * modules/alloca (alloca.h): Likewise. +2003-01-30 Bruno Haible -2003-08-14 Jim Meyering + * lib/printf-args.h: New file, from GNU gettext. + * lib/printf-args.c: New file, from GNU gettext. + * lib/printf-parse.h: New file, from GNU gettext. + * lib/printf-parse.c: New file, from GNU gettext. + * lib/vasnprintf.h: New file, from GNU gettext. + * lib/vasnprintf.c: New file, from GNU gettext. + * lib/asnprintf.c: New file, from GNU gettext. + * lib/vasprintf.h: New file, from GNU gettext with modifications. + * lib/vasprintf.c: New file, from GNU gettext. + * lib/asprintf.c: New file, from GNU gettext. - Merge from coreutils. - * m4/tzset.m4: New file. - * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the - MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since - otherwise, AIX 5.1 systems would end up using the latter. - MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting - whether a file system is remote doesn't work 2) the MOUNTED_VMOUNT - code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1 - code reports merely /MOUNT_POINT. Reported by Mike Jetzer. +2003-01-29 Bruno Haible -2003-08-14 Jim Meyering + * modules/stpncpy: New module. + * MODULES.html.sh (func_all_modules): Add it. - Merge from coreutils. - * lib/obstack.h: Whitespace changes. - * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc, - and xcalloc return values. - (read_filesystem_list) [MOUNTED_GETFSSTAT]: - Use MNT_NOWAIT, rather than MNT_WAIT. Otherwise, `df DIR' could - hang on OSF/1 5.1 for DIR on both local and remote file systems. - Reported by (and fix confirmed by) Nelson H. F. Beebe. - (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any - error from mntctl. - Use mntctl's return value to drive the entry-processing loop, since - we can't rely on the value of the vmt_length member in the last - entry. On some systems doing so could result in exhausting - virtual memory. Based in part on a patch from Mike Jetzer. +2003-01-29 Bruno Haible -2003-08-14 Jim Meyering - and Paul Eggert + * m4/stpncpy.m4: New file. - Merges from coreutils, plus other fixes. - * lib/physmem.c: Merge in portability changes from gcc/libiberty - to support AIX, IRIX, Tru64, and Windows. See the ChangeLog there - for credits and details. Thanks to Kaveh Ghazi for helping - to keep these files in sync. - (ARRAY_SIZE): Define it. - (physmem_total, physmem_available): Add comments. From Kaveh Ghazi. - * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'. - (memcasecmp): Don't assume size_t fits in unsigned int. - Remove casts and duplicate code. - * lib/md5.c: Include and unconditionally. - (memcpy): Remove definition. - Merge in some clean-up and optimization changes from glibc. - [BLOCKSIZE]: Move definition to top of file. - Ensure that it is a multiple of 64. - Rearrange loop exit tests so as to avoid performing an - additional fread after encountering an error or EOF. - * lib/md5.h (md5_uintptr): Define. - * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to - return to the initial working directory. Preserve errno - for caller. - * lib/idcache.c: Include "xalloc.h". - (xmalloc, xrealloc): Remove decls. - (getuser): Remove casts no longer required in C89. - * lib/human.c: Include stdio.h, for sprintf. - * lib/group-member.c: Include "xalloc.h". - (xmalloc, xrealloc): Remove decls. - (get_group_info): Remove casts no longer required in C89. - * lib/getusershell.c (readname): Remove casts no longer required in - C89. - * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions. - * lib/getline.c: Whitespace fix, from coreutils. +2003-01-29 Bruno Haible -2003-08-13 Paul Eggert + * lib/stpncpy.h: New file, from GNU gettext with modifications. + * lib/stpncpy.c: New file, from GNU gettext with modifications. - * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC. - Check for isascii. +2003-01-28 Bruno Haible - * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4, - lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4: - Undo previous (whitespace-only) change. + * modules/c-ctype: New module. + * MODULES.html.sh (func_all_modules): Add it. -2003-08-13 Paul Eggert +2003-01-28 Bruno Haible - * lib/exclude.c: Include - (IN_CTYPE_DOMAIN): New macro. - (is_space): New fn. - (add_exclude_file): If LINE_END is a space, ignore trailing spaces - and empty lines. + * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by + Paul Eggert. + * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by + Paul Eggert. - * lib/argp-help.c, argp-parse.c, config.charset, getopt.h: - Undo previous (whitespace-only) change. +2003-01-27 Bruno Haible -2003-08-13 Paul Eggert + * modules/xsetenv: New module. + * MODULES.html.sh (func_all_modules): Add it. - * config/srclist-update: Change update back to the old behavior, - leaving whitespace alone. Use one 'sed' command rather than a - pipeline. - (fixlicense): Now a variable, not a function. - (remove_trailing_blanks): Remove. - (fixfile): Don't invoke unexpand or cat, or remove trailing blanks. - * config/config.guess, config.sub, install-sh, missing, texinfo.tex: - Undo previous (whitespace-only) change. +2003-01-27 Bruno Haible -2003-08-12 Paul Eggert + * lib/xsetenv.h: New file, from GNU gettext. + * lib/xsetenv.c: New file, from GNU gettext. - Merge from coreutils. - * modules/euidaccess: Add lib_SOURCES, include for new - file euidaccess.h +2003-01-23 Jim Meyering + + * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this + from working on systems without dirfd (at least Irix and OSF1/Tru64). + +2003-01-23 Bruno Haible + + * modules/minmax: New module. + * MODULES.html.sh (func_all_modules): Add it. + +2003-01-23 Bruno Haible + + * lib/minmax.h: New file, from GNU gettext, with comments from Paul + Eggert. + +2003-01-22 Bruno Haible + + * modules/exit: New module. + * MODULES.html.sh (func_all_modules): Add it. -2003-08-12 Paul Eggert +2003-01-22 Bruno Haible - * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4, - lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4: - Normalize leading white space and remove trailing white space. + * lib/exit.h: New file, from GNU gettext. - Merge from coreutils - * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl. +2003-01-19 Bruno Haible - * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext - 0.12.1. These files are now being upgraded automatically by - ../config/srclist-update. + * gnulib-tool: Recognize option --extract-maintainer. + (func_get_maintainer): New function. + * modules/*: Add Maintainer entry. -2003-08-12 Paul Eggert +2003-01-16 Jim Meyering - * lib/argp-help.c, argp-parse.c, config.charset, getopt.h: - Normalize leading white space and remove trailing white space. - * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright - notice, as per ../config/srclist-update. + * m4/regex.m4: The `regex' struct is both input and output. + Initialize it before each use. Patch by Tim Waugh. - Merge from coreutils. - * lib/euidaccess.h: New file. - * lib/euidaccess.c: Include it. - * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h, - vasnprintf.h, vasprintf.h. Remove strdup.c, gettext.h. - * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space. +2003-01-16 Bruno Haible -2003-08-12 Paul Eggert + * MODULES.html.sh: Add a table of contents. Add the module name as + leftmost column. Add hyperlinks. - * config/srclist-update: Add copyright notice. - (remove_id_lines, remove_trailing_blanks): New constants. - (fixfile): Use them to normalize spacing a bit in copied files. - * config/config.guess, config.sub, install-sh, missing, texinfo.tex: - Normalize leading white space and remove trailing white space. +2003-01-15 Bruno Haible - * config/texinfo.tex: Sync with texinfo. + * m4/md5.m4 (gl_MD5): Require AC_C_INLINE. - * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c, - strtoul.c from libc, to merge coreutils whitespace changes. +2003-01-15 Bruno Haible - * config/srclist.txt: Get the following m4 files from gettext: - codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4, - inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4, - longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4, - wint_t.m4. + * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix. + * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL + suffix. -2003-08-12 Karl Berry +2003-01-15 Bruno Haible - * config/srclist.txt: can't sync vasnprintf.c any more, changes have - been made. + * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites. -2003-08-11 Paul Eggert +2003-01-15 Bruno Haible - * modules/gnu-source, m4/gnu-source.m4: - Remove; we're assuming Autoconf 2.54 or later now. - Suggested by Bruno Haible. - * MODULES.html.sh (func_all_modules): Remove gnu-source. + * lib/stpcpy.h (stpcpy): Use ANSI C function declarations. + * lib/strcase.h (strcasecmp, strncasecmp): Likewise. -2003-08-11 Bruno Haible +2003-01-14 Jim Meyering - * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen. + * lib/same.c (same_name): Tweak a comment. -2003-08-11 Bruno Haible +2003-01-14 Bruno Haible - * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1. - (vasnprintf): Use it instead of wcslen. + * lib/same.c (same_name): Reorder tests so as to avoid calling stat() + when a string comparison is sufficient. -2003-08-11 Bruno Haible +2003-01-14 Bruno Haible - * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum - value to ensure that _Bool promotes to int. Use #define for _Bool when - using the Solaris C compiler. Adds comments suggested by Paul Eggert. + * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not + 'unsigned int'. -2003-08-10 Karl Berry +2003-01-14 Bruno Haible - * lib/regex.h: update from libc (whitespace fix). + * lib/hash-pjw.c: Add comment about low quality of this function. -2003-08-09 Paul Eggert +2003-01-13 Bruno Haible - Merge some files from coreutils. These changes were - originally made by Jim Meyering. - * lib/acl.c: Include before ; - many older Unixes require this. - * lib/alloca.c (alloca): Remove cast to argument of free; - no longer needed in C89. - * lib/alloca_.h, regex.h: Fix white space to match - what GNU indent does. + * modules/stpcpy: Distribute lib/stpcpy.h. + * modules/setenv: Depend on alloca. Distribute lib/setenv.h. -2003-08-09 Paul Eggert +2003-01-13 Bruno Haible - * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371"; - apparently Emacs's Unicode mode got confused before my 2003-08-05 - checkin. + * modules/*: Add a description. + * modules/strpbrk: Fix Makefile.am snippet. + * modules/strtoimax: Fix dependencies. + * modules/strtoumax: Likewise. -2003-08-08 Paul Eggert +2003-01-13 Bruno Haible - * m4/extensions.m4: New file. - * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): - Require gl_USE_SYSTEM_EXTENSIONS. - * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): - Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE. + * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS. + * modules/alloca (Makefile.am): All object files depend on alloca.h. + * modules/stdbool (Makefile.am): All object files depend on stdbool.h. -2003-08-08 Paul Eggert +2003-01-13 Bruno Haible - * MODULES.html.sh (func_all_modules): Add extensions, gnu-source. - * modules/extensions, modules/gnu-source: New files. - * modules/timespec, modules/unlocked-io: Depend on extensions. + * gnulib-tool (func_create_testdir): Store config/* files in the main + directory. + * config.rpath: Move to ... + * config/config.rpath: ... here. + * modules/gettext: Contains config/config.rpath, not config.rpath. + * modules/iconv: Likewise. -2003-08-07 Paul Eggert +2003-01-12 Paul Eggert - * modules/restrict: New file. - * MODULES.html.sh (func_all_modules): Add restrict. - * modules/regex: Depend on restrict. + Finish renaming getstr -> getdelim2 and readline -> readlinebuffer, + to avoid collisions with libcurses and libreadline. -2003-08-07 Paul Eggert + * m4/getstr.m4: Remove. + * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC. - * m4/restrict.m4: New file. - * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT. +2003-01-12 Paul Eggert -2003-08-07 Bruno Haible + Finish renaming getstr -> getdelim2 and readline -> readlinebuffer, + to avoid collisions with libcurses and libreadline. - * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not - lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2). + * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h. + * lib/getstr.h, getstr.c: Remove. + * lib/getline.c: Include "getline.h", to check interface. + Move body of old getstr.c here: this defines MIN_CHUNK and + declares getdelim2, which is renamed from getstr. + (getline, getdelim): Adjust to renaming of getstr -> getdelim2. -2003-08-07 Bruno Haible + * lib/linebuffer.c (readlinebuffer): Renamed from readline. + All uses changed. + * lib/linebuffer.h: Likewise. + (readline): Remove backward-compatibility macro. - * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This - makes the module 'getndelim2' compatible with the module 'getline'. +2003-01-12 Paul Eggert -2003-08-05 Paul Eggert + Finish renaming getstr -> getdelim2 and readline -> readlinebuffer, + to avoid collisions with libcurses and libreadline. + * getstr: Remove. + * MODULES.html.sh: Remove getstr. + * modules/getline: Depend on unlocked-io, not getstr. - * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII - byte with "\201" to avoid glitches when editing that source file - with multi-gnome-terminal. +2003-01-12 Jim Meyering -2003-08-05 Paul Eggert + * lib/makepath.c: Don't test HAVE_ERRNO_H. It's not necessary. - * lib/bumpalloc.h: Remove. +2003-01-10 Bruno Haible -2003-08-05 Paul Eggert + * modules/alloca: Change Makefile.am requirements. Simplify Include + requirements. Add lib/alloca_.h to file list. - * MODULES.html.sh (func_all_modules): Remove bumpalloc. - * modules/bumpalloc: Remove. +2003-01-10 Bruno Haible -2003-08-04 Paul Eggert + * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H. - * lib/getloadavg.c: Change copyright notice and spacing to conform to - GNU coding style. +2003-01-10 Bruno Haible - Merge from coreutils. - * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is - 1. From glibc. - * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion - from Karl Berry, implemented by Jim Meyering. - * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns; - from Dmitry V. Levin. - Remove anachronistic cast of xrealloc. - * lib/fnmatch_.h (__const): Remove. Use 'const'. - * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper - type. Otherwise, it wouldn't compile with at least /bin/cc on - ymp-cray-unicos9.0.2.X. - Combine two mostly-identical uses of alloca into one. - Thanks to the Cray-Cyber project for access to a Cray Y-MP. + * lib/alloca_.h: New file. + * lib/getdate.y: Unconditionally include alloca.h. + * lib/makepath.c: Likewise. + * lib/setenv.c: Likewise. + * lib/userspec.c: Likewise. -2003-08-04 Dave Love +2003-01-09 Karl Berry - [From Emacs.] + * MODULES.html.sh: include `dirname $0` in PATH, to find + gnulib-tool. - * lib/getloadavg.c: Check `__unix' as well as `unix'. Use #ifdef, not - #if. Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE. Check - F_SETFD, not FD_SETFD. Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not - obsolete NLIST_NAME_UNION. - [__GNU__]: Undef BSD and FSCALE. - [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT. +2003-01-09 Bruno Haible -2003-08-03 Paul Eggert + * modules/stdbool: Change configure.ac, Makefile.am requirements. + Simplify Include requirements. Add lib/stdbool.h.in to file list. - * lib/stdbool_.h (_Bool): Make it signed char, instead of - an enum type, so that it's guaranteed to promote to int. See: - +2003-01-09 Bruno Haible -2003-08-03 Karl Berry + * m4/stdbool.m4 (AM_STDBOOL_H): New macro. - * config/depcomp: update from automake. +2003-01-09 Bruno Haible -2003-07-31 Paul Eggert + * lib/stdbool.h.in: New file. - * lib/strerror.c: Include config.h, limits.h. Declare sprintf. - (strerror): Don't assume that a printable int fits in 14 bytes. +2003-01-09 Bruno Haible -2003-07-31 Bruno Haible + * gnulib-tool (func_all_modules): Ignore files ending in ~. + * MODULES.html.sh: Likewise. - * modules/getpass-gnu: New file. - * MODULES.html.sh (func_all_modules): Add getpass-gnu. +2003-01-08 Jim Meyering -2003-07-31 Bruno Haible + * lib/full-write.c: Undefine and define-away `const' after inclusion + of errno.h, not before. Suggestion from Bruno Haible. - * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro. +2003-01-08 Bruno Haible -2003-07-24 Karl Berry + * modules/full-read: Depend on full-write. - * config/missing: update from automake. +2003-01-08 Bruno Haible -2003-07-24 Derek Robert Price - Bruno Haible + * lib/safe-read.c: Include specification header first, to ensure its + selfcontainedness. + * lib/full-write.c: Likewise. - * lib/getline.h (getline, getdelim): Change return type to ssize_t. - * lib/getline.c (getline, getdelim): Likewise. - Remove _GNU_SOURCE define; now it's defined in config.h through - m4/getline.m4. +2003-01-07 Jim Meyering -2003-07-23 Karl Berry + * lib/full-write.c: Rework so that it may serve to define full_read, + too. + * lib/full-read.c: Simply #define FULL_READ and include full-write.c. - * config/config.sub: update from prep. +2003-01-07 Bruno Haible -2003-07-22 Paul Eggert + * lib/strtoimax.c: Include as an alternative to + . + * lib/xstrtol.h: Likewise. + * lib/xstrtoimax.c: Likewise. + * lib/xstrtoumax.c: Likewise. + * lib/human.h: Likewise. - * modules/xalloc (Depends-on): Add exitfail. - * modules/xmemcoll: Likewise. + * lib/tempname.c: Include too. Avoids a compilation error + on systems that have but not . -2003-07-22 Paul Eggert +2003-01-07 Bruno Haible - * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and - over-parenthesization in macros. + * MODULES.html.sh: Add copyright notice. + (missed_files): Omit CVS directory entries. + (func_module): Make it work with sed-3.02. + * MODULES.txt: Remove file. - Sync with coreutils. +2003-01-06 Jim Meyering - * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not - required by C99. + * lib/version-etc.c: Update year in translatable copyright string. - Use `exit_failure' for xalloc and xmemcoll instead of their own - private exit-failure variables. - * lib/xalloc.h (xalloc_exit_failure): Remove. - * lib/xmalloc.c: Likewise. Include exitfail.h. - (xalloc_die): Use exit_failure instead of xalloc_exit_failure. - * lib/xmemcoll.h (xmemcoll_exit_failure): Remove. - * lib/xmemcoll.c: Likewise. Include exitfail.h. - (xmemcoll): Use exit_failure instead of xalloc_exit_failure. +2003-01-03 Karl Berry -2003-07-20 Jim Meyering + * config/config.{guess,sub}: update from prep. - * modules/closeout (Depends-on): Add exitfail. - Suggestion from Bruno Haible. +2003-01-02 Karl Berry -2003-07-19 Karl Berry + * doc/COPYING.DOC: belatedly updated to 1.2. - * config/config.sub: update from prep. +2003-01-01 Karl Berry -2003-07-18 Paul Eggert + * gnulib-tool (func_verify_module): report module name $module in + error message, not $1. + * gnulib-tool (create-testdir): don't complain if destdir couldn't + be created, only if it doesn't exist. + * gnulib-tool (last_checkin_date): don't expand the $Date here. - * lib/closeout.h (close_stdout_set_status, close_stdout_status): - Remove. - * lib/closeout.c: Likewise. Include "closeout.h" right after config.h, - to test that it can stand by itself. Include "exitfail.h". - Clients should set exit_failure instead. - (EXIT_FAILURE): Remove; no longer needed. Do not include . +2002-12-31 Paul Eggert -2003-07-18 Bruno Haible + * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP. - * modules/getndelim2: New file. - * modules/getline: Share files with module getndelim2. - * modules/getnline: Depend on getndelim2 instead of sharing files with - it. Add getnline.c to lib_SOURCES. - * MODULES.html.sh (func_all_modules): Add getndelim2. +2002-12-31 Paul Eggert -2003-07-18 Bruno Haible + * lib/memcoll.c (memcoll): Fall back on a simple algorithm using + memcmp if strcoll doesn't work. - * m4/getndelim2.m4: New file. - * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and - invoke gl_PREREQ_GETNDELIM2. - (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by - gl_PREREQ_GETNDELIM2. - * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by - gl_GETNDELIM2. +2002-12-31 Bruno Haible -2003-07-18 Bruno Haible + * lib/utime.c (utime_null): No need to call ftruncate if the file was + nonempty. - * lib/getndelim2.h: New file. - * lib/getndelim2.c: Make into a module of its own. Include config.h, - getndelim2.h. - (getndelim2): Make non-static. Change return type to ssize_t. - * lib/getline.h: Change argument names. - * lib/getline.c: Include getndelim2.h instead of getndelim2.c. - * lib/getnline.c: Include getndelim2.h. +2002-12-31 Bruno Haible -2003-07-18 Andreas Schwab + * lib/memcoll.c (STRCOLL): New macro. + (memcoll): Use it. - * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno. +2002-12-31 Bruno Haible -2003-07-17 Karl Berry + * lib/localcharset.h: New file. + * lib/localcharset.c: Include it. + * lib/unicodeio.c: Likewise. - * config/config.sub: update from prep. +2002-12-31 Bruno Haible -2003-07-17 Bruno Haible + * lib/getstr.h (getstr): Define, to avoid clash with libcurses. + * lib/linebuffer.h (readline): Define, to avoid clash with libreadline. - * modules/getnline: New file. - * modules/getline: Add lib/getndelim2.c to source file list. - * MODULES.html.sh (func_all_modules): Add getnline. +2002-12-31 Bruno Haible -2003-07-17 Bruno Haible + * lib/getline.h: Include , for size_t. - * m4/getnline.m4: New file. + * lib/unicodeio.h: Include , for size_t. + * lib/unicodeio.c: Don't include . -2003-07-17 Bruno Haible +2002-12-31 Bruno Haible - * m4/Makefile.am.in: Remove file. - * m4/Makefile.am: Remove file. - * m4/Makefile.in: Remove file. + * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not + HAVE_TM_ZONE. -2003-07-17 Bruno Haible +2002-12-24 Karl Berry - * lib/getnline.h: New file. - * lib/getnline.c: New file. - * lib/getndelim2.c: New file, extracted from getline.c. - (getndelim2): Renamed from getdelim2, with added nmax argument. - * lib/getline.c: Include getndelim2.c. - (getdelim2): Moved out to getndelim2.c. - (getline, getdelim): Update. + * config/config.guess: update from prep. -2003-07-17 Bruno Haible +2002-12-24 Bruno Haible - * lib/Makefile.am: Remove file. - * lib/Makefile.in: Remove file. + General infrasructure. + * m4/README: Rewritten. + * m4/onceonly.m4: New file. + * m4/onceonly_2_57.m4: New file. -2003-07-17 Bruno Haible + Module atexit. + * m4/atexit.m4: New file. - * configure.in: Remove file. - * Makefile.in: Remove file. + Module strtod. + * m4/strtod.m4: New file. -2003-07-17 Bruno Haible + Module strtol. + * m4/strtol.m4: New file. - * MODULES.html.sh: Put the right before . + Module strtoul. + * m4/strtoul.m4: New file. -2003-07-16 Karl Berry + Module memchr. + * m4/memchr.m4: New file. - * config/srclist-update: was running fixlicense twice, which caused - texinfo.tex to be nullified for some reason. Simplify, - $gplsrc is no longer needed as far as I can see? + Module memcmp. + * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro. + (jm_FUNC_MEMCMP): Invoke it. -2003-07-16 Jim Meyering + Module memcpy. + * m4/memcpy.m4: New file. - * modules/save-cwd: Depend on xgetcwd. From Derek Price. + Module memmove. + * m4/memmove.m4: New file. -2003-07-15 Paul Eggert + Module memset. + * m4/memset.m4: New file. - * config/srclist.txt: Get the following files from gettext-runtime/intl - instead: config.charset, localcharset.c, localcharset.h, ref-add.sin, - ref-del.sin. From Bruno Haible. - * config/srclist-update (fixfile): Change grep pattern again, since the - previous fix didn't work (there was another trailing $). Use - '[$]' to escape the $s. + Module strcspn. + * m4/strcspn.m4: New file. -2003-07-15 Karl Berry + Module strpbrk. + * m4/strpbrk.m4: New file. - * lib/vasnprintf.c: update from gettext. + Module strstr. + * m4/strstr.m4: New file. -2003-07-15 Karl Berry + Module strerror. + * m4/strerror.m4: New file. - * config/srclist-update (fixfile): Change grep pattern, since 'Id' - gets expanded when surrounded by '$'. + Module mktime. + * m4/mktime.m4: Renamed from jm-mktime.m4. + (gl_PREREQ_MKTIME): New macro. + (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME. -2003-07-15 Jim Meyering + Module malloc. + * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro. + (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC. + Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it. - * modules/save-cwd: Don't depend on error. From Derek Price. + Module realloc. + * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro. + (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC. + Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it. -2003-07-15 Jim Meyering + Module strftime. + * m4/tm_gmtoff.m4: New file, extracted from strftime.m4. + * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME. + Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and + gl_TM_GMTOFF. + (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros. - * lib/makepath.c (make_path): Enclose diagnostic in _(...). + Module xalloc. + * m4/xalloc.m4: New file. -2003-07-14 Simon Josefsson + Module alloca. + * m4/alloca.m4: New file. - * modules/mempcpy: New file. - * MODULES.html.sh (func_all_modules): Add mempcpy. + Module putenv. + * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro. + (jm_FUNC_PUTENV): Invoke it. -2003-07-14 Simon Josefsson + Module setenv. + * m4/setenv.m4 (gt_FUNC_SETENV): New macro. + (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4 + when invoked twice. + (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old + gt_FUNC_SETENV. - * m4/mempcpy.m4: New file. + Module memrchr. + * m4/memrchr.m4: New file. -2003-07-14 Simon Josefsson + Module stpcpy. + * m4/stpcpy.m4: New file. - * lib/mempcpy.h: New file. - * lib/mempcpy.c: New file. + Module strcase. + * m4/strcase.m4: New file. -2003-07-14 Paul Eggert + Module strdup. + * m4/strdup.m4: New file. - * modules/getdate, modules/posixtm: Depend on mktime. + Module strnlen. + * m4/strnlen.m4: New file. -2003-07-14 Paul Eggert + Module strndup. + * m4/strndup.m4: New file. - * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h, - sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c, - unicodeio.c, unicodeio.h, unlocked-io.h: - Switch from LGPL to GPL. + Module xstrtod. + * m4/xstrtod.m4: New file. + + Module xstrtol. + * m4/xstrtol.m4: New file. -2003-07-14 Paul Eggert + Module getdate. + * m4/getdate.m4: New file. - * lib/asnprintf.c, asprintf.c, config.charset, gettext.h, - localcharset.c, localcharset.h, mkdtemp.c, printf-args.c, - printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin, - ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h, - vasprintf.c, vasprintf.h: Regenerate. These files are now being - updated automatically by ../config/srclist-update. This changes - their license from LPGL to GPL. + Module unlocked-io. + * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4. + (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros. + * m4/jm-glibc-io.m4n: Remove file. -2003-07-14 Paul Eggert + Module long-options. + * m4/long-options.m4: New file. - * config/srclist.txt: Add tons more gettext files. $GETTEXT is now - assumed to refer to the root of the most recent stable gettext version. - * config/srclistvars.sh: Add defaults for eggert. - * config/srclist-update: Convert LGPL to GPL in shell scripts, too. - Match "This program" as well as "The program". This is needed - for gettext. + Module md5. + * m4/md5.m4: New file. -2003-07-14 Jim Meyering + Module sha. + * m4/sha.m4: New file. - Don't emit diagnostics. Let callers do that. - * lib/save-cwd.c: Don't include "error.h". - (save_cwd): Don't call error. Ensure that errno is valid - when returning nonzero. + Module getstr. + * m4/getstr.m4: New file. - * lib/save-cwd.h (restore_cwd): Update prototype. - * lib/save-cwd.c (restore_cwd): Remove two parameters. - Simplify. Don't call error upon failure. Let callers do that. - (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4 - when auditing is enabled. But don't bother updating the #if. + Module getline. + * m4/getline.m4 (gl_PREREQ_GETLINE): New macro. + (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use , not + , for size_t. Use the function name gnu_getline, not + simply getline. Infoke gl_PREREQ_GETLINE. -2003-07-11 Alexandre Duret-Lutz + Module obstack. + * m4/obstack.m4: New file. - * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13; - it breaks C++ compilation. - [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*. + Module hash. + * m4/hash.m4: New file. -2003-07-10 Simon Josefsson + Module readtokens. + * m4/readtokens.m4: New file. - * modules/strchrnul (Makefile.am): Add strchrnul.h. + Module strverscmp. + * m4/strverscmp.m4: New file. -2003-07-10 Jim Meyering + Module stdbool. + * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for + OSF/1. - * m4/clock_time.m4: Remove trailing blank. - * m4/intmax_t.m4: Likewise. + Module strtoll. + * m4/strtoll.m4: New file. -2003-07-10 Jim Meyering + Module strtoull. + * m4/strtoull.m4: New file. - * lib/vasnprintf.c: Remove trailing blanks. - Make cpp indentation consistent. + Module strtoimax. + * m4/strtoimax.m4: New file. -2003-07-09 Paul Eggert + Module strtoumax. + * m4/strtoumax.m4: New file. - * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h, - posixver.c, strftime.c, strnlen.c, strverscmp.c: - Switch from LGPL to GPL. + Module xstrtoimax. + * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from + jm_AC_PREREQ_XSTRTOIMAX. + Moved the strtol prerequisites to strtol.m4. + Moved the strtoll prerequisites to strtoll.m4. + Moved the strtoimax prerequisites to strtoimax.m4. -2003-07-09 Paul Eggert + Module xstrtoumax. + * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from + jm_AC_PREREQ_XSTRTOUMAX. + Moved the strtoul prerequisites to strtoul.m4. + Moved the strtoull prerequisites to strtoull.m4. + Moved the strtoumax prerequisites to strtoumax.m4. - * config/srclist.txt: Sort sublists. Add - $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files - that differ from gnulib for one reason or another; we'd like this list - to be smaller but for now let's document what we have. + Module chown. + * m4/chown.m4 (gl_PREREQ_CHOWN): New macro. + (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN. -2003-07-08 Paul Eggert + Module dup2. + * m4/dup2.m4: New file. - * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding - the use of GNU extensions. Change "x=`eval echo $x`" to the shorter - and sweeter "eval x=$x". - * config/srclist.txt: Get lib/argp* from glibc. + Module ftruncate. + * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro. + (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE. -2003-07-07 Paul Eggert + Module getgroups. + * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro. + (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS. - * lib/mktime.c: Fix some boundary cases and remove need for floating - point. + Module gettimeofday. + * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro. + (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke + gl_PREREQ_GETTIMEOFDAY. - Issue a compile-time diagnostic if time_t is floating point, or if - two's complement arithmetic is not in effect, or if arithmetic - right shift does not propagate the sign. These assumptions were - all in the original code but they weren't checked. + Module mkdir. + * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro. + (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR. - (TIME_T_MIDPOINT, verify): New macros. - (__isleap): Remove; it has integer overflow problems. - (leapyear): New function, without those problems. - (ydhms_tm_diff): Remove; splitting into two parts. - (ydhms_diff): New function, containing the arithmetic part of - the old ydhms_tm_diff function. Issue a compile-time - diagnostic if we are not using C99 integer division. - Avoid casts when possible. - (guess_time_tm): New function, containing the checking part of - the old ydhms_tm_diff function. Return the new value, rather than - the difference between it and the old. Accept a new argument T - so that *T specifies the old value. Check for overflow in the result. + Module mkstemp. + * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro. + (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke + jm_AC_TYPE_UINTMAX_T. + (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME. - (__mktime_internal): Use a time_t offset, not a long int offset. - This undoes the 2003-06-04 change, which is no longer needed now - that we have better overflow checking. - (localtime_offset): Likewise. + Module stat. + * m4/stat.m4 (gl_PREREQ_STAT): New macro. + (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT. - (__mktime_internal): Avoid harmful overflow on hosts where time_t - and long are 64-bit but int is only 32-bit. - (ydhms_diff): Use long int to store year1 and yday1. - Issue a compile-time diagnostic if long int is not wide enough. + Module lstat. + * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro. + (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT. - (__mktime_internal): Use long int to store adjusted year and yday. - Use plain C rather than preprocessor commands, if that doesn't - affect efficiency. - Check for overflow (and try to repair) after each probe - rather than checking only at the very end. This avoids some bugs - (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time - does not equal GMT offset at maximum time). - Use integer to check for overflow rather than floating point; this - is more portable to non-IEEE hosts, and is a tad faster. - When we detect that we are oscillating between two values, - don't check whether tm_isdst has the requested value, since - we already know the answer. When tm_isdst has the wrong value, - use a different heuristic to find the right one, based on the - extreme values actually observed in practice in tz2003a, - rather than the (overly optimistic) "previous 3 calendar quarters". + Module timespec. + * m4/timespec.m4 (gl_TIMESPEC): New macro. + (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for . + * m4/st_mtim.m4: Indentation. - (not_equal_tm, print_tm, check_result): Use "const T" rather than - "T const" to accommodate glibc style. - (check_result): Use less-confusing report format. "long" -> "long int. - (main): Likewise. - Don't loop if the iteration overflows time_t. - Allow a negative step in the iteration. + Module nanosleep. + * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro. + (jm_FUNC_NANOSLEEP): Add check for . Invoke + gl_PREREQ_NANOSLEEP. -2003-07-06 Karl Berry + Module regex. + * m4/regex.m4 (jm_PREREQ_REGEX): New macro. + (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX. + (gl_REGEX): New macro. - * config/depcomp: update from automake. - * config/config.sub: update from prep. + Module rename. + * m4/rename.m4 (gl_PREREQ_RENAME): New macro. + (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME. -2003-07-03 Karl Berry + Module rmdir. + * m4/rmdir.m4: New file. - * config/config.guess: update from prep. + Module utime. + * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros. + * m4/utime.m4 (gl_PREREQ_UTIME): New macro. + (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME. -2003-07-01 Paul Eggert + Module dirname. + * m4/dirname.m4: New file. - * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since - xreadlink.c now includes it unconditionally. + Module getopt. + * m4/getopt.m4: New file. -2003-07-01 Paul Eggert + Module unistd-safer. + * m4/unistd-safer.m4: New file. - * lib/xreadlink.c: Include unconditionally, instead of - having it depend on HAVE_SYS_TYPES_H. + Module fnmatch. + * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include , for exit() + declaration. + (gl_PREREQ_FNMATCH_EXTRA): New macro. + (gl_FUNC_FNMATCH_POSIX): New macro. + (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke + gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not + simply fnmatch. -2003-07-01 Bruno Haible + Module exclude. + * m4/exclude.m4: New file. - * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include . - should be sufficient. - Reported by Paul Eggert. + Module human. + * m4/human.m4: New file. -2003-06-26 Karl Berry + Module acl. + * m4/acl.m4: Nop. - * config/depcomp: update from automake. + Module backupfile. + * m4/backupfile.m4: New file. + * m4/d-ino.m4: Indentation. -2003-06-26 Bruno Haible + Module fsusage. + * m4/fsusage.m4 (gl_FSUSAGE): New macro. + (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac. + (gl_PREREQ_FSUSAGE_EXTRA): New macro. - * modules/human: Depend on module stdbool. + Module dirfd. + * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP + requirements. -2003-06-25 Bruno Haible + Module euidaccess. + * m4/euidaccess.m4: New file. - * modules/readlink: New file. - * modules/xreadlink: Depend on it. - * MODULES.html.sh (func_all_modules): Add readlink. + Module file-type. + * m4/file-type.m4: New file. -2003-06-25 Bruno Haible + Module fileblocks. + * m4/fileblocks.m4: New file. - * m4/readlink.m4: New file. + Module filemode. + * m4/filemode.m4: New file. -2003-06-25 Bruno Haible + Module isdir. + * m4/isdir.m4: New file. - * lib/readlink.c: New file. + Module lchown. + * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro. + (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN. -2003-06-22 Karl Berry + Module makepath. + * m4/makepath.m4: New file. - * config/srclist.txt: update mkinstalldirs from automake. - * config/mkinstalldirs: update. + Module modechange. + * m4/modechange.m4: New file. -2003-06-22 Bruno Haible + Module mountlist. + * m4/mountlist.m4: New file. + * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros. + Indentation. - Portability to mingw32. - * m4/ssize_t.m4: New file, from GNU gettext. - * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T. - * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T. + Module path-concat. + * m4/path-concat.m4: New file. -2003-06-22 Bruno Haible + Module pathmax. + * m4/pathmax.m4: New file. - * modules/safe-read: Add m4/ssize_t.m4. - * modules/xreadlink: Add m4/ssize_t.m4. + Module same. + * m4/same.m4: New file. -2003-06-20 Bruno Haible + Module save-cwd. + * m4/save-cwd.m4: New file. - Assume C89, so PARAMS isn't needed. - * lib/unicodeio.h (PARAMS): Remove. - * lib/unicodeio.c: Don't use PARAMS. + Module savedir. + * m4/savedir.m4: New file. -2003-06-18 Karl Berry + Module xgetcwd. + * m4/xgetcwd.m4: New file. + * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros. - * config/config.{guess,sub}: update from prep. + Module xreadlink. + * m4/xreadlink.m4: New file. -2003-06-18 Jim Meyering + Module safe-read. + * m4/safe-read.m4: New file. - Merge changes from coreutils. - * lib/readutmp.c: Include and unconditionally. - Remove explicit declarations of xmalloc and realloc. - Include xalloc.h. - (read_utmp): Remove anachronistic cast of xmalloc. + Module safe-write. + * m4/safe-write.m4: New file. -2003-06-17 Paul Eggert + Module closeout. + * m4/closeout.m4: New file. - Assume C89, so PARAMS isn't needed. - * lib/backupfile.h (PARAMS): Remove. All uses removed. - * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h, - lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h, - lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h, - lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h, - lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h, - lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h, - lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h, - lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h, - lib/xstrtod.h, lib/xstrtol.h: Likewise. - * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h, - lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h; - no longer needed. Anyway, config.h should always be included before any - other file. + Module stdio-safer. + * m4/stdio-safer.m4: New file. -2003-06-11 Simon Josefsson + Module getpass. + * m4/getpass.m4: New file. - * modules/sysexits: New file. - * MODULES.html.sh (func_all_modules): Add sysexits. + Module getugroups. + * m4/getugroups.m4: New file. -2003-06-11 Simon Josefsson + Module group-member. + * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro. + (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER. - * lib/sysexit_.h: New file. + Module idcache. + * m4/idcache.m4: New file. -2003-06-11 Derek Price + Module userspec. + * m4/userspec.m4: New file. - * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is - necessary. + Module gettime. + * m4/clock_time.m4: New file. + * m4/gettime.m4: New file. -2003-06-11 Bruno Haible + Module settime. + * m4/settime.m4: New file. - * m4/sysexits.m4: New file. + Module posixtm. + * m4/posixtm.m4: New file. -2003-06-10 Simon Josefsson + Module gethostname. + * m4/gethostname.m4: New file. - * lib/argp.h: New file, from glibc. - * lib/argp-ba.c: New file, from glibc. - * lib/argp-eexst.c: New file, from glibc. - * lib/argp-fmtstream.c: New file, from glibc. - * lib/argp-fmtstream.h: New file, from glibc. - * lib/argp-fs-xinl.c: New file, from glibc. - * lib/argp-help.c: New file, from glibc. - * lib/argp-namefrob.h: New file, from glibc. - * lib/argp-parse.c: New file, from glibc. - * lib/argp-pv.c: New file, from glibc. - * lib/argp-pvh.c: New file, from glibc. - * lib/argp-xinl.c: New file, from glibc. + Module canon-host. + * m4/canon-host.m4: New file. -2003-06-10 Simon Josefsson + Module gettext. + * m4/codeset.m4: New file, from gettext-0.11.5. + * m4/gettext.m4: New file, from gettext-0.11.5. + * m4/glibc21.m4: New file, from gettext-0.11.5. + * m4/iconv.m4: New file, from gettext-0.11.5. + * m4/intdiv0.m4: New file, from gettext-0.11.5. + * m4/inttypes-pri.m4: New file, from gettext-0.11.5. + * m4/inttypes.m4: New file, from gettext-0.11.5. + * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications. + * m4/isc-posix.m4: New file, from gettext-0.11.5. + * m4/lcmessage.m4: New file, from gettext-0.11.5. + * m4/lib-ld.m4: New file, from gettext-0.11.5. + * m4/lib-link.m4: New file, from gettext-0.11.5. + * m4/lib-prefix.m4: New file, from gettext-0.11.5. + * m4/progtest.m4: New file, from gettext-0.11.5. + * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications. + * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications. + * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications. - * modules/strchrnul: New file. + Module localcharset. + * m4/localcharset.m4: New file. -2003-06-10 Simon Josefsson + Module hard-locale. + * m4/hard-locale.m4: New file. - * modules/argp: New file. + Module mbswidth. + * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use + onceonly macros. + * m4/mbrtowc.m4: Add comment. -2003-06-10 Simon Josefsson + Module memcasecmp. + * m4/memcasecmp.m4: New file. - * m4/strchrnul.m4: New file. + Module memcoll. + * m4/memcoll.m4: New file. -2003-06-10 Simon Josefsson + Module unicodeio. + * m4/unicodeio.m4: New file. - * lib/strchrnul.h: New file. - * lib/strchrnul.c: New file. + Module rpmatch. + * m4/rpmatch.m4: New file. -2003-06-10 Bruno Haible + Module yesno. + * m4/yesno.m4: New file. - * MODULES.html.sh (func_all_modules): Add strchrnul and argp. + Module exitfail. + * m4/exitfail.m4: New file. -2003-06-07 Karl Berry + Module c-stack. + * m4/c-stack.m4 (gl_C_STACK): New macro. + (jm_PREREQ_C_STACK): Check for . Use onceonly macros. - * config/config.{guess,sub}: update from prep. + Module error. + * m4/error.m4 (gl_ERROR): New macro. + (jm_PREREQ_ERROR): Use onceonly macros. -2003-06-07 Jim Meyering + Module fatal. + * m4/fatal.m4: New file. - * modules/strtod: Use $(...) notation, not @...@ for - AC_REPLACE'd variables. - * modules/localcharset: Likewise. + Module getloadavg. + * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros. + (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros. -2003-06-07 Jim Meyering + Module getpagesize. + * m4/getpagesize.m4: New file. - * lib/readtokens.h: Put `Free Software Foundation, Inc.' - in place of my name in the copyright comment. - Remove definition and uses of __P. + Module getusershell. + * m4/getusershell.m4: New file. - From coreutils. - * lib/stat.c: Don't declare xmalloc explicitly. - Instead, include "xalloc.h". - * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc, - xrealloc, and xcalloc return values. - * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h". - Improve comment. - * lib/xgetcwd.h: Remove definition/uses of PARAMS. + Module physmem. + * m4/physmem.m4: New file. -2003-06-07 Bruno Haible + Module posixver. + * m4/posixver.m4: New file. - * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to - avoid AC_CONFIG_LINKS. - * modules/fnmatch (Makefile.am): Use explicit creation rule for - fnmatch.h, to avoid AC_CONFIG_LINKS. - * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe. + Module quotearg. + * m4/quotearg.m4: New file. -2003-06-07 Bruno Haible + Module quote. + * m4/quote.m4: New file. - * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX, - gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking - AC_CONFIG_LINKS. Needed to allow for a different name of the lib - directory. - * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking - AC_CONFIG_LINKS. Needed to allow for a different name of the lib - directory. + Module readutmp. + * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4. -2003-06-06 Jim Meyering + Module sig2str. + * m4/sig2str.m4: New file. - Merge from coreutils. - * lib/same.c: (same_name): Declare *_basename locals to be `const'. - Consolidate declarations and initializations of *_base* locals. + Other. + * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to + ulonglong.m4. + * m4/intmax_t.m4: New file. + * m4/d-type.m4: Indentation. + * m4/jm-macros.m4: Update. + * m4/prereq.m4 (jm_PREREQ): Update. + (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4. + (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4. + (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4. + (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4. + (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4. + (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4. + (jm_PREREQ_HASH): Remove, obsoleted by hash.m4. + (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4. + (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4. + (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4. + (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4. + (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4. + (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4. + (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4. + (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4. + (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4. + (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4. + (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4. + * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros. - Merge from coreutils. - This avoids a core dump on systems without GNU putenv, - when running `env -u SOME_ALREADY_UNSET_VARIABLE'. - * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define. - (unsetenv): New static function, from GNU libc. - (rpl_putenv): Use it. +2002-12-24 Bruno Haible - * lib/modechange.c: Remove trailing blanks. + * MODULES.txt: Update according to m4/ changes. - Merge from coreutils. - * lib/fsusage.c: Remove declaration of statfs. - It conflicted with one from OSF/1 5.1 in . + Module gettext. + * config.rpath: New file, from gettext-0.11.5. - * lib/posixtm.c: Include unconditionally. + * modules/*: New module descriptions. + * gnulib-tool: New file. + * MODULES.html.sh: New file. -2003-06-06 Jim Meyering +2002-12-21 Karl Berry - * lib/stdbool_.h: Renamed from stdbool.h.in. + * doc/fdl.texi: update to version 1.2. -2003-06-06 Jim Meyering - Bruno Haible +2002-12-19 Karl Berry - * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h. - Adjust Makefile.am snippet not to redirect directly to target. - Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables. + * config/config.guess: update from prep. -2003-06-05 Paul Eggert +2002-12-18 Bruno Haible - * lib/mktime.c (__mktime_internal): When resolving a tm_isdst - mismatch, look in future quarters as well as past. This fixes a - bug when processing fall-backwards gaps immediately after a long - period of daylight-saving time. + * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r. + * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise. - * lib/mktime.c: Assume freestanding C89 or better. - (HAVE_LIMITS_H): Remove. Assume it's 1. - (__P): Remove; not used. - (CHAR_BIT, INT_MIN, INT_MAX): Remove; defines them. - (mktime, not_equal_tm, print_tm, check_result, - main): Use prototypes. Use const * where appropriate. - (main): Fix typo in testing code that uncovered by above changes. - (Local Variables): Remove -DHAVE_LIMITS_H from compile-command. +2002-12-17 Bruno Haible -2003-06-04 Paul Eggert + * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h, + stdlib.h, string.h. - * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H. Check for - locale.h, localeconv. This merges changes from coreutils. +2002-12-17 Bruno Haible - * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS. - It can be removed after the next Autoconf is released. - * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner - needed. + * lib/canon-host.c (strdup): Remove unused declaration. -2003-06-04 Paul Eggert + * lib/fsusage.c: Include full_read.h. + (get_fs_usage): Use full_read instead of safe_read. - * lib/mktime.c: Fix Debian bug 177940 - . - (localtime_offset): Now long int, not time_t, because we want it - to be guaranteed to be signed. All uses changed. - (__mktime_internal): If overflow would occur when adding offset, - don't add it. + * lib/utime.c (utime_null): Use SAFE_READ_ERROR. - Merge 'human' changes from coreutils. Rewrite to support - locale-specific notations like thousands separators. - * lib/human.c: Simplify authorship notice. - Include human.h immediately after config.h. - , : Do not include; no longer needed. - : Do not include, since human.h does. - (SIZE_MAX, UINTMAX_MAX): New macros. - : Include if HAVE_STRINGS_H, not if !HAVE_STRING_H. - : Include if HAVE_LOCALE_H and HAVE_LOCALECONV. - (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro. - (power_letter): Renamed from suffixes. - (generate_suffix_backwards): Remove. - (adjust_value): Now takes int style (because of human.h changes) - and long double value (for greater precision on some platforms). - (group_number): New function. - (human_readable): Use it. Use integer options, not enum. - Put the options before the sizes in the arg list. - Support all the new options. - The old human_readable function has been removed; - use inttostr.h instead. - (human_readable, default_block_size, humblock): - Use uintmax_t, not int, for block sizes. - (human_readable_inexact, block_size_types): Remove. - (block_size_opts): New constant. - (human_options): Renamed from human_block_size, with new signature - that allows block sizes up to UINTMAX_MAX. All callers changed. - * lib/human.h: Add copyright and authorship notice. - Include and unconditionally. - (PARAMS): Remove. All uses removed. - (LONGEST_HUMAN_READABLE): Add support for thousands separator. - (enum human_inexact_style): Remove tag; now a nameless enum. - (human_floor, human_ceiling, human_round_to_even): Now have - values 2, 0, 1 rather than -1, 1, 0. - (human_group_digits, human_suppress_point_zero, human_autoscale, - human_base_1024, human_SI, human_B): New constants. - (human_readable_inexact, human_block_size): Remove. - (human_readable): Size args are now uintmax_t, not int. - (human_options): New decl. +2002-12-12 Karl Berry - * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are - unnecessary now that we assume C89 or better. This change - imported from coreutils. + * config/config.guess: update from prep. - * lib/mktime.c (__mktime_internal): Do not reject negative timestamps - arbitrarily. This is the same patch as 2003-05-28, but it got lost - in the 2003-05-30 sync from glibc. +2002-12-11 Bruno Haible - .h files should stand alone, but we shouldn't include - if we can get away with just . + * m4/setenv.m4: New file, from gettext-0.11.5. - * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c, - malloc.c, putenv.c, realloc.c, strcasecmp.c: Include - rather than , as we merely need size_t. - * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include , - to get size_t. - * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h: - Include , to get FILE. - * lib/memcasecmp.c: Don't include , as we can assume - memcasecmp.h has included and all we need is size_t. - * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks - our interface, instead of including +2002-12-11 Bruno Haible -2003-06-04 Paul Eggert + * lib/setenv.h: Rewritten to cope with systems that have setenv() but + not unsetenv(). + * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following + modifications: - * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for - now, as glibc mktime is buggy on non-glibc systems. + 2002-12-11 Bruno Haible -2003-06-03 Karl Berry + * setenv.c (alloca): Fall back to malloc. + (freea): New macro. + (setenv): Use freea() to free memory allocated with alloca(). - * config/config.sub: update from prep. + 2002-11-13 Bruno Haible -2003-06-02 Paul Eggert + * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C + function declarations. + * unsetenv.c (unsetenv): Likewise. - [from coreutils] - Fix some minor time-related bugs with POSIX time arguments. - Some valid time stamps were being rejected (notably -1, and - time stamps before 1900 on 64-bit hosts). And some invalid - time stamps were being accepted, e.g. September 31. + 2002-03-04 Bruno Haible - * lib/posixtm.h (posixtime): Return bool instead of time_t, so - that we can return (time_t) -1 successfully. - * lib/posixtm.c: Likewise. - [HAVE_STDBOOL_H]: Include . - (bool, false, true) [!HAVE_STDBOOL_H]: New type. - (t): Remove static var. - (year, posix_time_parse): Now takes struct tm * arg to modify, instead - of static var. All uses changed. - (year): Do not reject years before 1900; they can occur with - 64-bit time_t. - (posix_time_parse): Do not check for out-of-range components; - that is now the caller's responsibility, since our checks were - only approximations. - (posixtime): Use mktime to check for out-of-range components, - since it knows them exactly. - If mktime returns (time_t) -1, check whether an error actually occurred - by invoking localtime on -1. - (main) [TEST_POSIXTIME]: Check for input data errors, and report - posixtime failures better. - Improve the test data (in comments only). + Portability to AIX 4.3.3. + * unsetenv.c: New file, extracted from setenv.c. + * setenv.c: Move the unsetenv() function to unsetenv.c. -2003-06-02 Karl Berry + 2001-12-20 Bruno Haible - * config/mkinstalldirs (version): new variable. - (--version): new option. - (usage): improve message. + * setenv.c (__add_to_environ): Don't call realloc(NULL,...), + use malloc instead. For SunOS 4. -2003-05-30 Karl Berry + 2001-12-11 Bruno Haible - * lib/mktime.c: update from libc. + * setenv.c: Declare alloca. + (compar_fn_t): New typedef. + (KNOWN_VALUE, STORE_VALUE): Use it. -2003-05-30 Bruno Haible + * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c, + setenv.h. - * modules/gettext: Add files m4/nls.m4 and m4/po.m4. - * config/config.rpath: Upgrade to gettext-0.12.1. +2002-12-10 Paul Eggert -2003-05-30 Bruno Haible + Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7. + * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS): + Choose values that are less likely to collide with system fnmatch + options. + * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not + defined (e.g., a pure POSIX system). + (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME + instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems. - * m4/gettext.m4: Upgrade to gettext-0.12.1. - * m4/nls.m4: New file, from gettext-0.12.1. - * m4/po.m4: New file, from gettext-0.12.1. - * m4/progtest.m4: Upgrade to gettext-0.12.1. +2002-12-06 Paul Eggert -2003-05-30 Bruno Haible + Undo the 2001-07-02 change for jm-glibc-io, as it was too much of + a pain in practice to deal with generated m4 files. This change + goes together with the 2002-12-04 unlocked-io.h change in ../lib. - * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1. - * lib/localcharset.h: Likewise. - * lib/localcharset.c: Likewise. + * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n + and jm-glibc-io.m4, as they are no longer a special case. + * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the + kludge and the auto-generation stuff. Check only whether the + functions are declared, not whether they exist, since older hosts + that don't declare the functions can't use the optimization anyway. -2003-05-29 Karl Berry +2002-12-06 Jim Meyering - * config/config.rpath: update from gettext. + * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'. -2003-05-28 Paul Eggert + Merge in changes from libc's misc/error.c, in preparation + for the merge of gnulib's changes back into libc. - Assume the headers required for C89 freestanding compilers. - * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h. - * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise. - * m4/human.m4 (gl_HUMAN): Likewise. - * m4/pathmax.m4 (gl_PATHMAX): Likewise. - * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise. - * m4/userspec.m4 (gl_USERSPEC): Likewise. - * m4/xreadlink.m4 (gl_XREADLINK): Likewise. - * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise. - * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h. + * lib/error.c (_): Define only if not already defined. + Move definition to follow all #include directives. + Include unlocked-io.h only if !_LIBC. + [_LIBC]: Include . + [USE_IN_LIBIO]: Include + (fflush): Tweak definition to use INTUSE. + (putc): Define. -2003-05-28 Paul Eggert +2002-12-05 Paul Eggert - Assume the headers required for C89 freestanding compilers. - * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c, - lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c, - lib/xstrtol.c: Include without checking for HAVE_LIMITS_H. - * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c, - lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't - define, since is guaranteed to do that. - * lib/fatal.c: Include without checking for __STDC__. - * lib/exclude.c: Include unconditionally. - * lib/tempname.c: Include unconditionally. - * lib/hash.c: Include , since we no longer define CHAR_BIT. - * lib/modechange.c, rpmatch.c (NULL): Don't define, since - does that. - * lib/quote.c: Dont include or ; not needed. - * lib/safe-read.c (INT_MAX): Don't define, since does that. - * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer - needed. - * lib/xstrtol.c: Likewise. - * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed. - * lib/savedir.c: Include instead of defining NULL. + * lib/alloca.c [defined emacs]: Include "lisp.h". + (xalloc_die) [defined emacs]: New macro. + (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE. + [! defined emacs]: Include . + (POINTER_TYPE) [!defined POINTER_TYPE]: New macro. + (pointer): Typedef to POINTER_TYPE *. + (malloc): Remove decl; we now always use xmalloc. + (alloca): Use old-style definition, since Emacs needs this. + Check for arithmetic overflow when computing combined size. - * lib/addext.c (addext): Use assignment rather than cast, to avoid - warnings on some platforms. +2002-12-04 Paul Eggert - * lib/mktime.c (__mktime_internal): Do not reject negative timestamps - arbitrarily. + Do not generate unlocked-io.h automatically, since it's easier to + maintain it by hand. -2003-05-26 Jim Meyering + * lib/unlocked-io.h: New file, from GNU diffutils, + but with proper copyright notice and attribution. + * lib/gen-uio: Remove. + * lib/Makefile.am: Add copyright notice. + (libfetish_a_SOURCES): Add unlocked-io.h. + (BUILT_SOURCES, all-local): Remove unlocked-io.h. + (DISTCLEANFILES, io_functions): Remove macros. + (EXTRA_DIST): Remove gen_uio. + (unlocked-io.h): Remove rule. - Merge in a change from coreutils: - * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one - that is guaranteed to be `no'. Use `no_such_member' to indicate - that condition, rather than `-1' which is slightly misleading. - Change the name of the cache variable to have the gl_ prefix. - Prompted by a patch from Richard Dawe for DJGPP. +2002-12-04 Jim Meyering -2003-05-24 Karl Berry + Reflect the fact that stat.c and lstat.c are no longer generated. + * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c. + (DISTCLEANFILES): Likewise. + (EXTRA_DIST): Likewise. + (all_local): Don't depend on stat.c or lstat.c. + (stat.c, lstat.c): Remove rules. + (EXTRA_DIST): Remove xstat.in. - * config/config.guess: update from prep. + * lib/xstat.in: Remove file. Contents moved into stat.c. + * lib/stat.c: New file. Contents mostly from xstat.in. + * lib/stat.c: Rework so that it may serve to define rpl_lstat, too. + * lib/lstat.c: New file. Simply #define LSTAT and include stat.c. -2003-05-22 Karl Berry + * lib/safe-read.c: Rework so that it may serve to define safe_write, + too. + * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c. - * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg. +2002-12-03 Jim Meyering -2003-05-20 Karl Berry + * lib/safe-read.c, safe-write.c: Change variable names and comments, + but not semantics, to minimize the differences between these two files. + (safe_read): Change comment to mention SAFE_READ_ERROR. - * config/config.guess: update from prep. + * lib/safe-read.c (IS_EINTR): Define. + (safe_read): Use IS_EINTR in place of in-function cpp directives. -2003-05-18 Karl Berry +2002-12-02 Jim Meyering - * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF - might actually be set by the user. + * lib/safe-read.c (EINTR): Define. + (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define. + (INT_MAX): Provide fallback. + (safe_read): Rewrite to iterate IFF the read fails with EINTR. - * config/depcomp, install-sh, mdate-sh: update from automake. + * lib/safe-read.h (SAFE_READ_ERROR): Define. -2003-05-17 Bruno Haible +2002-12-02 Bruno Haible - * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an - invalid expansion for AC_EGREP_CPP. - * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise. - * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise. - Suggested by Akim Demaille in - http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html + * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): + Define, taken from safe-read.c. + (INT_MAX): Provide fallback. + (safe_write): Rewrite to iterate IFF the write fails with EINTR. + * lib/safe-write.h (SAFE_WRITE_ERROR): Define. -2003-05-12 Jim Meyering + * lib/safe-read.c (EINTR): Remove definition. + (safe_read): Don't use EINTR if it is absent. - * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect - the space-padded-by-default conversion specifiers, %e, %k, %l. +2002-12-01 Jim Meyering -2003-05-12 Bruno Haible + * lib/safe-read.c: (safe_read): Also exit the loop when read returns + zero. + (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define. - * lib/linebreak.c (iconv_string_length): Don't return -1 just because - the string is longer than 4 KB. +2002-11-27 Paul Eggert -2003-05-11 Karl Berry + * lib/hash.c (hash_lookup, hash_get_first, hash_get_next, + hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();' + with `if (! (value < limit)) abort ();', for readability. - * config/config.{guess,sub}: update from prep. +2002-11-26 Karl Berry -2003-05-09 Bruno Haible + * lib/strdup.c: copy from libc again, with jim's ok. + * lib/.cppi-disable: re-add strdup.c - * modules/error: Add m4/strerror_r.m4 to file list. +2002-11-25 Karl Berry -2003-05-03 Bruno Haible + * lib/strtoll.c: copy from libc, meaning we now #include + instead of "strtol.c". - Upgrade to Unicode-4.0. - * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD, - U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615, - U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5, - U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B - from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1. - (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width - of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2. - Change width of U+E0100..U+E01EF from 1 to 0. +2002-11-25 Karl Berry -2003-04-25 Jim Meyering + * config/install-sh: update from automake for variable quoting, $0 in + error msgs, etc. - * lib/copy-file.c (copy_file_preserving): Declare buf_size to be - of type size_t, not int. + * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry. + * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new + entry. -2003-04-25 Bruno Haible +2002-11-25 Jim Meyering - * lib/copy-file.c: Include , for size_t. + * lib/mktime.c: Sync from libc, now that it has the latest fix. -2003-04-21 Paul Eggert +2002-11-24 Karl Berry - * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some - code which expansion is under static control. Patch imported from - Akim Demaille's patch to Bison; see - . + * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c, + regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl. -2003-04-14 Bruno Haible +2002-11-24 Jim Meyering - * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF. + Update from coreutils: -2003-04-11 Jim Meyering + * lib/mktime.c: Merge in changes from libc. - Merge changes from Coreutils. + Avoid a link-time failure on some Linux systems. + * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static' + (otherwise). + (__mon_yday): Declare with the STATIC attribute. + (__mktime_internal): Likewise. + Based on a report from Greg Schafer. - 2003-03-22 Jim Meyering +2002-11-23 Jim Meyering - * lib/strftime.c (widen): Cast alloca return value to proper type. + * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc: + Use `unsigned', not `int', as type of index. - 2003-01-19 Ulrich Drepper + * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include . - From GNU libc. - * lib/strftime.c (my_strftime): Handle very large width - specifications for numeric values correctly. Improve checks for - overflow. + * lib/fsusage.c: Remove unneeded parentheses around operands of + `defined'. - 2003-01-19 Jim Meyering +2002-11-22 Paul Eggert - * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical - definitions. - (nl_get_alt_digit) [! defined my_strftime]: Define. - (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of - _nl_get_alt_digit and _nl_get_walt_digit. + * lib/quotearg.h: Allow multiple inclusion by surrounding with + "#ifndef QUOTEARG_H_". Include , for size_t, + so that we can be included first. + (PARAMS): Remove; we now assume C89 or later. All uses removed. + * lib/quotearg.c: Include quotearg.h immediately after config.h. + No need to include stddef.h or sys/types.h any more. + Surround local include files with "", not "<>". + Assume HAVE_LIMITS_H unconditionally, as we assume C89. + Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX, + HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS. + (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC. + (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT. + (ISPRINT): Remove; no longer needed now that we assume C89. - * lib/strftime.c (my_strftime): Merge in locale-related changes from - libc. These changes have no effect outside of _LIBC. + (clone_quoting_options, quotearg_buffer, quotearg_n_options): + Preserve errno. -2003-04-10 Bruno Haible + (quotearg_buffer_restyled, quotearg_n, quotearg_n_style, + quotearg_char): Use SIZE_MAX rather than + (size_t) -1 when we are talking about "infinity". - * modules/findprog: New file. - * MODULES.html.sh (func_all_modules): Add it. + (quotearg_buffer_restyled): Fix bug when quoting trigraphs. -2003-04-10 Bruno Haible +2002-11-22 Paul Eggert - * m4/findprog.m4: New file. - * m4/eaccess.m4: New file. + * lib/hash.c: Avoid use of , as the GNU Coding Standards + hint that one should use `if (! x) abort ();' rather than `assert + (x);', and anyway it's one less thing to worry about configuring. + (hash_lookup, hash_get_first, hash_get_next, hash_find_entry, + hash_rehash, hash_insert): Use abort rather than assert. -2003-04-10 Bruno Haible +2002-11-22 Bruno Haible - * lib/findprog.h: New file, from GNU gettext. - * lib/findprog.c: New file, from GNU gettext. + * lib/safe-read.h: Assume C89. Add comments. + (safe_read): Change return type to size_t. + * lib/safe-read.c (safe_read): Change return type to size_t. Handle + byte counts > SSIZE_MAX correctly. + * lib/safe-write.h: New file. + * lib/safe-write.c: New file. + * lib/full-read.h: New file. + * lib/full-read.c: New file. + * lib/full-write.h: Assume C89. Add comments. + * lib/full-write.c: Include safe-write.h. + (full_write): Rewritten to use safe_write. + Suggested by Jim Meyering and Paul Eggert. -2003-04-05 Jim Meyering +2002-11-21 Jim Meyering - Merge changes from Coreutils. + * lib/strdup.c (strdup): Tweak comment and initial #if/#include. - * lib/exclude.h (PARAMS): Remove definition and uses. - * lib/exclude.c: Remove uses of `PARAMS'. + Merge in changes from the coreutils. - * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test. - Add test-cases for DOS filenames. Declare program_name. - (main): Set up program_name. Patch by Rich Dawe. + 2002-09-25 Paul Eggert + * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include + . + (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro. + (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than + int. Work more efficiently if X is the same width as uintmax_t. + Do not compare X to -1, to avoid bogus compiler warning. + (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast. + Don't assume that f_frsize and f_bsize are the same type. - * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any - error from mntctl. - Use mntctl's return value to drive the entry-processing loop, since - we can't rely on the value of the vmt_length member in the last - entry. On some systems doing so could result in exhausting - virtual memory. Based in part on a patch from Mike Jetzer. + * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid + warning on FreeBSD. -2003-04-04 Bruno Haible + * lib/makepath.c (make_path): Restore umask *before* creating the final + component. + (make_path): Minor reformatting. - * modules/linebreak: New file. - * MODULES.html.sh (func_all_modules): Add it. + * lib/xmalloc.c: Adjust to work with new autoconf macros, + AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef + HAVE_MALLOC/HAVE_REALLOC. -2003-04-04 Bruno Haible + * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as + dummy ones. At least on GNU/Linux systems, `auto' means something + else. + From Michael Stone. - * m4/linebreak.m4: New file. +2002-11-21 Bruno Haible -2003-04-04 Bruno Haible + Remove case insensitive option matching. + * lib/argmatch.h (argcasematch): Remove declaration. + (ARGCASEMATCH): Remove macro. + (__xargmatch_internal): Remove case_sensitive argument. + (XARGMATCH): Update. + (XARGCASEMATCH): Remove macro. + * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove + case_sensitive argument. + (argcasematch): Remove function. + (__xargmatch_internal): Remove case_sensitive argument. + (main): Use XARGMATCH instead of XARGCASEMATCH. - * lib/linebreak.h: New file, from GNU gettext. - * lib/linebreak.c: New file, from GNU gettext with slight - modifications. - * lib/lbrkprop.h: New file, from GNU gettext. + * lib/xmalloc.c: Change compile-time error message. Add comment about + required autoconf version. -2003-04-03 Bruno Haible +2002-11-20 Paul Eggert - * modules/utf8-ucs4: New file. - * modules/utf16-ucs4: New file. - * modules/ucs4-utf8: New file. - * modules/ucs4-utf16: New file. - * MODULES.html.sh (func_all_modules): Add them. + Merge argmatch cleanups from Bison. Assume C89. -2003-04-03 Bruno Haible + * lib/argmatch.c: Include config.h here, not in argmatch.h. + Include stdlib.h, for EXIT_FAILURE. + Always include , since we assume C89. + (EXIT_FAILURE): Remove pre-C89 bug workaround. + * lib/argmatch.h: Do not include or . + Include instead, since it's all we need for size_t. + (PARAMS): Remove. All uses removed. + (ARRAY_CARDINALITY): Do not bother to #undef. + (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg, + ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH): + Remove unnecessary parentheses. + (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH): + Insert necessary parentheses. + (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros. + (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT. - * m4/utf-ucs4.m4: New file. - * m4/ucs4-utf.m4: New file. +2002-11-19 Bruno Haible -2003-04-03 Bruno Haible + * lib/mbswidth.c: Include mbswidth.h right at the beginning. + * lib/mbswidth.h: Include , for size_t. - * lib/utf8-ucs4.h: New file, from GNU gettext. - * lib/utf16-ucs4.h: New file, from GNU gettext. - * lib/ucs4-utf8.h: New file, from GNU gettext. - * lib/ucs4-utf16.h: New file, from GNU gettext. + * lib/mbswidth.h (PARAMS): Remove macro. + (mbswidth, mbsnwidth): Use ANSI C function declarations. + * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise. -2003-04-02 Bruno Haible + * lib/gcd.h (PARAMS): Remove macro. + (gcd): Use ANSI C function declarations. + * lib/gcd.c (gcd): Likewise. - * modules/binary-io: New file. - * MODULES.html.sh (func_all_modules): Add it. +2002-11-15 Bruno Haible -2003-04-02 Bruno Haible + * lib/strcspn.c: Include . + (strcspn): Use ANSI C function declaration. Change return type to + size_t. Use NULL. + * lib/strpbrk.c: Minimize diffs to glibc. Include . + (strpbrk): Use NULL. + * lib/strpbrk.h (PARAMS): Remove macro. + (strpbrk): Use ANSI C function declaration. + * lib/strstr.c: Don't include . + * lib/strstr.h (PARAMS): Remove macro. + (strstr): Use ANSI C function declarations. - * lib/binary-io.h: New file, from GNU gettext. +2002-11-14 Karl Berry -2003-04-01 Bruno Haible + * config/mkinstalldirs: `do' on separate line, instead of + `for var; do'. - * modules/pathname: New file. - * MODULES.html.sh (func_all_modules): Add it. +2002-11-06 Bruno Haible -2003-04-01 Bruno Haible + * lib/gcd.h (gcd): Change argument type to 'unsigned long'. + * lib/gcd.c (gcd): Likewise. - * lib/pathname.h: New file, from GNU gettext. - * lib/concatpath.c: New file, from GNU gettext. +2002-11-05 Bruno Haible -2003-03-30 Bruno Haible + * lib/gcd.h: New file, from gettext-0.11.5. + * lib/gcd.c: New file, from gettext-0.11.5. - * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown(). +2002-11-05 Bruno Haible -2003-03-30 Bruno Haible + * lib/error.c [!_LIBC]: Include gettext.h instead of . + * lib/getopt.c [!_LIBC]: Include gettext.h instead of . + * lib/obstack.c [!_LIBC]: Include gettext.h instead of . + * lib/regex.c [!_LIBC]: Include gettext.h instead of . - * lib/copy-file.c (copy_file_preserving): Don't set owner if the - function chown() doesn't exist. + * lib/argmatch.c: Include gettext.h instead of and + . + * lib/makepath.c: Include gettext.h instead of and + . -2003-03-28 Bruno Haible + * lib/closeout.c: Include gettext.h instead of . + * lib/human.c: Include gettext.h instead of . + * lib/quotearg.c: Include gettext.h instead of . + * lib/rpmatch.c: Include gettext.h instead of . + * lib/unicodeio.c: Include gettext.h instead of . + * lib/userspec.c: Include gettext.h instead of . + * lib/version-etc.c: Include gettext.h instead of . + * lib/xmalloc.c: Include gettext.h instead of . + (textdomain): Remove definition. + * lib/xmemcoll.c: Include gettext.h instead of . - * modules/copy-file: New file. - * MODULES.html.sh (func_all_modules): Add it. + * lib/long-options.c: Remove include of and definition of + _. + * lib/same.c: Remove include of and definition of _. -2003-03-28 Bruno Haible +2002-11-04 Owen Taylor - * m4/copy-file.m4: New file. + * lib/config.charset: A few additions for Solaris. -2003-03-28 Bruno Haible +2002-11-04 Bruno Haible - * lib/copy-file.h: New file, from GNU gettext. - * lib/copy-file.c: New file, from GNU gettext. + Make it possible to build libcharset with CC=gcc CFLAGS="-x c++". + * lib/localcharset.c (locale_charset): Declare as extern "C". -2003-03-18 Jim Meyering +2002-11-04 Bruno Haible - * lib/quote.c (quote_n): Fix typo in comment. + * lib/config.charset: msdos in uk_UA uses CP1125. -2003-03-18 Bruno Haible +2002-11-04 Bruno Haible - * m4/onceonly.m4: Use m4_defn instead of defn, for better error - checking. - * m4/onceonly_2_57.m4: Likewise. + * lib/stpcpy.h: New file, from GNU gettext-0.11.5. + * lib/strcase.h: New file, from GNU gettext-0.11.5. + * lib/strpbrk.h: New file, from GNU gettext-0.11.5. + * lib/strstr.h: New file, from GNU gettext-0.11.5. + * lib/xgetcwd.h: New file, from GNU gettext-0.11.5. -2003-03-17 Bruno Haible +2002-11-04 Bruno Haible - * m4/onceonly.m4: Require autoconf 2.54 or newer. - (m4_quote): Remove macro. - * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer. + * lib/localcharset.c (locale_charset): Don't return an empty string. -2003-03-14 Jim Meyering +2002-11-04 Bruno Haible - Merge changes from Coreutils. - * lib/obstack.h (obstack_object_size): Declare temporary, __o, - to be const, in order to avoid warnings. - (obstack_room): Likewise. - (obstack_empty_p): Likewise. + * lib/localcharset.c (get_charset_aliases): Add more Windows specific + aliases. -2003-03-14 Bruno Haible +2002-11-04 Bruno Haible - * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, - AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly. + * lib/config.charset: Update for newest glibc. Add canonical names + ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS. -2003-03-13 Paul Eggert +2002-11-04 Bruno Haible - Merge changes from Bison. - * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to - (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5 - when compiling Bison 1.875's `bitset bset = obstack_alloc - (bobstack, bytes);'. Problem reported by Nelson H. F. Beebe. - * lib/hash.c: Include unconditionally. + * lib/config.charset: Add support for NetBSD. -2003-03-13 Paul Eggert +2002-11-04 Bruno Haible - * m4/onceonly.m4 (m4_quote): New macro. - (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE): - Quote AC_FOREACH variable-expansions properly. + * lib/config.charset [msdosdjgpp]: For Russian, use CP866. -2003-03-13 Paul Eggert +2002-11-01 Bruno Haible - * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version. + * configure.in: Add AC_CONFIG_AUX_DIR call. + (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile, + test/Makefile. + * Makefile.in (subdirs): Add m4, lib. Remove doc, test. -2003-03-09 Paul Eggert +2002-09-28 Karl Berry - * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't. - Reported by Bruce Becker; see: - http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html + * config/srclist.txt: can't copy install-sh/mkinstalldirs from + installed automake until the next release, since changes have been + made. -2003-03-03 Paul Eggert - Bruno Haible +2002-09-25 Karl Berry - * lib/mbswidth.h: Include . Needed for UnixWare 7.1.1. - Reported by John Hughes, see - http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html + * lib/strdup.c: copy from libc/string (via ../config/srclist*). + * lib/getopt*: copy from libc/posix. + * lib/gettext.h: copy from gettext. + * lib/.cppi-disable: add strdup.c, gettext.h. -2003-02-20 Bruno Haible +2002-09-25 Karl Berry - * MODULES.html.sh (func_all_modules): Add poll. + * config/srclist.txt: enable gettext.h check. + * config/config.{guess,sub}: update from prep. + * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update + from automake 1.6.3. + See srclist*. -2003-02-19 Paolo Bonzini +2002-08-23 Stefan Monnier - * modules/poll: New file. + * regex.c (PATFETCH): Remove the translating fetch. + (PATFETCH_RAW): Rename to PATFETCH. + (set_image_of_range): New fun. + (SET_RANGE_TABLE_WORK_AREA): Use it. + (regex_compile): Don't translate the pattern chars so eagerly. + Only do it when inserting an `exactn' bytecode or when handling + a char-range. + (mutually_exclusive_p): Avoid empty statement. -2003-02-19 Paolo Bonzini +2002-07-06 Jim Meyering - * lib/poll_.h: New file. - * lib/poll.c: New file. + * m4/README: Don't mention Makefile.am.in. + Outline how I've tested changes to .m4 files. Yep, it's a pain. -2003-02-19 Paolo Bonzini +2002-07-01 Jim Meyering - * m4/poll.m4: New file. + * lib/c-stack.c: Include sys/time.h. + From Volker Borchert. -2003-02-18 Paolo Bonzini +2002-06-26 Paul Eggert - * modules/mathl: New file. + * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc. -2003-02-18 Paolo Bonzini +2002-06-26 Paul Eggert - * lib/mathl.h: New file. - * lib/acosl.c: New file. - * lib/asinl.c: New file. - * lib/atanl.c: New file. - * lib/ceill.c: New file. - * lib/cosl.c: New file. - * lib/expl.c: New file. - * lib/floorl.c: New file. - * lib/frexpl.c: New file. - * lib/ldexpl.c: New file. - * lib/logl.c: New file. - * lib/sincosl.c: New file. - * lib/sinl.c: New file. - * lib/sqrtl.c: New file. - * lib/tanl.c: New file. - * lib/trigl.c: New file. - * lib/trigl.h: New file. + * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT): + New macro. Use it uniformly instead of + (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H). + It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1 + reported by Vin Shelton. -2003-02-18 Paolo Bonzini +2002-06-22 Paul Eggert - * m4/mathl.m4: New file. + * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]: + Do not assume SA_SIGINFO behavior. + Bug reported by Jim Meyering on NetBSD 1.5.2. -2003-02-18 Bruno Haible +2002-06-22 Jim Meyering - * MODULES.html.sh (func_all_modules): Add mathl. + * m4/c-stack.m4: New file, from diffutils-2.8.2. + * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK. -2003-02-17 Bruno Haible + * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE, + now that configure.ac uses AC_GNU_SOURCE. + (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU. + * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH. - * modules/mkdtemp: New module. - * MODULES.html.sh (func_all_modules): Add it. + Update to latest tools. Suggestions from Paul Eggert. + * m4/stdbool.m4: New file, from diffutils-2.8.2. + * m4/gnu-source.m4: Update from diffutils-2.8.2. + * m4/fnmatch.m4: Likewise. + * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h) + to AC_HEADER_STDBOOL -2003-02-17 Bruno Haible +2002-06-22 Jim Meyering - * m4/mkdtemp.m4: New file, from GNU gettext with modifications. + * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about + redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h. -2003-02-17 Bruno Haible +2002-06-22 Jim Meyering - * lib/mkdtemp.h: New file, from GNU gettext. - * lib/mkdtemp.c: New file, from GNU gettext. + * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2. -2003-02-02 Jim Meyering + * lib/exitfail.c, exitfail.h: Likewise. + * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h. - * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in - e.g. glibc-2.2.93. + * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place + of fnmatch.h. + (EXTRA_DIST): Add fnmatch_loop.c. + (libfetish_a_SOURCES): Add c-stack.c and c-stack.h. -2003-01-31 Bruno Haible + * lib/fnmatch_loop.c: New file, from diffutils-2.8.2. + * lib/fnmatch.c: Update from diffutils-2.8.2. + * lib/fnmatch_.h: New file. From diffutils-2.8.2. + * lib/fnmatch.h: Remove file. - * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to - 'rpl_rename'. - * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to - 'rpl_strnlen'. - * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to - 'rpl_strtod'. - * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to - 'rpl_utime'. +2002-06-21 Jim Meyering -2003-01-31 Bruno Haible + * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2. + * m4/mbrtowc.m4: Likewise. - * lib/rename.c: #undef rename before defining rpl_rename. - * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen. + * m4/mbstate_t.m4: Update from diffutils-2.8.2. + * m4/mbswidth.m4: Reflect name change: + s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T. + * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise. -2003-01-30 Bruno Haible + * m4/lib-link.m4: Update from gettext-0.11.2. + * m4/gettext.m4: Likewise. - * modules/vasnprintf, modules/vasprintf: New modules. - * MODULES.html.sh (func_all_modules): Add them. + * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h. + From Alfred M. Szmidt. -2003-01-30 Bruno Haible +2002-06-18 Paul Eggert - * m4/signed.m4: New file, from GNU gettext. - * m4/longdouble.m4: New file, from GNU gettext. - * m4/wchar_t.m4: New file, from GNU gettext. - * m4/wint_t.m4: New file, from GNU gettext. - * m4/vasnprintf.m4: New file. - * m4/vasprintf.m4: New file. + * lib/file-type.h: Report an error if neither S_ISREG nor + S_IFREG is defined, instead of using a test specific to glibc + 2.2. This should be safe, since POSIX requires S_ISREG and + Unix Version 7 had S_IFREG. We don't need to check for + since we don't use any symbols that it defines. -2003-01-30 Bruno Haible +2002-06-15 Richard Dawe - * lib/printf-args.h: New file, from GNU gettext. - * lib/printf-args.c: New file, from GNU gettext. - * lib/printf-parse.h: New file, from GNU gettext. - * lib/printf-parse.c: New file, from GNU gettext. - * lib/vasnprintf.h: New file, from GNU gettext. - * lib/vasnprintf.c: New file, from GNU gettext. - * lib/asnprintf.c: New file, from GNU gettext. - * lib/vasprintf.h: New file, from GNU gettext with modifications. - * lib/vasprintf.c: New file, from GNU gettext. - * lib/asprintf.c: New file, from GNU gettext. + * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than + $@-t, so that each temporary file name is unique and valid in the first + 8 characters, for operation under DOS. -2003-01-29 Bruno Haible +2002-06-15 Paul Eggert - * modules/stpncpy: New module. - * MODULES.html.sh (func_all_modules): Add it. + * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author. -2003-01-29 Bruno Haible +2002-06-15 Jim Meyering - * m4/stpncpy.m4: New file. + Work even with DJGPP 2.03, which lacks support for symlinks. + From Richard Dawe. + * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK + is defined. + * lib/lchown.c (S_ISLNK): Likewise. -2003-01-29 Bruno Haible +2002-06-15 Jim Meyering - * lib/stpncpy.h: New file, from GNU gettext with modifications. - * lib/stpncpy.c: New file, from GNU gettext with modifications. + * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef. + For GNU libc 2.2 and newer, ensure that and + have been included before this file. -2003-01-28 Bruno Haible +2002-06-14 Jim Meyering - * modules/c-ctype: New module. - * MODULES.html.sh (func_all_modules): Add it. + * lib/file-type.h: Use the version from diffutils-2.8.2. + * lib/file-type.c: Likewise. -2003-01-28 Bruno Haible +2002-06-07 Jim Meyering - * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by - Paul Eggert. - * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by - Paul Eggert. + * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h. + They're needed at least for NetBSD 1.5.2. + ($statxfs_includes): Include those same headers. + ($statxfs_includes): Include sys/vfs.h if available. + ($statxfs_includes): Likewise for sys/statvfs.h. + Check for the following members in both structs statfs and statvfs: + f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen. -2003-01-27 Bruno Haible +2002-06-01 Jim Meyering - * modules/xsetenv: New module. - * MODULES.html.sh (func_all_modules): Add it. + * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro: + s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/. -2003-01-27 Bruno Haible +2002-05-28 Jim Meyering - * lib/xsetenv.h: New file, from GNU gettext. - * lib/xsetenv.c: New file, from GNU gettext. + * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'. + Reported by Volker Borchert. -2003-01-23 Jim Meyering +2002-05-27 Jim Meyering - * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this - from working on systems without dirfd (at least Irix and OSF1/Tru64). + Fix a problem seen only on nonconforming systems whereby ls.c's + use of localtime, and then of gettimeofday would cause trouble: + the localtime call used to initialize rpl_gettimeofday's save + mechanism would clobber ls's current local time information so + that in any long listing the first file would always be listed + with date 1970-01-01. Analysis by Volker Borchert. -2003-01-23 Bruno Haible + * lib/gettimeofday.c (localtime): Undefine. + (rpl_localtime): New function. - * modules/minmax: New module. - * MODULES.html.sh (func_all_modules): Add it. +2002-05-27 Jim Meyering -2003-01-23 Bruno Haible + * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace + localtime. - * lib/minmax.h: New file, from GNU gettext, with comments from Paul - Eggert. + * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to + use the replacement function; it wouldn't resolve at link time. + Reported by Volker Borchert. -2003-01-22 Bruno Haible +2002-05-22 Jim Meyering - * modules/exit: New module. - * MODULES.html.sh (func_all_modules): Add it. + * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and + file-type.h. + * lib/file-type.h: New file. + * lib/file-type.c (file_type): New file/function. Extracted from + diffutils. -2003-01-22 Bruno Haible +2002-04-30 Jim Meyering - * lib/exit.h: New file, from GNU gettext. + * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT. -2003-01-19 Bruno Haible +2002-04-29 Paul Eggert - * gnulib-tool: Recognize option --extract-maintainer. - (func_get_maintainer): New function. - * modules/*: Add Maintainer entry. + * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed. -2003-01-16 Jim Meyering +2002-04-29 Paul Eggert - * m4/regex.m4: The `regex' struct is both input and output. - Initialize it before each use. Patch by Tim Waugh. + * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h. + Do not check for alloca.h (no longer used) or stdbool.h (was never + used?). Add AM_C_PROTOTYPES since hard-locale.h uses it. -2003-01-16 Bruno Haible +2002-04-29 Paul Eggert - * MODULES.html.sh: Add a table of contents. Add the module name as - leftmost column. Add hyperlinks. + * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1. -2003-01-15 Bruno Haible +2002-04-29 Jim Meyering - * m4/md5.m4 (gl_MD5): Require AC_C_INLINE. + * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN. + * m4/prereq.m4: Add jm_PREREQ_STRNLEN. + Use AC_FUNC_STRNLEN here instead. -2003-01-15 Bruno Haible + * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]). + With autoconf-2.53a, it's part of AC_PROG_CC. - * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix. - * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL - suffix. +2002-04-28 Paul Eggert -2003-01-15 Bruno Haible + * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str). + * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR. - * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites. +2002-04-28 Paul Eggert -2003-01-15 Bruno Haible + * lib/sig2str.h, lib/sig2str.c: New files. + * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h. - * lib/stpcpy.h (stpcpy): Use ANSI C function declarations. - * lib/strcase.h (strcasecmp, strncasecmp): Likewise. +2002-04-28 Paul Eggert -2003-01-14 Jim Meyering + * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid + depending on and WTERMSIG. Default to 64 instead + of 127, since 64 is the largest conceivable number for ancient + nonstandard hosts. + * lib/sig2str.c: Do not include ; no longer needed. - * lib/same.c (same_name): Tweak a comment. +2002-04-28 Jim Meyering -2003-01-14 Bruno Haible + * lib/sig2str.c (WTERMSIG): Remove definition (unused). - * lib/same.c (same_name): Reorder tests so as to avoid calling stat() - when a string comparison is sufficient. +2002-04-24 Jim Meyering -2003-01-14 Bruno Haible + * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro. + (jm_PREREQ): Use it. - * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not - 'unsigned int'. + * m4/getloadavg.m4: Check for these headers: locale.h unistd.h + mach/mach.h fcntl.h. + Check for this function: setlocale. -2003-01-14 Bruno Haible +2002-04-24 Jim Meyering - * lib/hash-pjw.c: Add comment about low quality of this function. + * lib/gettext.h: New file, from Gettext. + * lib/Makefile.am (INCLUDES): Remove -I../intl. + (libfetish_a_SOURCES): Add gettext.h. -2003-01-13 Bruno Haible +2002-04-16 Jim Meyering - * modules/stpcpy: Distribute lib/stpcpy.h. - * modules/setenv: Depend on alloca. Distribute lib/setenv.h. + * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members: + ut_pid, ut_id, ut_exit. -2003-01-13 Bruno Haible +2002-04-16 Jim Meyering - * modules/*: Add a description. - * modules/strpbrk: Fix Makefile.am snippet. - * modules/strtoimax: Fix dependencies. - * modules/strtoumax: Likewise. + * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c). + (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define. + (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define. -2003-01-13 Bruno Haible +2002-04-12 Jim Meyering - * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS. - * modules/alloca (Makefile.am): All object files depend on alloca.h. - * modules/stdbool (Makefile.am): All object files depend on stdbool.h. + * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove + now-bogus check for f_type in sys/mount.h. Instead, just test for the + existence of the getmntinfo function. Needed for Darwin 5.3. -2003-01-13 Bruno Haible + * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro. + This is necessary at least on Darwin 5.3. - * gnulib-tool (func_create_testdir): Store config/* files in the main - directory. - * config.rpath: Move to ... - * config/config.rpath: ... here. - * modules/gettext: Contains config/config.rpath, not config.rpath. - * modules/iconv: Likewise. + * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use + AC_FUNC_STRNLEN. Otherwise, we'd end up putting two copies of + strnlen.o in the library, and that makes some versions of ranlib + object. -2003-01-12 Paul Eggert +2002-04-12 Jim Meyering - Finish renaming getstr -> getdelim2 and readline -> readlinebuffer, - to avoid collisions with libcurses and libreadline. + * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro. - * m4/getstr.m4: Remove. - * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC. +2002-04-09 Jim Meyering -2003-01-12 Paul Eggert + * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message + to be more precise. Rather than saying we're checking whether the + function `works', say what we're testing. + * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise. + Reported by Bruno Haible. - Finish renaming getstr -> getdelim2 and readline -> readlinebuffer, - to avoid collisions with libcurses and libreadline. +2002-03-10 Jim Meyering - * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h. - * lib/getstr.h, getstr.c: Remove. - * lib/getline.c: Include "getline.h", to check interface. - Move body of old getstr.c here: this defines MIN_CHUNK and - declares getdelim2, which is renamed from getstr. - (getline, getdelim): Adjust to renaming of getstr -> getdelim2. + * lib/makepath.c (make_path): Remove a comma from a diagnostic. + Suggestion from Santiago Vila. - * lib/linebuffer.c (readlinebuffer): Renamed from readline. - All uses changed. - * lib/linebuffer.h: Likewise. - (readline): Remove backward-compatibility macro. +2002-03-08 Jim Meyering -2003-01-12 Paul Eggert + * lib/rename.c: Mention that this wrapper is needed also on + mips-dec-ultrix4.4 systems. - Finish renaming getstr -> getdelim2 and readline -> readlinebuffer, - to avoid collisions with libcurses and libreadline. - * getstr: Remove. - * MODULES.html.sh: Remove getstr. - * modules/getline: Depend on unlocked-io, not getstr. +2002-03-02 Jim Meyering -2003-01-12 Jim Meyering + * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME, + not HAVE_CLOCK_SETTIME. - * lib/makepath.c: Don't test HAVE_ERRNO_H. It's not necessary. +2002-02-27 Paul Eggert -2003-01-10 Bruno Haible + * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used. + Check for clock_settime. - * modules/alloca: Change Makefile.am requirements. Simplify Include - requirements. Add lib/alloca_.h to file list. +2002-02-27 Paul Eggert -2003-01-10 Bruno Haible + * lib/nanosleep.h: Rename to.... + * lib/timespec.h: New name for nanosleep.h. All uses changed. - * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H. + * lib/gettime.c: New file. + * lib/settime.c: New file. + * lib/stime.c: Remove. -2003-01-10 Bruno Haible + * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c, + timespec.h. Remove nanosleep.h. - * lib/alloca_.h: New file. - * lib/getdate.y: Unconditionally include alloca.h. - * lib/makepath.c: Likewise. - * lib/setenv.c: Likewise. - * lib/userspec.c: Likewise. +2002-02-25 Paul Eggert -2003-01-09 Karl Berry + * m4/acl.m4: New file. + * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL. + Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now. - * MODULES.html.sh: include `dirname $0` in PATH, to find - gnulib-tool. +2002-02-25 Paul Eggert -2003-01-09 Bruno Haible + * lib/acl.c, lib/acl.h: New files. + * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c. - * modules/stdbool: Change configure.ac, Makefile.am requirements. - Simplify Include requirements. Add lib/stdbool.h.in to file list. +2002-02-24 Jim Meyering -2003-01-09 Bruno Haible + * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent + prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't + cause trouble. Reported by Nelson Beebe. - * m4/stdbool.m4 (AM_STDBOOL_H): New macro. +2002-02-23 Paul Eggert -2003-01-09 Bruno Haible + * lib/path-concat.c (xpath_concat): Reorder code to pacify + compilers that don't know that xalloc_die never returns. - * lib/stdbool.h.in: New file. +2002-02-20 Jim Meyering -2003-01-09 Bruno Haible + * lib/getdate.c: Regenerate using bison-1.33. - * gnulib-tool (func_all_modules): Ignore files ending in ~. - * MODULES.html.sh: Likewise. +2002-02-17 Jim Meyering -2003-01-08 Jim Meyering + * config/config.guess (main): Don't use `head -1'; it's no longer + portable. Use `sed 1q' instead. - * lib/full-write.c: Undefine and define-away `const' after inclusion - of errno.h, not before. Suggestion from Bruno Haible. +2002-02-16 gettextize -2003-01-08 Bruno Haible + * m4/codeset.m4: Upgrade to gettext-0.11. + * m4/gettext.m4: Upgrade to gettext-0.11. + * m4/glibc21.m4: Upgrade to gettext-0.11. + * m4/iconv.m4: Upgrade to gettext-0.11. + * m4/isc-posix.m4: Upgrade to gettext-0.11. + * m4/lcmessage.m4: Upgrade to gettext-0.11. + * m4/lib-ld.m4: New file, from gettext-0.11. + * m4/lib-link.m4: New file, from gettext-0.11. + * m4/lib-prefix.m4: New file, from gettext-0.11. + * m4/progtest.m4: Upgrade to gettext-0.11. - * modules/full-read: Depend on full-write. +2002-02-15 Paul Eggert -2003-01-08 Bruno Haible + * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro. + (jm_PREREQ): Use it. - * lib/safe-read.c: Include specification header first, to ensure its - selfcontainedness. - * lib/full-write.c: Likewise. +2002-02-15 Paul Eggert -2003-01-07 Jim Meyering + * lib/posixver.c, lib/posixver.h: New files. + * lib/Makefile.am (libfetish_a_SOURCES): Add them. - * lib/full-write.c: Rework so that it may serve to define full_read, - too. - * lib/full-read.c: Simply #define FULL_READ and include full-write.c. +2002-02-02 Paul Eggert + Bruno Haible -2003-01-07 Bruno Haible + * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument. + (fwrite_success_callback): New declaration. + * lib/unicodeio.c (unicode_to_mb): New function, extracted from + print_unicode_char. Call failure callback instead of error. + (fwrite_success_callback): New function. + (exit_failure_callback): New function. + (fallback_failure_callback): New function. + (print_unicode_char): Call unicode_to_mb. - * lib/strtoimax.c: Include as an alternative to - . - * lib/xstrtol.h: Likewise. - * lib/xstrtoimax.c: Likewise. - * lib/xstrtoumax.c: Likewise. - * lib/human.h: Likewise. +2002-01-26 Jim Meyering - * lib/tempname.c: Include too. Avoids a compilation error - on systems that have but not . + * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g. + * m4/strnlen.m4: Remove file, now that it's part of autoconf. -2003-01-07 Bruno Haible +2002-01-26 Jim Meyering - * MODULES.html.sh: Add copyright notice. - (missed_files): Omit CVS directory entries. - (func_module): Make it work with sed-3.02. - * MODULES.txt: Remove file. + * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h. -2003-01-06 Jim Meyering +2002-01-22 Paul Eggert - * lib/version-etc.c: Update year in translatable copyright string. + * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO. -2003-01-03 Karl Berry +2002-01-22 Jim Meyering - * config/config.{guess,sub}: update from prep. + * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES). + Otherwise, some versions of automake would omit the rule that makes + Makefile from Makefile.in. -2003-01-02 Karl Berry +2002-01-21 Paul Eggert - * doc/COPYING.DOC: belatedly updated to 1.2. + * lib/xmemcoll.h, lib/xmemcoll.c: New files. + * lib/Makefile.am (libfetish_a_SOURCES): Add them. + * lib/memcoll.c: Include errno.h, and declare errno if not defined. + (memcoll): Set errno to zero if there is no error. -2003-01-01 Karl Berry + * lib/quotearg.c (quotearg_buffer_restyled): + Fix bug with quoting buffers containing NUL when backslashing escapes. + This bug was exposed by the other changes in this patch. + (quotearg_n_options): New arg ARGSIZE. + All callers changed. + (quoting_options_from_style): New function. + (quotearg_n_style): Use it. + (quotearg_n_style_mem): New function. - * gnulib-tool (func_verify_module): report module name $module in - error message, not $1. - * gnulib-tool (create-testdir): don't complain if destdir couldn't - be created, only if it doesn't exist. - * gnulib-tool (last_checkin_date): don't expand the $Date here. + * lib/quotearg.h (quotearg_n_style_mem): New function. -2002-12-31 Paul Eggert +2002-01-19 Jim Meyering - * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP. + * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN. + Remove useless quotes: DF_PROG="df". + * m4/strnlen.m4: New file. -2002-12-31 Paul Eggert +2002-01-16 Paul Eggert - * lib/memcoll.c (memcoll): Fall back on a simple algorithm using - memcmp if strcoll doesn't work. + * lib/backupfile.c (ISDIGIT): Comment fix. + * lib/getdate.y (ISDIGIT): Likewise. + * lib/posixtm.c (ISDIGIT, year): Likewise. + * lib/strverscmp.c (ISDIGIT): Likewise. + * lib/userspec.c (ISDIGIT): Likewise. -2002-12-31 Bruno Haible +2002-01-16 Jim Meyering - * lib/utime.c (utime_null): No need to call ftruncate if the file was - nonempty. + * lib/getdate.y: Add three semicolons, each just before a closing + brace. Bison (as of version 1.31) no longer papers over that mistake. -2002-12-31 Bruno Haible +2002-01-05 Jim Meyering - * lib/memcoll.c (STRCOLL): New macro. - (memcoll): Use it. + * lib/version-etc.c (version_etc_copyright): Update copyright year. -2002-12-31 Bruno Haible +2001-12-19 Paul Eggert - * lib/localcharset.h: New file. - * lib/localcharset.c: Include it. - * lib/unicodeio.c: Likewise. + * lib/closeout.c (close_stdout_status): If ferror (stdout), do + not silently exit merely because the output buffer happens to + have nothing pending. -2002-12-31 Bruno Haible +2001-12-18 Paul Eggert - * lib/getstr.h (getstr): Define, to avoid clash with libcurses. - * lib/linebuffer.h (readline): Define, to avoid clash with libreadline. + See the big note in ../ChangeLog. + * lib/human.c (suffixes): Prefer K to k for 1024. + (generate_suffix_backwards): New function. + (human_readable_inexact): Use it. + * lib/xstrtol.c (__xstrtol): If there is no number but there + is a valid suffix, assume 1. "MB" now means decimal, "MiB" binary. + Accept 'K' as well as 'k'. -2002-12-31 Bruno Haible +2001-12-15 Jim Meyering - * lib/getline.h: Include , for size_t. + * lib/regex.h (__restrict_arr): Update from libc. - * lib/unicodeio.h: Include , for size_t. - * lib/unicodeio.c: Don't include . + * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs + as `remote' if the name starts with `//'. Suggested by Michael Stone. + (STREQ): Define. -2002-12-31 Bruno Haible +2001-12-14 Jim Meyering - * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not - HAVE_TM_ZONE. + * m4/jm-macros.m4 (jm_MACROS): Check for iswspace. + Suggestion from Bruno Haible. -2002-12-24 Karl Berry +2001-12-10 Jim Meyering - * config/config.guess: update from prep. + * lib/linebuffer.c: Remove explicit declarations of xmalloc and + xrealloc, Instead, include "xalloc.h". + (initbuffer): Don't cast xmalloc return value to char*. + (readline): Reword comment. + Don't cast xrealloc return value to char* + Return NULL, not 0. -2002-12-24 Bruno Haible +2001-12-09 Jim Meyering - General infrasructure. - * m4/README: Rewritten. - * m4/onceonly.m4: New file. - * m4/onceonly_2_57.m4: New file. + * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning + about `signed and unsigned type in conditional expression'. + * lib/posixtm.c (posix_time_parse): Likewise. - Module atexit. - * m4/atexit.m4: New file. + * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning. - Module strtod. - * m4/strtod.m4: New file. + * lib/readtokens.c (readtoken): Declare an index to be of type unsigned + to avoid a pedantic warning. - Module strtol. - * m4/strtol.m4: New file. + * lib/getstr.c: Don't include assert.h. + (getstr): Remove warning-evoking assertions. + Return -1 if offset parameter is out of bounds. + Change the type of a local from int to size_t. - Module strtoul. - * m4/strtoul.m4: New file. + * lib/strftime.c (my_strftime_localtime_r): Include this function + definition in the `#if ! HAVE_TM_GMTOFF' block. - Module memchr. - * m4/memchr.m4: New file. + * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc. + Include xalloc.h instead. - Module memcmp. - * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro. - (jm_FUNC_MEMCMP): Invoke it. +2001-12-02 Jim Meyering - Module memcpy. - * m4/memcpy.m4: New file. + * lib/tempname.c: Don't declare getenv, thus reverting the change of + 2001-11-18. It's no longer necessary, now that stdlib.h is always + included. - Module memmove. - * m4/memmove.m4: New file. + * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded, + __unbounded, and __ptrvalue. Reported by Uwe H. Steinfeld. - Module memset. - * m4/memset.m4: New file. +2001-11-30 Akim Demaille - Module strcspn. - * m4/strcspn.m4: New file. + * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared + before being defined. - Module strpbrk. - * m4/strpbrk.m4: New file. +2001-11-27 Paul Eggert - Module strstr. - * m4/strstr.m4: New file. + * lib/quotearg.h (quotearg_n, quotearg_n_style): + First arg is int, not unsigned. + * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise. + (SIZE_MAX, UINT_MAX): New macros. + (quotearg_n_options): Abort if N is negative. + Avoid overflow check on hosts where size_t is 64 bits and int + is 32 bits, as overflow is impossible there. + Fix off-by-one typo that caused unnecessary reallocation. - Module strerror. - * m4/strerror.m4: New file. +2001-11-27 Jim Meyering - Module mktime. - * m4/mktime.m4: Renamed from jm-mktime.m4. - (gl_PREREQ_MKTIME): New macro. - (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME. + * lib/tempname.c: Merge with version from libc. + * lib/regex.c: Likewise. - Module malloc. - * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro. - (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC. - Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it. + * lib/tempname.c: Include stdlib.h unconditionally. On some old + systems for which STDC_HEADERS is 0, it was not included, resulting in + a warning about an integer-to-pointer conversion problem with getenv. + Reported by Volker Borchert. - Module realloc. - * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro. - (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC. - Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it. +2001-11-26 Jim Meyering - Module strftime. - * m4/tm_gmtoff.m4: New file, extracted from strftime.m4. - * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME. - Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and - gl_TM_GMTOFF. - (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros. + * lib/gtod.h: Remove file. + * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h. + * lib/gettimeofday.c: Don't include gtod.h. + (GTOD_init): Remove function. + (rpl_gettimeofday): Do its job here instead, rather than aborting. + Suggestion from Volker Borchert. - Module xalloc. - * m4/xalloc.m4: New file. +2001-11-23 Jim Meyering - Module alloca. - * m4/alloca.m4: New file. + * lib/hash.h (struct hash_table): Don't define here. Merely declare + it. + * lib/hash.c (struct hash_table): Define it here instead. - Module putenv. - * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro. - (jm_FUNC_PUTENV): Invoke it. +2001-11-22 Jim Meyering - Module setenv. - * m4/setenv.m4 (gt_FUNC_SETENV): New macro. - (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4 - when invoked twice. - (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old - gt_FUNC_SETENV. + * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif. - Module memrchr. - * m4/memrchr.m4: New file. +2001-11-20 Jim Meyering - Module stpcpy. - * m4/stpcpy.m4: New file. + * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that + SunOS 4.1.4 and Solaris 2.5.1 lose, too. - Module strcase. - * m4/strcase.m4: New file. +2001-11-19 Jim Meyering - Module strdup. - * m4/strdup.m4: New file. + * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary + directory. Use "conftestXXXXXX" as the template. + Suggestion from Paul Eggert. - Module strnlen. - * m4/strnlen.m4: New file. + * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor + immediately, so the test doesn't mistakenly hit the max-open-files + limit. - Module strndup. - * m4/strndup.m4: New file. +2001-11-18 Paul Eggert - Module xstrtod. - * m4/xstrtod.m4: New file. + * lib/tempname.c (TMP_MAX): Remove; no longer needed. + (TEMPORARIES): New macro. + (__gen_tempname): Use TEMPORARIES rather than TMP_MAX. This + removes an artificial limitation (e.g. HP-UX 10.20, where + TMP_MAX is 17576). - Module xstrtol. - * m4/xstrtol.m4: New file. +2001-11-18 Jim Meyering - Module getdate. - * m4/getdate.m4: New file. + * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv. - Module unlocked-io. - * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4. - (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros. - * m4/jm-glibc-io.m4n: Remove file. +2001-11-18 Jim Meyering - Module long-options. - * m4/long-options.m4: New file. + * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning + on SunOS 4. - Module md5. - * m4/md5.m4: New file. + * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those + files will be created before anything else. - Module sha. - * m4/sha.m4: New file. +2001-11-17 Paul Eggert - Module getstr. - * m4/getstr.m4: New file. + * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define + WINSIZE_IN_PTEM if defines struct winsize. - Module getline. - * m4/getline.m4 (gl_PREREQ_GETLINE): New macro. - (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use , not - , for size_t. Use the function name gnu_getline, not - simply getline. Infoke gl_PREREQ_GETLINE. +2001-11-17 Jim Meyering - Module obstack. - * m4/obstack.m4: New file. + * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro. + Prompted by a report from Bob Proulx. - Module hash. - * m4/hash.m4: New file. + * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here. + Instead, require UTILS_FUNC_MKSTEMP. - Module readtokens. - * m4/readtokens.m4: New file. +2001-11-17 Jim Meyering - Module strverscmp. - * m4/strverscmp.m4: New file. + * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM. + Now, that's done as part of AC_FUNC_STRTOD. - Module stdbool. - * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for - OSF/1. +2001-11-17 Jim Meyering - Module strtoll. - * m4/strtoll.m4: New file. + * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26 + that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable + rather than group writable. Patch by Juan F. Codagnone. - Module strtoull. - * m4/strtoull.m4: New file. + * lib/readtokens.c: Remove explicit declarations of xmalloc and + xrealloc, Instead, include "xalloc.h". - Module strtoimax. - * m4/strtoimax.m4: New file. + * lib/mountlist.c: Include unlocked-io.h after all system headers. + Remove explicit declarations of xmalloc, xrealloc, + and xstrdup. Instead, include "xalloc.h". - Module strtoumax. - * m4/strtoumax.m4: New file. + * lib/argmatch.c, closeout.c, error.c, exclude.c: Include + unlocked-io.h. + * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c: + Likewise. + * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise. - Module xstrtoimax. - * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from - jm_AC_PREREQ_XSTRTOIMAX. - Moved the strtol prerequisites to strtol.m4. - Moved the strtoll prerequisites to strtoll.m4. - Moved the strtoimax prerequisites to strtoimax.m4. + * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise. + Reported by Padraig Brady. - Module xstrtoumax. - * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from - jm_AC_PREREQ_XSTRTOUMAX. - Moved the strtoul prerequisites to strtoul.m4. - Moved the strtoull prerequisites to strtoull.m4. - Moved the strtoumax prerequisites to strtoumax.m4. + * lib/mkstemp.c: #undef mkstemp. + Include config.h. + (rpl_mkstemp): Rename from mkstemp. + Protoize. - Module chown. - * m4/chown.m4 (gl_PREREQ_CHOWN): New macro. - (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN. +2001-11-16 Jim Meyering - Module dup2. - * m4/dup2.m4: New file. + * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include . + (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to + determine the amount of total physical memory, use pstat_getstatic. + HPUX-11 doesn't define _SC_PHYS_PAGES. + (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]: + If sysconf couldn't be used to determine the amount of available + physical memory, use both pstat_getstatic and pstat_getdynamic. + Based on a patch from Bob Proulx. - Module ftruncate. - * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro. - (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE. +2001-11-10 Jim Meyering - Module getgroups. - * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro. - (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS. + * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function. + (jm_PREREQ): Use it. - Module gettimeofday. - * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro. - (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke - gl_PREREQ_GETTIMEOFDAY. +2001-11-09 Jim Meyering - Module mkdir. - * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro. - (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR. + * m4/jm-macros.m4: Require autoconf-2.52f. + (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD): + Use these AC_-prefixed names, not the AM_-prefixed ones. - Module mkstemp. - * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro. - (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke - jm_AC_TYPE_UINTMAX_T. - (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME. + * m4/afs.m4 (jm_AFS): Quote the body. Patch by Akim Demaille. - Module stat. - * m4/stat.m4 (gl_PREREQ_STAT): New macro. - (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT. +2001-11-05 Jim Meyering - Module lstat. - * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro. - (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT. + * lib/xstat.in (slash_aware_lstat): Correct a misleading comment. - Module timespec. - * m4/timespec.m4 (gl_TIMESPEC): New macro. - (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for . - * m4/st_mtim.m4: Indentation. +2001-11-04 Jim Meyering - Module nanosleep. - * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro. - (jm_FUNC_NANOSLEEP): Add check for . Invoke - gl_PREREQ_NANOSLEEP. + * m4/fpending.m4: Remove unused cruft that saved, set, and restored + $DEFS. - Module regex. - * m4/regex.m4 (jm_PREREQ_REGEX): New macro. - (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX. - (gl_REGEX): New macro. +2001-11-03 Jim Meyering - Module rename. - * m4/rename.m4 (gl_PREREQ_RENAME): New macro. - (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME. + * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg + of AC_DEFUN. - Module rmdir. - * m4/rmdir.m4: New file. + * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to + know the name of the variable in the macro definition. - Module utime. - * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros. - * m4/utime.m4 (gl_PREREQ_UTIME): New macro. - (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME. +2001-11-03 Jim Meyering - Module dirname. - * m4/dirname.m4: New file. + * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args + in argmatch_to_argument call. - Module getopt. - * m4/getopt.m4: New file. + * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an + argument. - Module unistd-safer. - * m4/unistd-safer.m4: New file. + * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or + e.g., a fault due to an attempt to free a NULL pointer. - Module fnmatch. - * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include , for exit() - declaration. - (gl_PREREQ_FNMATCH_EXTRA): New macro. - (gl_FUNC_FNMATCH_POSIX): New macro. - (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke - gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not - simply fnmatch. +2001-11-01 Jim Meyering - Module exclude. - * m4/exclude.m4: New file. + * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro. + * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD. - Module human. - * m4/human.m4: New file. +2001-11-01 Jim Meyering - Module acl. - * m4/acl.m4: Nop. + * lib/dirfd.c, lib/dirfd.h: New files. + * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h. - Module backupfile. - * m4/backupfile.m4: New file. - * m4/d-ino.m4: Indentation. + * lib/hash.c (hash_print) [TESTING]: Clean up. - Module fsusage. - * m4/fsusage.m4 (gl_FSUSAGE): New macro. - (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac. - (gl_PREREQ_FSUSAGE_EXTRA): New macro. +2001-10-22 Paul Eggert - Module dirfd. - * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP - requirements. + * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__, + to avoid a warning if -Wall. - Module euidaccess. - * m4/euidaccess.m4: New file. +2001-10-22 Jeff Bailey - Module file-type. - * m4/file-type.m4: New file. + * README: New file + * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi + (per RMS's instructions, this is now the canonical source) + * lgpl/, gpl/: New directories. - Module fileblocks. - * m4/fileblocks.m4: New file. +2001-10-21 Paul Eggert - Module filemode. - * m4/filemode.m4: New file. + * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job. - Module isdir. - * m4/isdir.m4: New file. +2001-10-21 Jim Meyering - Module lchown. - * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro. - (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN. + * lib/obstack.c (_): Honor the setting of ENABLE_NLS. Otherwise, + this code would end up calling gettext even in packages built + with --disable-nls. + * lib/getopt.c (_): Likewise. + * lib/regex.c (_): Likewise. - Module makepath. - * m4/makepath.m4: New file. +2001-10-20 Paul Eggert - Module modechange. - * m4/modechange.m4: New file. + * m4/error.m4 (jm_PREREQ_ERROR): + Do not invoke AC_CHECK_FUNCS with strerror_r, as + AC_FUNC_STRERROR_R does that. + Check for strerror declaration. - Module mountlist. - * m4/mountlist.m4: New file. - * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros. - Indentation. + * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files + are supposed to have them these days. + (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached. + Merge changes from latest Autoconf CVS. + Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p, + and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since + POSIX decided to standardize on the int flavor of strerror_r. - Module path-concat. - * m4/path-concat.m4: New file. +2001-10-20 Paul Eggert - Module pathmax. - * m4/pathmax.m4: New file. + * lib/error.c (strerror_r): Do not declare unless !_LIBC. + Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P. + Use strerror_r that is only a macro, even if it is not a function. + (strerror): Check for HAVE_DECL_STRERROR before declaring. + (private_strerror): Use prototypes, not old-style function definition. + (print_errno_message): New function. + Support the POSIX 'int'-flavored strerror_r, as well as the traditional + char*-flavored one. + (error_tail, error, error_at_line): Use it. - Module same. - * m4/same.m4: New file. +2001-10-11 Jim Meyering - Module save-cwd. - * m4/save-cwd.m4: New file. + * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ... + and quote_n (1, ... to avoid clobbering a buffer. - Module savedir. - * m4/savedir.m4: New file. +2001-10-05 Jim Meyering - Module xgetcwd. - * m4/xgetcwd.m4: New file. - * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros. + * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and + hash-pjw.h. + * lib/hash-pjw.c: New file (factored out of fileutils' remove.c). + * lib/hash-pjw.h: New file. - Module xreadlink. - * m4/xreadlink.m4: New file. +2001-09-30 Jim Meyering - Module safe-read. - * m4/safe-read.m4: New file. + * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if + `struct fsstat' has the `f_fstypename' member. + Use that to define FS_TYPE, which is now used to make + the getfsstat link test tighter. - Module safe-write. - * m4/safe-write.m4: New file. +2001-09-30 Jim Meyering - Module closeout. - * m4/closeout.m4: New file. + * lib/mountlist.c [MOUNTED_GETFSSTAT]: + Include , for Apple Darwin. + Include sys/mount.h and sys/fs_types.h only if available. + (FS_TYPE): Define. + (read_filesystem_list): Use FS_TYPE. - Module stdio-safer. - * m4/stdio-safer.m4: New file. +2001-09-29 Paul Eggert - Module getpass. - * m4/getpass.m4: New file. + * lib/exclude.c (excluded_filename): 0 -> false, since it's + a boolean context. - Module getugroups. - * m4/getugroups.m4: New file. +2001-09-29 Jim Meyering - Module group-member. - * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro. - (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER. + * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS) + [one-argument getmntent function]): Include stdio.h before mntent.h. + SunOS 4.1.x needs it for the declaration of `FILE'. + Patch by Volker Borchert. - Module idcache. - * m4/idcache.m4: New file. + * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS) + Check for these headers: sys/param.h sys/ucred.h sys/mount.h + sys/fs_types.h, and make the link-test for getfsstat guard #include + directives with appropriate #if HAVE_*_H tests so that we can + detect getfsstat on Apple Darwin1.3.7 systems. + Reported by Nelson Beebe. + Fix harmless typo in cache variable name: s/getsstat/getfsstat/. - Module userspec. - * m4/userspec.m4: New file. +2001-09-28 Paul Eggert - Module gettime. - * m4/clock_time.m4: New file. - * m4/gettime.m4: New file. + Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which + #defines strtoimax. Also treat the other strto* functions + like strtoimax. - Module settime. - * m4/settime.m4: New file. + * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): + Check for strtoul and strtoumax, + as those declarations are made even in the signed case. + * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): + Likewise, for strtol and strtoimax. - Module posixtm. - * m4/posixtm.m4: New file. +2001-09-28 Paul Eggert - Module gethostname. - * m4/gethostname.m4: New file. + Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which + #defines strtoimax. Also treat the other strto* functions + like strtoimax. - Module canon-host. - * m4/canon-host.m4: New file. + * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL. + (strtoul): Do not declare if HAVE_DECL_STRTOUL. + (strtoimax, strtoumax): Do not declare if already defined as a macro. - Module gettext. - * m4/codeset.m4: New file, from gettext-0.11.5. - * m4/gettext.m4: New file, from gettext-0.11.5. - * m4/glibc21.m4: New file, from gettext-0.11.5. - * m4/iconv.m4: New file, from gettext-0.11.5. - * m4/intdiv0.m4: New file, from gettext-0.11.5. - * m4/inttypes-pri.m4: New file, from gettext-0.11.5. - * m4/inttypes.m4: New file, from gettext-0.11.5. - * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications. - * m4/isc-posix.m4: New file, from gettext-0.11.5. - * m4/lcmessage.m4: New file, from gettext-0.11.5. - * m4/lib-ld.m4: New file, from gettext-0.11.5. - * m4/lib-link.m4: New file, from gettext-0.11.5. - * m4/lib-prefix.m4: New file, from gettext-0.11.5. - * m4/progtest.m4: New file, from gettext-0.11.5. - * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications. - * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications. - * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications. +2001-09-26 Jim Meyering - Module localcharset. - * m4/localcharset.m4: New file. + Most macros in unlocked-io.h had the wrong number of arguments. + * lib/gen-uio: New script. + (USE_UNLOCKED_IO): Define to 1 if not already defined. + * lib/unlocked-io.hin: Remove file. + * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script, + rather than trying to embed it here. + (EXTRA_DIST): Add gen-uio. Remove unlocked-io.hin + Reported by Padraig Brady. - Module hard-locale. - * m4/hard-locale.m4: New file. +2001-09-25 Volker Borchert - Module mbswidth. - * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use - onceonly macros. - * m4/mbrtowc.m4: Add comment. + * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable + `result'. - Module memcasecmp. - * m4/memcasecmp.m4: New file. +2001-09-24 Jim Meyering - Module memcoll. - * m4/memcoll.m4: New file. + * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS. - Module unicodeio. - * m4/unicodeio.m4: New file. +2001-09-23 Jim Meyering - Module rpmatch. - * m4/rpmatch.m4: New file. + * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test + instead of the mere test for existence of mntent.h. The latter + would get a false-positive on AIX 3.4 systems. + In the outer getmntent if-block, don't die if neither of the getmntent + tests succeeds. Instead, just fall through and continue with the + remaining tests. - Module yesno. - * m4/yesno.m4: New file. +2001-09-23 Jim Meyering - Module exitfail. - * m4/exitfail.m4: New file. + * lib/mountlist.c: Remove useless parentheses in #if directives. + (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when + the deprecated MOUNTED symbol is no longer defined in mntent.h. - Module c-stack. - * m4/c-stack.m4 (gl_C_STACK): New macro. - (jm_PREREQ_C_STACK): Check for . Use onceonly macros. +2001-09-22 Jim Meyering - Module error. - * m4/error.m4 (gl_ERROR): New macro. - (jm_PREREQ_ERROR): Use onceonly macros. + * m4/gettext.m4: New file. From gettext. + * m4/lcmessage.m4: Sync with gettext -- this changes only comments. + * m4/progtest.m4: Likewise + * m4/isc-posix.m4: Decrement serial number to sync with gettext. + * m4/glibc21.m4: Likewise. - Module fatal. - * m4/fatal.m4: New file. + * m4/libintl.m4: Remove. No longer used. - Module getloadavg. - * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros. - (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros. +2001-09-22 Jim Meyering - Module getpagesize. - * m4/getpagesize.m4: New file. + * lib/localcharset.c: Update from latest gettext. + * lib/config.charset: Likewise. - Module getusershell. - * m4/getusershell.m4: New file. +2001-09-20 Jim Meyering - Module physmem. - * m4/physmem.m4: New file. + * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of + strtoimax. + * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of + strtoumax. - Module posixver. - * m4/posixver.m4: New file. +2001-09-20 Jim Meyering - Module quotearg. - * m4/quotearg.m4: New file. + * lib/xstrtol.c (strtoimax): Guard declaration with + `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'. + The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0) + have their own, conflicting declaration of strtoimax in sys/inttypes.h. + (strtoumax): Likewise, for completeness (it wasn't necessary). - Module quote. - * m4/quote.m4: New file. +2001-09-17 Paul Eggert - Module readutmp. - * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4. + * lib/strtoimax.c (HAVE_LONG_LONG): + Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned. + (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base), + to work around bug in IBM C compiler. - Module sig2str. - * m4/sig2str.m4: New file. +2001-09-17 Jim Meyering - Other. - * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to - ulonglong.m4. - * m4/intmax_t.m4: New file. - * m4/d-type.m4: Indentation. - * m4/jm-macros.m4: Update. - * m4/prereq.m4 (jm_PREREQ): Update. - (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4. - (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4. - (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4. - (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4. - (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4. - (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4. - (jm_PREREQ_HASH): Remove, obsoleted by hash.m4. - (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4. - (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4. - (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4. - (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4. - (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4. - (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4. - (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4. - (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4. - (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4. - (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4. - (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4. - * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros. + * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4, + * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4, + * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4, + * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4, + * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED, + whenever the right hand side need not be expanded by the shell. -2002-12-24 Bruno Haible +2001-09-16 Paul Eggert - * MODULES.txt: Update according to m4/ changes. + * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C + library. It's not correct, as some older glibcs are buggy. + fnmatch wasn't fixed until glibc 2.2. - Module gettext. - * config.rpath: New file, from gettext-0.11.5. + Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no + special shell magic here. - * modules/*: New module descriptions. - * gnulib-tool: New file. - * MODULES.html.sh: New file. +2001-09-16 Jim Meyering -2002-12-21 Karl Berry + * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro. + * m4/jm-macros.m4: Require it. - * doc/fdl.texi: update to version 1.2. +2001-09-16 Jim Meyering -2002-12-19 Karl Berry + * lib/mkdir.c: New file. - * config/config.guess: update from prep. +2001-09-15 Jim Meyering -2002-12-18 Bruno Haible + * m4/jm-macros.m4: Check for help2man. - * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r. - * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise. +2001-09-11 Jim Meyering -2002-12-17 Bruno Haible + * m4/host-os.m4 (UTILS_HOST_OS): New file/macro. + The body, by Paul Eggert, was moved here from configure.in. + * m4/jm-macros.m4: Require UTILS_HOST_OS. - * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h, - stdlib.h, string.h. +2001-09-04 Paul Eggert -2002-12-17 Bruno Haible + * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro. + (jm_PREREQ): Use it. - * lib/canon-host.c (strdup): Remove unused declaration. +2001-09-04 Paul Eggert - * lib/fsusage.c: Include full_read.h. - (get_fs_usage): Use full_read instead of safe_read. + * lib/xreadlink.c (xreadlink): Omit size_t* arg. All uses changed. + Use ssize_t, not int, to store result of readlink. + Check for ssize_t overflow as well as size_t overflow, + as POSIX says the result of readlink is implementation-defined + when ssize_t overflows. + Remove unnecessary cast to char*. + Use free+malloc instead of realloc, as the storage doesn't need + to be preserved and it's clearer and can be more efficient that way. + (SIZE_MAX, SSIZE_MAX): New macros, if doesn't declare. + * lib/xreadlink.h (xreadlink): Update prototype. - * lib/utime.c (utime_null): Use SAFE_READ_ERROR. +2001-09-04 Paul Eggert -2002-12-12 Karl Berry + * lib/xgetcwd.c: Revert some of the previous change; intead, + fix the HAVE_GETCWD_NULL code to behave more like the + !HAVE_GETCWD_NULL code used to. - * config/config.guess: update from prep. + Include "xalloc.h". + (xgetcwd): Do not return NULL when memory is exhausted; instead, + invoke xalloc_die. -2002-12-11 Bruno Haible +2001-09-03 Paul Eggert - * m4/setenv.m4: New file, from gettext-0.11.5. + * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and + sys/param.h, as pathmax.h includes them. -2002-12-11 Bruno Haible +2001-09-03 Paul Eggert - * lib/setenv.h: Rewritten to cope with systems that have setenv() but - not unsetenv(). - * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following - modifications: + * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD. + (jm_PREREQ_XGETCWD): New macro. - 2002-12-11 Bruno Haible + * m4/getcwd.m4: New file. - * setenv.c (alloca): Fall back to malloc. - (freea): New macro. - (setenv): Use freea() to free memory allocated with alloca(). +2001-09-03 Paul Eggert - 2002-11-13 Bruno Haible + * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more + like the HAVE_GETCWD_NULL code. + Include pathmax.h if not HAVE_GETCWD. + Do not include xalloc.h. + (INITIAL_BUFFER_SIZE): New symbol. + Do not use xmalloc / xrealloc, since the caller is responsible for + handling errors. Preserve errno around `free' during failure. + Do not overrun buffer when using getwd. - * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C - function declarations. - * unsetenv.c (unsetenv): Likewise. +2001-09-03 Paul Eggert - 2002-03-04 Bruno Haible + * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined + __GLIBC__ && __GLIBC__ >= 2), to decide whether to use + getcwd (NULL, 0). - Portability to AIX 4.3.3. - * unsetenv.c: New file, extracted from setenv.c. - * setenv.c: Move the unsetenv() function to unsetenv.c. +2001-09-03 Paul Eggert - 2001-12-20 Bruno Haible + * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between + usage of FNM_CASEFOLD and FNM_LEADING_DIR. The bug was + spotted by Jim Meyering. - * setenv.c (__add_to_environ): Don't call realloc(NULL,...), - use malloc instead. For SunOS 4. +2001-09-03 Jim Meyering - 2001-12-11 Bruno Haible + * lib/xreadlink.c (xreadlink): Preserve errno around `free' during + failure. - * setenv.c: Declare alloca. - (compar_fn_t): New typedef. - (KNOWN_VALUE, STORE_VALUE): Use it. +2001-09-02 Jim Meyering - * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c, - setenv.h. + * lib/error.c: Update from GNU libc. -2002-12-10 Paul Eggert +2001-09-01 Jim Meyering - Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7. - * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS): - Choose values that are less likely to collide with system fnmatch - options. - * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not - defined (e.g., a pure POSIX system). - (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME - instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems. + * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name. + Used by df. -2002-12-06 Paul Eggert +2001-09-01 Jim Meyering - Undo the 2001-07-02 change for jm-glibc-io, as it was too much of - a pain in practice to deal with generated m4 files. This change - goes together with the 2002-12-04 unlocked-io.h change in ../lib. + * lib/xreadlink.c: New file. + * lib/xreadlink.h: New file. + * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and + xreadlink.h. - * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n - and jm-glibc-io.m4, as they are no longer a special case. - * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the - kludge and the auto-generation stuff. Check only whether the - functions are declared, not whether they exist, since older hosts - that don't declare the functions can't use the optimization anyway. + * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it + doesn't conflict with sparc Solaris 7's definition in + /usr/include/sys/int_types.h. -2002-12-06 Jim Meyering + * lib/exclude.c: Use `""', not `<>' to #include non-system header + files. + (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp + and strncasecmp as r-values. Unixware didn't have declarations. - * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'. +2001-08-31 Paul Eggert - Merge in changes from libc's misc/error.c, in preparation - for the merge of gnulib's changes back into libc. + * lib/xstrtol.h: Add copyright notice. + (_DECLARE_XSTRTOL): Improve quality of diagnostic for + LONGINT_INVALID_SUFFIX_CHAR. - * lib/error.c (_): Define only if not already defined. - Move definition to follow all #include directives. - Include unlocked-io.h only if !_LIBC. - [_LIBC]: Include . - [USE_IN_LIBIO]: Include - (fflush): Tweak definition to use INTUSE. - (putc): Define. +2001-08-31 Paul Eggert -2002-12-05 Paul Eggert + * lib/xstrtol.c (strtoimax): New decl. - * lib/alloca.c [defined emacs]: Include "lisp.h". - (xalloc_die) [defined emacs]: New macro. - (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE. - [! defined emacs]: Include . - (POINTER_TYPE) [!defined POINTER_TYPE]: New macro. - (pointer): Typedef to POINTER_TYPE *. - (malloc): Remove decl; we now always use xmalloc. - (alloca): Use old-style definition, since Emacs needs this. - Check for arithmetic overflow when computing combined size. +2001-08-31 Paul Eggert -2002-12-04 Paul Eggert + * lib/xgetcwd.c: Don't include pathmax.h. + Include stdlib.h and unistd.h if available. + Include xalloc.h. + (xmalloc, xstrdup, free): Remove decls. + (xgetcwd): Don't assume sizes fit in unsigned. + Check for overflow when computing sizes. + Simplify reallocation code. - Do not generate unlocked-io.h automatically, since it's easier to - maintain it by hand. +2001-08-31 Paul Eggert - * lib/unlocked-io.h: New file, from GNU diffutils, - but with proper copyright notice and attribution. - * lib/gen-uio: Remove. - * lib/Makefile.am: Add copyright notice. - (libfetish_a_SOURCES): Add unlocked-io.h. - (BUILT_SOURCES, all-local): Remove unlocked-io.h. - (DISTCLEANFILES, io_functions): Remove macros. - (EXTRA_DIST): Remove gen_uio. - (unlocked-io.h): Remove rule. + * lib/savedir.c (savedir): Remove size parameter, as POSIX says that + a directory's st_size can have an arbitrary value, so the old + usage could waste an arbitrary amount of memory. All uses + changed. + * lib/savedir.h: Update prototype. -2002-12-04 Jim Meyering +2001-08-31 Paul Eggert - Reflect the fact that stat.c and lstat.c are no longer generated. - * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c. - (DISTCLEANFILES): Likewise. - (EXTRA_DIST): Likewise. - (all_local): Don't depend on stat.c or lstat.c. - (stat.c, lstat.c): Remove rules. - (EXTRA_DIST): Remove xstat.in. + * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c. - * lib/xstat.in: Remove file. Contents moved into stat.c. - * lib/stat.c: New file. Contents mostly from xstat.in. - * lib/stat.c: Rework so that it may serve to define rpl_lstat, too. - * lib/lstat.c: New file. Simply #define LSTAT and include stat.c. + * lib/strtoimax.c: Renamed from strtoxmax.c, removing the + old strtoimax.c. - * lib/safe-read.c: Rework so that it may serve to define safe_write, - too. - * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c. + Also, make the following further changes to make this file's + configuration more similar to that of strtol.c: + (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED. All uses changed. + (strtoumax, uintmax_t, strtoull, strtol): Remove. + (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED. + (strtoimax): Renamed from strtoumax. All uses of unsigned values + changed to signed values. -2002-12-03 Jim Meyering + And make the following changes as well: + Fix copyright notice, as 1999 was missing. + (verify): New macro. + (strtoimax): Check sizes at compile-time, not run-time. + Prefer strtol to strtoll if both work. + (main): Remove; it was not that useful and was a pain to maintain. - * lib/safe-read.c, safe-write.c: Change variable names and comments, - but not semantics, to minimize the differences between these two files. - (safe_read): Change comment to mention SAFE_READ_ERROR. + * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c. - * lib/safe-read.c (IS_EINTR): Define. - (safe_read): Use IS_EINTR in place of in-function cpp directives. +2001-08-31 Jim Meyering -2002-12-02 Jim Meyering + * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication. + Use an initial, malloc'd, buffer of length 128 rather than + a statically allocated one of length 1024. - * lib/safe-read.c (EINTR): Define. - (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define. - (INT_MAX): Provide fallback. - (safe_read): Rewrite to iterate IFF the read fails with EINTR. +2001-08-30 Paul Eggert - * lib/safe-read.h (SAFE_READ_ERROR): Define. + Simplify code, partly by assuming autoconf 2.52 semantics. -2002-12-02 Bruno Haible + * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4. - * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): - Define, taken from safe-read.c. - (INT_MAX): Provide fallback. - (safe_write): Rewrite to iterate IFF the write fails with EINTR. - * lib/safe-write.h (SAFE_WRITE_ERROR): Define. + * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52. + (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52. + All uses removed. + (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T): + Move AC_REQUIRE to next-to-top level, to avoid confusion. + Use 2.52's AC_CHECK_TYPE instead of merely looking for the header. + * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require + jm_AC_HEADER_INTTYPES_H. + * m4/jm-macros.m4 (jm_MACROS): Likewise. - * lib/safe-read.c (EINTR): Remove definition. - (safe_read): Don't use EINTR if it is absent. + * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4. -2002-12-01 Jim Meyering + * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): + Quote first arg of AC_DEFUN. + Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG + since they are needed to parse the include file even if we need + only xstrtoimax. Simplify logic behind the args to AC_REPLACE. + * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise, + but with opposite signedness. - * lib/safe-read.c: (safe_read): Also exit the loop when read returns - zero. - (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define. +2001-08-30 Paul Eggert -2002-11-27 Paul Eggert + Merge 'exclude' changes from tar 1.13.22. + This fixes one or two unlikely storage allocation overflow bugs, + but doesn't change user-visible behavior otherwise. - * lib/hash.c (hash_lookup, hash_get_first, hash_get_next, - hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();' - with `if (! (value < limit)) abort ();', for readability. +2001-08-30 Paul Eggert -2002-11-26 Karl Berry + * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE. + (jm_PREREQ_EXCLUDE): New macro. - * lib/strdup.c: copy from libc again, with jim's ok. - * lib/.cppi-disable: re-add strdup.c +2001-08-30 Paul Eggert -2002-11-25 Karl Berry + * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct + tm to be declared. - * lib/strtoll.c: copy from libc, meaning we now #include - instead of "strtol.c". +2001-08-30 Paul Eggert -2002-11-25 Karl Berry + * lib/hash.c: Remove '2001' from copyright notice. - * config/install-sh: update from automake for variable quoting, $0 in - error msgs, etc. +2001-08-30 Paul Eggert - * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry. - * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new - entry. + * lib/full-write.h: New file. + * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h. + * lib/full-write.c: Correct credits, as cccp.c no longer + exists and anyway it was so heavily changed from the old cccp + code as to be unrecognizable. Include full-write.h. + (full_write) Return size_t, with short writes meaning failure. + All callers changed. This fixes a bug with large buffers + on 64-bit hosts. + * lib/utime.c: Include full-write.h. -2002-11-25 Jim Meyering +2001-08-30 Paul Eggert - * lib/mktime.c: Sync from libc, now that it has the latest fix. + * lib/exclude.c (bool): Declare, perhaps by including stdbool.h. + (): Include only if HAVE_SYS_TYPES_H. + (, , , , ): + Include if available. + (): Include + (SIZE_MAX): Define if or doesn't. + (verify): New macro. Use it to verify that EXCLUDE macros do not + collide with FNM macros. + (struct patopts): New struct. + (struct exclude): Use it, as exclude patterns now come with options. + (new_exclude): Support above changes. + (new_exclude, add_exclude_file): + Initial size must now be a power of two to simplify overflow checking. + (free_exclude, fnmatch_no_wildcards): New function. + (excluded_filename): No longer requires options arg, as the options + are determined by add_exclude. Now returns bool, not int. + (excluded_filename, add_exclude): + Add support for the fancy new exclusion options. + (add_exclude, add_exclude_file): Now takes int options arg. + Check for arithmetic overflow when computing sizes. + (add_exclude_file): xrealloc might modify errno, so don't + realloc until after errno might be used. -2002-11-24 Karl Berry + * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS): + New macros. + (free_exclude): New decl. + (add_exclude, add_exclude_file): Now takes int options arg. + (excluded_filename): No longer requires options arg, as the options + are determined by add_exclude. Now returns bool, not int. - * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c, - regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl. +2001-08-30 Paul Eggert -2002-11-24 Jim Meyering + * lib/alloca.c (alloca): Arg is of type size_t, not unsigned. - Update from coreutils: +2001-08-27 Jim Meyering - * lib/mktime.c: Merge in changes from libc. + * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c - Avoid a link-time failure on some Linux systems. - * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static' - (otherwise). - (__mon_yday): Declare with the STATIC attribute. - (__mktime_internal): Likewise. - Based on a report from Greg Schafer. + * lib/version-etc.c (N_): Remove definition. + Revert most of last change. + Instead, simply don't mark the `Copyright...' string for translation. + Based on advice from Paul Eggert. -2002-11-23 Jim Meyering + * lib/strtoxmax.c: Tweak comment. - * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc: - Use `unsigned', not `int', as type of index. +2001-08-26 Jim Meyering - * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include . + * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX. - * lib/fsusage.c: Remove unneeded parentheses around operands of - `defined'. + * m4/xstrtoimax.m4: New file. + * m4/xstrtoumax.m4: Add comments explaining why we + AC_REPLACE_FUNCS(strtol). -2002-11-22 Paul Eggert +2001-08-26 Jim Meyering - * lib/quotearg.h: Allow multiple inclusion by surrounding with - "#ifndef QUOTEARG_H_". Include , for size_t, - so that we can be included first. - (PARAMS): Remove; we now assume C89 or later. All uses removed. - * lib/quotearg.c: Include quotearg.h immediately after config.h. - No need to include stddef.h or sys/types.h any more. - Surround local include files with "", not "<>". - Assume HAVE_LIMITS_H unconditionally, as we assume C89. - Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX, - HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS. - (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC. - (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT. - (ISPRINT): Remove; no longer needed now that we assume C89. + * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year + of copyright with `%s' so translators don't get an untranslated + message in 2002. + (COPYRIGHT_YEAR): Define. + (version_etc): Use fprintf rather than fputs. + Suggestion from Ulrich Drepper. - (clone_quoting_options, quotearg_buffer, quotearg_n_options): - Preserve errno. + * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c. - (quotearg_buffer_restyled, quotearg_n, quotearg_n_style, - quotearg_char): Use SIZE_MAX rather than - (size_t) -1 when we are talking about "infinity". + * lib/strtoll.c: New file, from GNU libc. + * lib/xstrtoimax.c: New file. - (quotearg_buffer_restyled): Fix bug when quoting trigraphs. + * lib/xstrtol.h: Add xstrtoimax. + * lib/strtoumax.c: New file. Simply include "strtoumax.c". + * lib/strtoimax.c: New file. Likewise, but first define + STRTOUXMAX_SIGNED. -2002-11-22 Paul Eggert + * lib/strtoumax.c: Factor to work both for unsigned and signed types, + ... + * lib/strtoxmax.c: ... then renamed to this. - * lib/hash.c: Avoid use of , as the GNU Coding Standards - hint that one should use `if (! x) abort ();' rather than `assert - (x);', and anyway it's one less thing to worry about configuring. - (hash_lookup, hash_get_first, hash_get_next, hash_find_entry, - hash_rehash, hash_insert): Use abort rather than assert. +2001-08-18 Paul Eggert -2002-11-22 Bruno Haible + * m4/inttypes.m4: Add AC_PREREQ(2.13). + (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too. + (jm_AC_TYPE_INTMAX_T): New macro. + (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4. - * lib/safe-read.h: Assume C89. Add comments. - (safe_read): Change return type to size_t. - * lib/safe-read.c (safe_read): Change return type to size_t. Handle - byte counts > SSIZE_MAX correctly. - * lib/safe-write.h: New file. - * lib/safe-write.c: New file. - * lib/full-read.h: New file. - * lib/full-read.c: New file. - * lib/full-write.h: Assume C89. Add comments. - * lib/full-write.c: Include safe-write.h. - (full_write): Rewritten to use safe_write. - Suggested by Jim Meyering and Paul Eggert. + * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro. -2002-11-21 Jim Meyering + * m4/longlong.m4: Renamed from ulonglong.m4. + * m4/inttypes.m4: Renamed from inttypes_h.m4. + * m4/uintmax_t.m4: Removed. - * lib/strdup.c (strdup): Tweak comment and initial #if/#include. +2001-08-13 Paul Eggert - Merge in changes from the coreutils. + * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice. + Port to Solaris 8, where 'sed' requires a space after the 'r' + command, and where sh dislikes "$/". Clean up the spacing a bit. + Redirect output to $tmp just once. - 2002-09-25 Paul Eggert - * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include - . - (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro. - (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than - int. Work more efficiently if X is the same width as uintmax_t. - Do not compare X to -1, to avoid bogus compiler warning. - (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast. - Don't assume that f_frsize and f_bsize are the same type. +2001-08-12 Paul Eggert - * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid - warning on FreeBSD. + * lib/addext.c (): Include. + (errno): Declare if not defined. + (addext): Work correctly when pathconf returns -1 and leaves + errno alone because there is no limit. Also, work even if + pathconf returns a value greater than SIZE_MAX. - * lib/makepath.c (make_path): Restore umask *before* creating the final - component. - (make_path): Minor reformatting. +2001-08-12 Jim Meyering - * lib/xmalloc.c: Adjust to work with new autoconf macros, - AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef - HAVE_MALLOC/HAVE_REALLOC. + * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4, + d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4, + fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4, + group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4, + jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4, + link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4, + mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4, + prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4, + rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, + strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4, + utime.m4, utimes.m4, xstrtoumax.m4: + Quote the first argument in each use of AC_DEFUN. - * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as - dummy ones. At least on GNU/Linux systems, `auto' means something - else. - From Michael Stone. +2001-08-12 Jim Meyering -2002-11-21 Bruno Haible + * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]: + Simply `return getcwd (NULL, 0);'. + [! (defined __GLIBC__ && __GLIBC__ >= 2)]: + Use 1300 as initial value for length, not PATH_MAX. - Remove case insensitive option matching. - * lib/argmatch.h (argcasematch): Remove declaration. - (ARGCASEMATCH): Remove macro. - (__xargmatch_internal): Remove case_sensitive argument. - (XARGMATCH): Update. - (XARGCASEMATCH): Remove macro. - * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove - case_sensitive argument. - (argcasematch): Remove function. - (__xargmatch_internal): Remove case_sensitive argument. - (main): Use XARGMATCH instead of XARGCASEMATCH. + * lib/pathmax.h: Clean up cpp syntax. - * lib/xmalloc.c: Change compile-time error message. Add comment about - required autoconf version. +2001-08-12 Jim Meyering -2002-11-20 Paul Eggert + * lib/gettimeofday.c: New file. + * lib/gtod.h: New file. + * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h. - Merge argmatch cleanups from Bison. Assume C89. +2001-08-05 Jim Meyering - * lib/argmatch.c: Include config.h here, not in argmatch.h. - Include stdlib.h, for EXIT_FAILURE. - Always include , since we assume C89. - (EXIT_FAILURE): Remove pre-C89 bug workaround. - * lib/argmatch.h: Do not include or . - Include instead, since it's all we need for size_t. - (PARAMS): Remove. All uses removed. - (ARRAY_CARDINALITY): Do not bother to #undef. - (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg, - ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH): - Remove unnecessary parentheses. - (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH): - Insert necessary parentheses. - (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros. - (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT. + * m4/jm-macros.m4: Require autoconf-2.52. -2002-11-19 Bruno Haible +2001-08-04 Jim Meyering - * lib/mbswidth.c: Include mbswidth.h right at the beginning. - * lib/mbswidth.h: Include , for size_t. + * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if + stmt, to get in sync with glibc. - * lib/mbswidth.h (PARAMS): Remove macro. - (mbswidth, mbsnwidth): Use ANSI C function declarations. - * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise. +2001-08-03 Paul Eggert - * lib/gcd.h (PARAMS): Remove macro. - (gcd): Use ANSI C function declarations. - * lib/gcd.c (gcd): Likewise. + The following changes are from gettext 0.10.39 as maintained by + Bruno Haible. -2002-11-15 Bruno Haible + * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID): + Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID + with inverted sense. All uses changed. - * lib/strcspn.c: Include . - (strcspn): Use ANSI C function declaration. Change return type to - size_t. Use NULL. - * lib/strpbrk.c: Minimize diffs to glibc. Include . - (strpbrk): Use NULL. - * lib/strpbrk.h (PARAMS): Remove macro. - (strpbrk): Use ANSI C function declaration. - * lib/strstr.c: Don't include . - * lib/strstr.h (PARAMS): Remove macro. - (strstr): Use ANSI C function declarations. + * lib/mbswidth.c: Don't include . + Include and unconditionally. + (iswcntrl, mbsinit, ISCNTRL): New macros. + (mbsnwidth): Use K&R style function declarations. + Don't bother checking for MB_LEN_MAX == 1, since the compiler + can optimize it when MB_CUR_MAX == 1. + The width of control characters is zero, not 1. -2002-11-14 Karl Berry +2001-08-03 Paul Eggert - * config/mkinstalldirs: `do' on separate line, instead of - `for var; do'. + The following changes are from gettext 0.10.39 as maintained by + Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ. -2002-11-06 Bruno Haible + * m4/codeset.m4: Upgrade to serial AM1. + (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET; + all uses changed. Quote first arg of AC_DEFUN. + (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset. - * lib/gcd.h (gcd): Change argument type to 'unsigned long'. - * lib/gcd.c (gcd): Likewise. + * m4/iconv.m4: Upgrade to serial AM2. + (AM_ICONV): Renamed from jm_ICONV; all uses changed. + Add --with-libconv-prefix. + Quote first arg of AC_DEFUN. Add description for ICONV_CONST. + (am_cv_func_iconv): Renamed from jm_cv_func_iconv. + (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv. + (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv. + * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings. -2002-11-05 Bruno Haible + * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN. + * m4/getline.m4 (AM_FUNC_GETLINE): Likewise. + * m4/glibc21.m4 (jm_GLIBC21): Likewise. + * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise. + * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise. + * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise. + * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise. + * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise. + * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise. - * lib/gcd.h: New file, from gettext-0.11.5. - * lib/gcd.c: New file, from gettext-0.11.5. + * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for + string.h any more. -2002-11-05 Bruno Haible + * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no", + not the default value. - * lib/error.c [!_LIBC]: Include gettext.h instead of . - * lib/getopt.c [!_LIBC]: Include gettext.h instead of . - * lib/obstack.c [!_LIBC]: Include gettext.h instead of . - * lib/regex.c [!_LIBC]: Include gettext.h instead of . + 2001-06-25 Bruno Haible + * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES. + Also check for mbsinit. Needed for SCO 3.2v5.0.2. + Also include ; this is where AIX 3.2.5 declares wcwidth. + Also check for iswcntrl, used for wcwidth fallback. + Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability + to Autoconf 2.13. - * lib/argmatch.c: Include gettext.h instead of and - . - * lib/makepath.c: Include gettext.h instead of and - . +2001-08-03 Jim Meyering - * lib/closeout.c: Include gettext.h instead of . - * lib/human.c: Include gettext.h instead of . - * lib/quotearg.c: Include gettext.h instead of . - * lib/rpmatch.c: Include gettext.h instead of . - * lib/unicodeio.c: Include gettext.h instead of . - * lib/userspec.c: Include gettext.h instead of . - * lib/version-etc.c: Include gettext.h instead of . - * lib/xmalloc.c: Include gettext.h instead of . - (textdomain): Remove definition. - * lib/xmemcoll.c: Include gettext.h instead of . + * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include', + as it was in the original. Reported by Paul Eggert. - * lib/long-options.c: Remove include of and definition of - _. - * lib/same.c: Remove include of and definition of _. +2001-07-16 Jim Meyering -2002-11-04 Owen Taylor + * m4/gettimeofday.m4: New file. + Prompted by a report from Bernhard Baehr. - * lib/config.charset: A few additions for Solaris. +2001-07-15 Jim Meyering -2002-11-04 Bruno Haible + * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h + stuff. Now it's in ../Makefile.cfg. - Make it possible to build libcharset with CC=gcc CFLAGS="-x c++". - * lib/localcharset.c (locale_charset): Declare as extern "C". +2001-07-15 Jim Meyering -2002-11-04 Bruno Haible + * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin. + (BUILT_SOURCES): Add unlocked-io.h. + (io_functions): Define. + (unlocked-io.h): New rule. + (DISTCLEANFILES): Add unlocked-io.h. + (all-local): Depend on unlocked-io.h, to ensure it is created. - * lib/config.charset: msdos in uk_UA uses CP1125. + * lib/unlocked-io.hin: New file -2002-11-04 Bruno Haible + * lib/regex.c: Update from glibc. - * lib/stpcpy.h: New file, from GNU gettext-0.11.5. - * lib/strcase.h: New file, from GNU gettext-0.11.5. - * lib/strpbrk.h: New file, from GNU gettext-0.11.5. - * lib/strstr.h: New file, from GNU gettext-0.11.5. - * lib/xgetcwd.h: New file, from GNU gettext-0.11.5. +2001-07-05 Jim Meyering -2002-11-04 Bruno Haible + * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake + recommendation. + (libfetish_a_SOURCES): Put all .h files here instead. + Remove a thus-exposed (better checks in automake) duplicate and + two unnecessary .h files. - * lib/localcharset.c (locale_charset): Don't return an empty string. +2001-07-04 Jim Meyering -2002-11-04 Bruno Haible + * m4/Makefile.am.in (glibc-io.struct): New target. Rework the code + that generates jm-glibc-io.m4 so that it doesn't trigger any make + distcheck failure. - * lib/localcharset.c (get_charset_aliases): Add more Windows specific - aliases. +2001-07-02 Jim Meyering -2002-11-04 Bruno Haible + The following changes were prompted by suggestions from Bruno Haible. - * lib/config.charset: Update for newest glibc. Add canonical names - ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS. + * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4 + is now generated. + * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted + definition of EXTRA_DIST. + (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to + ensure that the generated file is created/updated whenever the list + of $(unlocked_functions) is changed. + (jm-glibc-io.m4): New rule. + (unlocked-io.h): New rule -- currently unused. -2002-11-04 Bruno Haible +2001-06-24 Jim Meyering - * lib/config.charset: Add support for NetBSD. + * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an + unmatched right bracket, rather than kludging it with an extra, + falsely-matching quote in a comment. Patch by Akim Demaille. -2002-11-04 Bruno Haible +2001-06-11 Jim Meyering - * lib/config.charset [msdosdjgpp]: For Russian, use CP866. + * lib/regex.c: Update from GNU libc. -2002-11-01 Bruno Haible +2001-05-27 Jim Meyering - * configure.in: Add AC_CONFIG_AUX_DIR call. - (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile, - test/Makefile. - * Makefile.in (subdirs): Add m4, lib. Remove doc, test. + * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx. + Check for ut_type in struct utmp. -2002-09-28 Karl Berry +2001-05-27 Jim Meyering - * config/srclist.txt: can't copy install-sh/mkinstalldirs from - installed automake until the next release, since changes have been - made. + * lib/readutmp.h (UT_TYPE): Define. -2002-09-25 Karl Berry +2001-05-24 Jim Meyering - * lib/strdup.c: copy from libc/string (via ../config/srclist*). - * lib/getopt*: copy from libc/posix. - * lib/gettext.h: copy from gettext. - * lib/.cppi-disable: add strdup.c, gettext.h. + * lib/argmatch.c: Include "quote.h". + (argmatch_invalid): Remove explicit `' quotes. Instead, use the + quote function. Reported by Göran Uddeborg. -2002-09-25 Karl Berry +2001-05-22 Jim Meyering - * config/srclist.txt: enable gettext.h check. - * config/config.{guess,sub}: update from prep. - * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update - from automake 1.6.3. - See srclist*. + * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime), + now that we use the package-supplied version unconditionally. + (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason. -2002-08-23 Stefan Monnier +2001-05-21 Jim Meyering - * regex.c (PATFETCH): Remove the translating fetch. - (PATFETCH_RAW): Rename to PATFETCH. - (set_image_of_range): New fun. - (SET_RANGE_TABLE_WORK_AREA): Use it. - (regex_compile): Don't translate the pattern chars so eagerly. - Only do it when inserting an `exactn' bytecode or when handling - a char-range. - (mutually_exclusive_p): Avoid empty statement. + * m4/regex.m4: Change a couple backticks to single quotes to avoid + shell syntax errors. -2002-07-06 Jim Meyering +2001-05-21 Alexandre Duret-Lutz - * m4/README: Don't mention Makefile.am.in. - Outline how I've tested changes to .m4 files. Yep, it's a pain. + * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__. -2002-07-01 Jim Meyering +2001-05-20 Paul Eggert - * lib/c-stack.c: Include sys/time.h. - From Volker Borchert. + * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): + Don't bother to check library strftime, since + we'll be using our own my_strftime function anyway. + Define my_strftime instead of strftime. -2002-06-26 Paul Eggert +2001-05-20 Alexandre Duret-Lutz - * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc. + * lib/dirname.c (dir_name): Compute append_dot using path, not newpath + which is not yet declared. -2002-06-26 Paul Eggert +2001-05-15 Jim Meyering - * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT): - New macro. Use it uniformly instead of - (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H). - It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1 - reported by Vin Shelton. + * m4/regex.m4: Use proper quoting so brackets appear in the test + program. + Reported by, and with help from, Bruno Haible. -2002-06-22 Paul Eggert +2001-05-13 Jim Meyering - * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]: - Do not assume SA_SIGINFO behavior. - Bug reported by Jim Meyering on NetBSD 1.5.2. + * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if + undefined. -2002-06-22 Jim Meyering +2001-05-11 Paul Eggert - * m4/c-stack.m4: New file, from diffutils-2.8.2. - * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK. + dirname code cleanup. base_name now behaves more compatibly + with POSIX basename when given file names that have trailing + slashes, and similarly for dir_name. Add new primitives + base_len and dir_len. Put the directory-name-related decls + into dirname.h. - * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE, - now that configure.ac uses AC_GNU_SOURCE. - (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU. - * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH. + * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h. + * lib/backupfile.c (base_name): Likewise. + * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise. + * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise. + * lib/makepath.c (strip_trailing_slashes): Likewise. + * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN, + ISSLASH): Likewise. + * lib/rename.c (strip_trailing_slashes): Likewise. + * lib/same.c (base_name): Likewise. + * lib/stripslash.c (ISSLASH): Likewise. - Update to latest tools. Suggestions from Paul Eggert. - * m4/stdbool.m4: New file, from diffutils-2.8.2. - * m4/gnu-source.m4: Update from diffutils-2.8.2. - * m4/fnmatch.m4: Likewise. - * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h) - to AC_HEADER_STDBOOL + * lib/addext.c: Include after size_t is defined. + * lib/backupfile.c: Likewise. -2002-06-22 Jim Meyering + * lib/addext.c (addext): Use base_len to trim redundant + trailing slashes instead of doing it ourselves. + But do not trim the last slash if it is not redundant. - * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about - redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h. + * lib/backupfile.c (find_backup_file_name, + max_backup_version): Use base_len instead of rolling it ourselves. + Handle the case of "" and (on DOS) "C:" correctly. -2002-06-22 Jim Meyering + * lib/basename.c: Do not include , ; no longer + needed. Include , . + (base_name): Allow file names ending in slashes, other than names + that are all slashes. In this case, return the basename followed + by the slashes. This is more general, and can be used in places + where the original base_name purposely had an assertion failure. + (base_len): New function. - * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2. + * lib/dirname.c: Include instead of . + Do not include ; no longer needed. + Include xalloc.h. + (memrchr): Remove decl. + (dir_name_r): Remove. + (dir_len): Renamed from dirlen. All callers changed. + Rewrite in terms of base_name, for simplicity and consistency. + (dir_name): Never return NULL. All callers changed. + Do not include in test program; no longer needed. + return 0; is fine for test program. - * lib/exitfail.c, exitfail.h: Likewise. - * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h. + * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN): + New macros. + (base_name, base_len, dir_len, strip_trailing_slashes): New decls. - * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place - of fnmatch.h. - (EXTRA_DIST): Add fnmatch_loop.c. - (libfetish_a_SOURCES): Add c-stack.c and c-stack.h. + * lib/path-concat.c (path_concat): Use base_len to compute + base length, not strlen; this means we cannot rely on memcpy + to null-terminate. - * lib/fnmatch_loop.c: New file, from diffutils-2.8.2. - * lib/fnmatch.c: Update from diffutils-2.8.2. - * lib/fnmatch_.h: New file. From diffutils-2.8.2. - * lib/fnmatch.h: Remove file. + * lib/same.c (STREQ): Remove. + (same_name): Handle the case where the basename ends in trailing '/'. -2002-06-21 Jim Meyering + * lib/stripslash.c (strip_trailing_slashes): Return nonzero if + a slash was stripped. Do not strip the last slash after a + file system prefix. - * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2. - * m4/mbrtowc.m4: Likewise. +2001-05-11 Paul Eggert - * m4/mbstate_t.m4: Update from diffutils-2.8.2. - * m4/mbswidth.m4: Reflect name change: - s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T. - * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise. + * lib/Makefile.am (libfetish_a_SOURCES): + Add strftime.c, since we now compile it on all hosts. - * m4/lib-link.m4: Update from gettext-0.11.2. - * m4/gettext.m4: Likewise. + * lib/strftime.c (my_strftime): + Define to nstrftime if emacs, but only if my_strftime is not defined. + (extra_args, extra_args_spec, extra_args_spec_iso): Rename from + ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively. + Add one more extra argument: a nanoseconds value. + All uses changed. + (ns): New macro. + (my_strftime function): Add %N format. + (emacs_strftimeu): Renamed from emacs_strftime, + with extra ut argument. - * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h. - From Alfred M. Szmidt. +2001-05-09 Paul Eggert -2002-06-18 Paul Eggert + * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used. - * lib/file-type.h: Report an error if neither S_ISREG nor - S_IFREG is defined, instead of using a test specific to glibc - 2.2. This should be safe, since POSIX requires S_ISREG and - Unix Version 7 had S_IFREG. We don't need to check for - since we don't use any symbols that it defines. +2001-04-21 Jim Meyering -2002-06-15 Richard Dawe + * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask + doesn't interfere. - * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than - $@-t, so that each temporary file name is unique and valid in the first - 8 characters, for operation under DOS. +2001-04-21 Alexandre Duret-Lutz -2002-06-15 Paul Eggert + * m4/ftruncate.m4: Check for chsize. + Link with ftruncate.o unconditionally if ftruncate is missing. + This was required when cross-compiling to i586-mingw32msvc. - * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author. +2001-04-08 Jim Meyering -2002-06-15 Jim Meyering + * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is + recomputed; that's necessary when the offset spans a DST transition. + Patch by David J. MacKenzie. Reported by Hon-Yin Kok. - Work even with DJGPP 2.03, which lacks support for symlinks. - From Richard Dawe. - * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK - is defined. - * lib/lchown.c (S_ISLNK): Likewise. +2001-04-02 Jim Meyering -2002-06-15 Jim Meyering + * lib/regex.h, regex.c: Update from GNU libc. - * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef. - For GNU libc 2.2 and newer, ensure that and - have been included before this file. +2001-03-24 Jim Meyering -2002-06-14 Jim Meyering + * m4/jm-macros.m4: Require autoconf-2.49d. - * lib/file-type.h: Use the version from diffutils-2.8.2. - * lib/file-type.c: Likewise. +2001-03-20 Bruno Haible -2002-06-07 Jim Meyering + * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv. - * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h. - They're needed at least for NetBSD 1.5.2. - ($statxfs_includes): Include those same headers. - ($statxfs_includes): Include sys/vfs.h if available. - ($statxfs_includes): Likewise for sys/statvfs.h. - Check for the following members in both structs statfs and statvfs: - f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen. +2001-03-19 Paul Eggert -2002-06-01 Jim Meyering + * lib/version-etc.c (version_etc_copyright): Update to 2001. - * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro: - s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/. +2001-03-17 Jim Meyering -2002-05-28 Jim Meyering + * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP, + now that the version in autoconf is equivalent. + (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP. - * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'. - Reported by Volker Borchert. + * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R. + Suggestion from Akim Demaille. -2002-05-27 Jim Meyering + * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME. + (jm_PREREQ_TEMPNAME): New function. - Fix a problem seen only on nonconforming systems whereby ls.c's - use of localtime, and then of gettimeofday would cause trouble: - the localtime call used to initialize rpl_gettimeofday's save - mechanism would clobber ls's current local time information so - that in any long listing the first file would always be listed - with date 1970-01-01. Analysis by Volker Borchert. +2001-03-16 Paul Eggert - * lib/gettimeofday.c (localtime): Undefine. - (rpl_localtime): New function. + * lib/tempname.c (uint64_t): Define to uintmax_t if + not defined, and if UINT64_MAX is not defined. + Required at least for Vax Ultrix4.3, which doesn't define uint64_t. + Reported by John David Anglin. -2002-05-27 Jim Meyering +2001-03-15 Bruno Haible - * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace - localtime. + * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also + resolve alias if codeset is empty. + * lib/config.charset (BeOS): Use wildcard syntax. - * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to - use the replacement function; it wouldn't resolve at link time. - Reported by Volker Borchert. +2001-03-13 Jim Meyering -2002-05-22 Jim Meyering + * lib/path-concat.c (path_concat) + [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when + concatenating e.g., `C:' and `foo'. + From Bruno Haible. - * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and - file-type.h. - * lib/file-type.h: New file. - * lib/file-type.c (file_type): New file/function. Extracted from - diffutils. +2001-03-06 Bruno Haible -2002-04-30 Jim Meyering + * lib/localcharset.c (locale_charset): Don't use + setlocale(LC_CTYPE,NULL). Don't return NULL. + * lib/unicodeio.c (print_unicode_char): Simplify accordingly. - * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT. +2001-03-06 Bruno Haible -2002-04-29 Paul Eggert + * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add + support for DOS/DJGPP. - * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed. +2001-03-01 Paul Eggert -2002-04-29 Paul Eggert + * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system + lacks mkstemp. Compile our own tempname.c if we compile our own + mkstemp.c, as mkstemp relies on tempname. - * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h. - Do not check for alloca.h (no longer used) or stdbool.h (was never - used?). Add AM_C_PROTOTYPES since hard-locale.h uses it. +2001-03-01 Jim Meyering -2002-04-29 Paul Eggert + * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that + AH_VERBATIM really does output its argument verbatim. - * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1. +2001-02-28 Paul Eggert -2002-04-29 Jim Meyering + * lib/Makefile.am (libfetish_a_SOURCES): + Add dup-safer.c, fopen-safer.c. + (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h. - * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN. - * m4/prereq.m4: Add jm_PREREQ_STRNLEN. - Use AC_FUNC_STRNLEN here instead. + * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h: + * lib/unistd-safer.h: New files. - * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]). - With autoconf-2.53a, it's part of AC_PROG_CC. +2001-02-25 Paul Eggert -2002-04-28 Paul Eggert + The mkstemp replacement is taken from glibc 2.2.2, with some + portability fixes for use outside glibc, as follows: - * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str). - * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR. + * lib/tempname.c (struct_stat64): New macro. + (direxists, __gen_tempname): Use it. + This avoids a portability problem with Solaris 8. -2002-04-28 Paul Eggert + * lib/tempname.c (): Include if HAVE_CONFIG_H. + (, , ): + Include only if STDC_HEADERS || _LIBC. + (): Include only if HAVE_FCNTL_H || _LIBC. + (): Include only if HAVE_UNISTD_H || _LIBC. + (): Include only if HAVE_SYS_TIME_H || _LIBC. + (__set_errno): Define this macro if doesn't. + (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE): + Define these macros if doesn't. + (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR): + Define these macros if + doesn't. Ignore S_ISDIR if STAT_MACROS_BROKEN. + (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64, + __xstat64): Define if not _LIBC. + (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC). + (__gen_tempname): Invoke gettimeofday only if + HAVE_GETTIMEOFDAY || _LIBC; + otherwise, fall back on plain "time". + Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600. - * lib/sig2str.h, lib/sig2str.c: New files. - * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h. + * lib/mkstemp.c (__GT_FILE): Define to zero if not defined. -2002-04-28 Paul Eggert + * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2. - * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid - depending on and WTERMSIG. Default to 64 instead - of 127, since 64 is the largest conceivable number for ancient - nonstandard hosts. - * lib/sig2str.c: Do not include ; no longer needed. +2001-02-18 Paul Eggert -2002-04-28 Jim Meyering + * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h. - * lib/sig2str.c (WTERMSIG): Remove definition (unused). +2001-02-17 Paul Eggert -2002-04-24 Jim Meyering + * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC. + * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): + Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc). + * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise. - * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro. - (jm_PREREQ): Use it. +2001-02-17 Paul Eggert - * m4/getloadavg.m4: Check for these headers: locale.h unistd.h - mach/mach.h fcntl.h. - Check for this function: setlocale. + * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit): + Remove workaround macros for hosts that have mbrtowc but not + mbstate_t, as we now insist on proper declarations for both + before using mbrtowc. -2002-04-24 Jim Meyering +2001-02-17 Jim Meyering - * lib/gettext.h: New file, from Gettext. - * lib/Makefile.am (INCLUDES): Remove -I../intl. - (libfetish_a_SOURCES): Add gettext.h. + * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for + getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt + further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on + UnixWare 7.1.1. -2002-04-16 Jim Meyering + * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc., + rather than AC_CACHE_VAL. - * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members: - ut_pid, ut_id, ut_exit. +2001-02-17 Jim Meyering -2002-04-16 Jim Meyering + * lib/strtoul.c: Sync from GNU libc. Use double quotes, not <...> + around included file name. - * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c). - (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define. - (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define. + * lib/strnlen.c (__strnlen): Merge in a change from GNU libc. -2002-04-12 Jim Meyering + * lib/strftime.c: Update from GNU libc (the only changes were to + comments). - * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove - now-bogus check for f_type in sys/mount.h. Instead, just test for the - existence of the getmntinfo function. Needed for Darwin 5.3. +2001-02-17 Jim Meyering - * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro. - This is necessary at least on Darwin 5.3. + * lib/regex.c: Update from libc. - * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use - AC_FUNC_STRNLEN. Otherwise, we'd end up putting two copies of - strnlen.o in the library, and that makes some versions of ranlib - object. +2001-02-17 Bruno Haible -2002-04-12 Jim Meyering + * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype + clash. - * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro. +2001-02-16 Paul Eggert -2002-04-09 Jim Meyering + * lib/alloca.c (malloc): Undef before defining, since stdlib.h + may have defined it. Needed for Encore Umax-3.0.9.16b systems. + Reported by Mark Hounschell via Paul Eggert. - * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message - to be more precise. Rather than saying we're checking whether the - function `works', say what we're testing. - * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise. - Reported by Bruno Haible. +2001-02-07 Jim Meyering -2002-03-10 Jim Meyering + * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug. - * lib/makepath.c (make_path): Remove a comma from a diagnostic. - Suggestion from Santiago Vila. +2001-02-05 Jim Meyering -2002-03-08 Jim Meyering + * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because + it includes the patch required for `large file' support with at least + HP-UX's 10.20 /bin/cc. - * lib/rename.c: Mention that this wrapper is needed also on - mips-dec-ultrix4.4 systems. +2001-02-03 Jim Meyering -2002-03-02 Jim Meyering + * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of + AS_IF, now that it works once again (mysteriously). + * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise. - * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME, - not HAVE_CLOCK_SETTIME. +2001-01-30 Jim Meyering -2002-02-27 Paul Eggert + Don't use filenames that are 8.3-equivalent to "conftest" on DOS. + * m4/chown.m4: Rename conftestchown to conftest.chown. + * m4/rename.m4: s/conftestdir/conftest.d1/ and + s/conftestdir2/conftest.d2/. + * m4/utimes.m4: s/conftestdata/conftest.data/ + Inspired by Pavel Roskin's change in autoconf. - * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used. - Check for clock_settime. +2001-01-30 Bruno Haible -2002-02-27 Paul Eggert + * lib/config.charset: Update for FreeBSD 4.2. - * lib/nanosleep.h: Rename to.... - * lib/timespec.h: New name for nanosleep.h. All uses changed. +2001-01-27 Jim Meyering - * lib/gettime.c: New file. - * lib/settime.c: New file. - * lib/stime.c: Remove. + * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was + a use of AS_IF. + * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise. - * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c, - timespec.h. Remove nanosleep.h. +2001-01-26 Jim Meyering -2002-02-25 Paul Eggert + * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that + quotearg.c includes it. - * m4/acl.m4: New file. - * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL. - Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now. +2001-01-26 Jim Meyering -2002-02-25 Paul Eggert + * lib/quotearg.c: Include stddef.h. + * lib/quote.c: Include stddef.h. + Reported by Axel Kittenberger. - * lib/acl.c, lib/acl.h: New files. - * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c. + * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking + line in double quotes so that it evokes a better diagnostic. + [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise. + Reported by Axel Kittenberger. -2002-02-24 Jim Meyering +2001-01-24 Stefan Monnier - * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent - prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't - cause trouble. Reported by Nelson Beebe. + * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not' + as if it was a `charset'. -2002-02-23 Paul Eggert +2001-01-21 Bruno Haible - * lib/path-concat.c (xpath_concat): Reorder code to pacify - compilers that don't know that xalloc_die never returns. + * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration + has const. -2002-02-20 Jim Meyering +2001-01-21 Bruno Haible - * lib/getdate.c: Regenerate using bison-1.33. + * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg, + to avoid a warning. Add back 'const' to inptr. -2002-02-17 Jim Meyering +2001-01-20 Jim Meyering - * config/config.guess (main): Don't use `head -1'; it's no longer - portable. Use `sed 1q' instead. + Be sure that headers are checked before used in code compiled + for the type checks. + * m4/jm-macros.m4 (jm_MACROS): Remove all header checks. + In place of that, invoke jm_CHECK_ALL_TYPES. + (jm_CHECK_ALL_HEADERS): New functions with the above checks. + (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS. + Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES; + The check for ssize_t was mistakenly run before the test for unistd.h. -2002-02-16 gettextize + The configure-time check for stdbool.h was missing. + * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH. + (jm_PREREQ_HASH): New function. - * m4/codeset.m4: Upgrade to gettext-0.11. - * m4/gettext.m4: Upgrade to gettext-0.11. - * m4/glibc21.m4: Upgrade to gettext-0.11. - * m4/iconv.m4: Upgrade to gettext-0.11. - * m4/isc-posix.m4: Upgrade to gettext-0.11. - * m4/lcmessage.m4: Upgrade to gettext-0.11. - * m4/lib-ld.m4: New file, from gettext-0.11. - * m4/lib-link.m4: New file, from gettext-0.11. - * m4/lib-prefix.m4: New file, from gettext-0.11. - * m4/progtest.m4: Upgrade to gettext-0.11. +2001-01-17 Jim Meyering -2002-02-15 Paul Eggert + * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE, + for autoconf-2.49c. + * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise. - * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro. - (jm_PREREQ): Use it. +2001-01-16 Jim Meyering -2002-02-15 Paul Eggert + * lib/basename.c: Include , needed by assert on SunOS 4. + From Bruno Haible. - * lib/posixver.c, lib/posixver.h: New files. - * lib/Makefile.am (libfetish_a_SOURCES): Add them. +2001-01-14 Jim Meyering -2002-02-02 Paul Eggert - Bruno Haible + * m4/rename.m4: Use temporary directories named conftestdir{,2}, not + foo and bar. Create conftestdir/ in the script, not in the C code. + Remove directories in the script, not in the C code. + Remove conftestdir{,2} before trying to create the directory. + Make the entire configure script fail if the mkdir fails. - * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument. - (fwrite_success_callback): New declaration. - * lib/unicodeio.c (unicode_to_mb): New function, extracted from - print_unicode_char. Call failure callback instead of error. - (fwrite_success_callback): New function. - (exit_failure_callback): New function. - (fallback_failure_callback): New function. - (print_unicode_char): Call unicode_to_mb. +2001-01-14 Jim Meyering -2002-01-26 Jim Meyering + * lib/rename.c: New file. From Volker Borchert. + Include stdlib.h, string.h or strings.h, and xalloc.h. + Use strip_trailing_slashes rather than open-coding it. - * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g. - * m4/strnlen.m4: Remove file, now that it's part of autoconf. +2001-01-03 Paul Eggert -2002-01-26 Jim Meyering + * lib/strftime.c: Sync with glibc time/strftime.c 1.81. - * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h. +2001-01-03 Jim Meyering -2002-01-22 Paul Eggert + * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration + of local `inptr' to avoid warning with some system declarations of + iconv. - * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO. +2001-01-02 Volker Borchert -2002-01-22 Jim Meyering + * m4/rename.m4: New file. + * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME. - * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES). - Otherwise, some versions of automake would omit the rule that makes - Makefile from Makefile.in. +2001-01-01 Jim Meyering -2002-01-21 Paul Eggert + * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available), + even on systems with utmpx.h. It's necessary for the declaration of + utmp's ut_user member. Reported by Andreas Jaeger. - * lib/xmemcoll.h, lib/xmemcoll.c: New files. - * lib/Makefile.am (libfetish_a_SOURCES): Add them. - * lib/memcoll.c: Include errno.h, and declare errno if not defined. - (memcoll): Set errno to zero if there is no error. + * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if + available. They are required for the declarations of getgrgid and + getpwuid resp. + (_jm_DECL_HEADERS): Check for grp.h and pwd.h. + Reported by Andreas Jaeger. - * lib/quotearg.c (quotearg_buffer_restyled): - Fix bug with quoting buffers containing NUL when backslashing escapes. - This bug was exposed by the other changes in this patch. - (quotearg_n_options): New arg ARGSIZE. - All callers changed. - (quoting_options_from_style): New function. - (quotearg_n_style): Use it. - (quotearg_n_style_mem): New function. +2001-01-01 Alexandre Duret-Lutz - * lib/quotearg.h (quotearg_n_style_mem): New function. + * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by + expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN, + so `make install' also works in VPATH builds. -2002-01-19 Jim Meyering +2000-12-31 Alexandre Duret-Lutz - * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN. - Remove useless quotes: DF_PROG="df". - * m4/strnlen.m4: New file. + * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR, + prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it + can be used in subdirectories. -2002-01-16 Paul Eggert +2000-12-29 Paul Eggert - * lib/backupfile.c (ISDIGIT): Comment fix. - * lib/getdate.y (ISDIGIT): Likewise. - * lib/posixtm.c (ISDIGIT, year): Likewise. - * lib/strverscmp.c (ISDIGIT): Likewise. - * lib/userspec.c (ISDIGIT): Likewise. + * lib/modechange.c: Do not assume that mode_t uses the + traditional octal encoding. E.g. "chmod 1 FOO" should set + the other-execute bit of FOO even if S_IXOTH != 1. -2002-01-16 Jim Meyering + (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH, + WOTH, XOTH, ALLM): New macros. + (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR, + S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH): + Use them. + (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID. + (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above. + (mode_compile): + No need to use uintmax_t; unsigned long is long enough. + Don't bother to get suffix since we don't use it. - * lib/getdate.y: Add three semicolons, each just before a closing - brace. Bison (as of version 1.31) no longer papers over that mistake. +2000-12-26 Jim Meyering -2002-01-05 Jim Meyering + * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work + better with autoheader. - * lib/version-etc.c (version_etc_copyright): Update copyright year. +2000-12-24 Jim Meyering -2001-12-19 Paul Eggert + * lib/hash.c (is_prime): Return explicit boolean values. + (hash_get_first): Return NULL to appease Irix5.6's 89. + Reported by Nelson Beebe. - * lib/closeout.c (close_stdout_status): If ferror (stdout), do - not silently exit merely because the output buffer happens to - have nothing pending. +2000-12-19 Bruno Haible -2001-12-18 Paul Eggert + * lib/localcharset.c (locale_charset): Add support for Win32. - See the big note in ../ChangeLog. - * lib/human.c (suffixes): Prefer K to k for 1024. - (generate_suffix_backwards): New function. - (human_readable_inexact): Use it. - * lib/xstrtol.c (__xstrtol): If there is no number but there - is a valid suffix, assume 1. "MB" now means decimal, "MiB" binary. - Accept 'K' as well as 'k'. +2000-12-18 Paul Eggert -2001-12-15 Jim Meyering + * lib/physmem.h, lib/physmem.c: New files. - * lib/regex.h (__restrict_arr): Update from libc. + * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c. + (noinst_HEADERS): Add physmem.h. - * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs - as `remote' if the name starts with `//'. Suggested by Michael Stone. - (STREQ): Define. + * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and + 't' for compatibility with Solaris 8 sort. -2001-12-14 Jim Meyering +2000-12-18 Bruno Haible - * m4/jm-macros.m4 (jm_MACROS): Check for iswspace. - Suggestion from Bruno Haible. + * lib/config.charset: Add support for BeOS. -2001-12-10 Jim Meyering +2000-12-17 Jim Meyering - * lib/linebuffer.c: Remove explicit declarations of xmalloc and - xrealloc, Instead, include "xalloc.h". - (initbuffer): Don't cast xmalloc return value to char*. - (readline): Reword comment. - Don't cast xrealloc return value to char* - Return NULL, not 0. + * m4/dos.m4 (jm_AC_DOS): New file and macro. + * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS. -2001-12-09 Jim Meyering +2000-12-16 Jim Meyering - * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning - about `signed and unsigned type in conditional expression'. - * lib/posixtm.c (posix_time_parse): Likewise. + This bug had a serious impact on chown: `chown N:M FILE' (for integer + N and M) would have treated it like `chown N:N FILE'. - * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning. + * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/. - * lib/readtokens.c (readtoken): Declare an index to be of type unsigned - to avoid a pedantic warning. +2000-12-16 Jim Meyering - * lib/getstr.c: Don't include assert.h. - (getstr): Remove warning-evoking assertions. - Return -1 if offset parameter is out of bounds. - Change the type of a local from int to size_t. + * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define + SHELLS_FILE to a file name that's useful on djgpp systems. + Include stdlib.h. + (ADDITIONAL_DEFAULT_SHELLS): Define. + (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS. + Based mostly on a patch from Prashant TR. - * lib/strftime.c (my_strftime_localtime_r): Include this function - definition in the `#if ! HAVE_TM_GMTOFF' block. +2000-12-16 Bruno Haible - * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc. - Include xalloc.h instead. + * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB, + VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256, + CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312. -2001-12-02 Jim Meyering +2000-12-08 Andreas Schwab - * lib/tempname.c: Don't declare getenv, thus reverting the change of - 2001-11-18. It's no longer necessary, now that stdlib.h is always - included. + * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an + invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set. - * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded, - __unbounded, and __ptrvalue. Reported by Uwe H. Steinfeld. +2000-12-07 Jim Meyering -2001-11-30 Akim Demaille + * lib/stripslash.c (ISSLASH): Define. + (strip_trailing_slashes): Use ISSLASH rather than comparing against + `/'. + From Prashant TR. - * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared - before being defined. + * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define. + (dir_name_r): Declare this function as static. + [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd + manifest itself on a name containing a mix of slashes and + backslashes. + Make this function work with names starting with a DOS-style + drive letter and colon prefix. + (dir_name): Append `.' if necessary. + Based mostly on patches from Prashant TR and Eli Zaretskii. -2001-11-27 Paul Eggert + * lib/dirname.h (dir_name_r): Remove prototype. - * lib/quotearg.h (quotearg_n, quotearg_n_style): - First arg is int, not unsigned. - * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise. - (SIZE_MAX, UINT_MAX): New macros. - (quotearg_n_options): Abort if N is negative. - Avoid overflow check on hosts where size_t is 64 bits and int - is 32 bits, as overflow is impossible there. - Fix off-by-one typo that caused unnecessary reallocation. +2000-12-06 Paul Eggert -2001-11-27 Jim Meyering + * m4/off_t-format.m4: Remove this file. + * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT. - * lib/tempname.c: Merge with version from libc. - * lib/regex.c: Likewise. +2000-12-06 Jim Meyering - * lib/tempname.c: Include stdlib.h unconditionally. On some old - systems for which STDC_HEADERS is 0, it was not included, resulting in - a warning about an integer-to-pointer conversion problem with getenv. - Reported by Volker Borchert. + * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the + replacement strtoull, we may well need the replacement strtoul, too. + Check for declarations of strtoul and strtoull. + Check for strtol. Mainly as a cue to cause automake to include + strtol.c -- that file is included by each of strtoul.c and strtoull.c. + Check for limits.h -- strtol.c needs it. -2001-11-26 Jim Meyering +2000-12-05 Jim Meyering - * lib/gtod.h: Remove file. - * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h. - * lib/gettimeofday.c: Don't include gtod.h. - (GTOD_init): Remove function. - (rpl_gettimeofday): Do its job here instead, rather than aborting. - Suggestion from Volker Borchert. + * lib/dirname.c (dir_name_r): Add `const' in a few local declarations. -2001-11-23 Jim Meyering +2000-12-04 Jim Meyering - * lib/hash.h (struct hash_table): Don't define here. Merely declare - it. - * lib/hash.c (struct hash_table): Define it here instead. + * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc. + Also include memory.h, stdlib.h, unistd.h if appropriate. + Reported by Andreas Jaeger (conflicting declaration of malloc). -2001-11-22 Jim Meyering +2000-12-02 Jim Meyering - * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif. + * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro. + * m4/jm-macros.m4 (jm_MACROS): require it. -2001-11-20 Jim Meyering +2000-12-02 Jim Meyering - * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that - SunOS 4.1.4 and Solaris 2.5.1 lose, too. + * lib/closeout.h: Make idempotent, to avoid some obscure warnings. -2001-11-19 Jim Meyering +2000-12-01 Paul Eggert - * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary - directory. Use "conftestXXXXXX" as the template. - Suggestion from Paul Eggert. + * lib/memrchr.c: Include before any system include file. - * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor - immediately, so the test doesn't mistakenly hit the max-open-files - limit. +2000-11-30 Jim Meyering -2001-11-18 Paul Eggert + * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h. - * lib/tempname.c (TMP_MAX): Remove; no longer needed. - (TEMPORARIES): New macro. - (__gen_tempname): Use TEMPORARIES rather than TMP_MAX. This - removes an artificial limitation (e.g. HP-UX 10.20, where - TMP_MAX is 17576). +2000-11-30 Jim Meyering -2001-11-18 Jim Meyering + * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf. - * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv. +2000-11-29 Paul Eggert -2001-11-18 Jim Meyering + * lib/dirname.c (dir_name_r): Fix typo: int -> size_t. - * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning - on SunOS 4. +2000-11-26 Jim Meyering - * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those - files will be created before anything else. + * lib/memcoll.c: Include sys/types.h. From Werner Almesberger. -2001-11-17 Paul Eggert +2000-11-22 Paul Eggert - * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define - WINSIZE_IN_PTEM if defines struct winsize. + * lib/strftime.c (my_strftime): Do not invoke mbrlen with a + size of (size_t) -1; it's not portable. -2001-11-17 Jim Meyering +2000-11-17 Jim Meyering - * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro. - Prompted by a report from Bob Proulx. + * lib/strstr.c: Update from GNU libc. - * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here. - Instead, require UTILS_FUNC_MKSTEMP. +2000-11-17 Akim Demaille -2001-11-17 Jim Meyering + * lib/obstack.h: Formatting changes. + (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would + prevent type checking. + (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't + cast the value to (void *): assigning a `foo *' to a `void *' + variable is valid. + (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int. - * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM. - Now, that's done as part of AC_FUNC_STRTOD. +2000-11-16 Jim Meyering -2001-11-17 Jim Meyering + * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc. - * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26 - that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable - rather than group writable. Patch by Juan F. Codagnone. +2000-11-11 Jim Meyering - * lib/readtokens.c: Remove explicit declarations of xmalloc and - xrealloc, Instead, include "xalloc.h". + * lib/error.c: Add a couple #includes, merging from GNU libc version. - * lib/mountlist.c: Include unlocked-io.h after all system headers. - Remove explicit declarations of xmalloc, xrealloc, - and xstrdup. Instead, include "xalloc.h". +2000-11-10 Jim Meyering - * lib/argmatch.c, closeout.c, error.c, exclude.c: Include - unlocked-io.h. - * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c: - Likewise. - * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise. + * lib/obstack.h: Update from GNU libc. + * lib/obstack.c: Likewise. - * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise. - Reported by Padraig Brady. +2000-11-08 Bruno Haible - * lib/mkstemp.c: #undef mkstemp. - Include config.h. - (rpl_mkstemp): Rename from mkstemp. - Protoize. + * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb. -2001-11-16 Jim Meyering +2000-11-06 Paul Eggert - * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include . - (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to - determine the amount of total physical memory, use pstat_getstatic. - HPUX-11 doesn't define _SC_PHYS_PAGES. - (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]: - If sysconf couldn't be used to determine the amount of available - physical memory, use both pstat_getstatic and pstat_getdynamic. - Based on a patch from Bob Proulx. + * lib/getusershell.c (setusershell): Use rewind rather than + fseek/fseeko, to avoid configuration hassles with fseeko. + Don't bother opening SHELLS_FILE if shellstream is NULL; + it's not necessary. -2001-11-10 Jim Meyering +2000-11-05 Jim Meyering - * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function. - (jm_PREREQ): Use it. + * lib/makepath.h (make_dir): Declare. + * lib/makepath.c (make_dir): Remove `static' attribute. + Tweak a comment. -2001-11-09 Jim Meyering +2000-11-04 Jim Meyering - * m4/jm-macros.m4: Require autoconf-2.52f. - (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD): - Use these AC_-prefixed names, not the AM_-prefixed ones. + * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'. - * m4/afs.m4 (jm_AFS): Quote the body. Patch by Akim Demaille. +2000-11-04 Alexandre Duret-Lutz -2001-11-05 Jim Meyering + * lib/hash.c (hash_get_next): Fix a thinko: when ENTRY is the + last one in a bucket, advance to the next bucket. - * lib/xstat.in (slash_aware_lstat): Correct a misleading comment. +2000-11-02 Vesselin Atanasov -2001-11-04 Jim Meyering + * lib/fnmatch.c: Do not comment out all the code if we are using + the GNU C library, because in some cases we are replacing buggy + code in the GNU C library itself. - * m4/fpending.m4: Remove unused cruft that saved, set, and restored - $DEFS. +2000-10-30 Stefan Monnier -2001-11-03 Jim Meyering + * regex.c (re_iswctype, re_wctype_to_bit): Fix braino. + (regex_compile): Catch bogus \(\1\). - * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg - of AC_DEFUN. +2000-10-30 Paul Eggert - * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to - know the name of the variable in the macro definition. + * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned. + (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs, + e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero. -2001-11-03 Jim Meyering +2000-10-30 Paul Eggert - * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args - in argmatch_to_argument call. + * lib/error.h, getline.h, modechange.h: + Remove "2000" from Copyright line, as the file hasn't been + changed this year other than in the copyright notice. - * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an - argument. + * lib/xalloc.h: Add "2000" to Copyright line, as this file + was changed this year. - * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or - e.g., a fault due to an attempt to free a NULL pointer. +2000-10-29 Jim Meyering -2001-11-01 Jim Meyering + * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf + renaming. + * m4/ls-mntd-fs.m4: Likewise - * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro. - * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD. +2000-10-29 Jim Meyering -2001-11-01 Jim Meyering + * lib/xstat.in: Fix grammar in comment. - * lib/dirfd.c, lib/dirfd.h: New files. - * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h. +2000-10-29 Greg Louis - * lib/hash.c (hash_print) [TESTING]: Clean up. + * lib/regex.h (__restrict_arr): Move definition out of #ifndef block. + Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but + doesn't define __restrict_arr. -2001-10-22 Paul Eggert +2000-10-28 Jim Meyering - * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__, - to avoid a warning if -Wall. + * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR. + (jm_PREREQ_MEMCHR): New function. -2001-10-22 Jeff Bailey +2000-10-28 Jim Meyering - * README: New file - * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi - (per RMS's instructions, this is now the canonical source) - * lgpl/, gpl/: New directories. + * lib/memchr.c: Update from libc. + Adjust for portability: + [HAVE_STDLIB_H]: Include stdlib.h. + [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h. + Undef __memchr, too. + [!weak_alias]: Define __memchr to memchr. -2001-10-21 Paul Eggert + * lib/regex.c: Update from libc. + * lib/regex.h: Likewise. + * lib/getopt1.c: Likewise. + * lib/memcmp.c: Likewise. - * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job. + * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko. + Avoid using fseek, when possible -- it's broken by design. + Patch by Ulrich Drepper. -2001-10-21 Jim Meyering +2000-10-27 Stefan Monnier - * lib/obstack.c (_): Honor the setting of ENABLE_NLS. Otherwise, - this code would end up calling gettext even in packages built - with --disable-nls. - * lib/getopt.c (_): Likewise. - * lib/regex.c (_): Likewise. + * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal) + (re_match_2_internal, re_match_2_internal, re_match_2_internal): + Giving in to popular pressure to shut up the compiler with casts. -2001-10-20 Paul Eggert +2000-10-26 Jim Meyering - * m4/error.m4 (jm_PREREQ_ERROR): - Do not invoke AC_CHECK_FUNCS with strerror_r, as - AC_FUNC_STRERROR_R does that. - Check for strerror declaration. + * lib/strftime.c: Update from libc. - * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files - are supposed to have them these days. - (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached. - Merge changes from latest Autoconf CVS. - Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p, - and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since - POSIX decided to standardize on the int flavor of strerror_r. +2000-10-25 Stefan Monnier -2001-10-20 Paul Eggert + * regex.c: More `unsigned char' -> `re_char' changes. + Also change several `int' into `re_wchar_t'. + (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove. + (PUSH_FAILURE_POINTER): Don't cast any more. + (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'. + We want GCC to complain, since this piece of code makes + re_match non-reentrant, which *should* be fixed. + (GET_BUFFER_SPACE): Use size_t rather than unsigned long. + (EXTEND_BUFFER): Use RETALLOC. + (SET_LIST_BIT): Don't cast. + (re_wchar_t): New type. + (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC + that those two functions will always properly return. + (IMMEDIATE_QUIT_CHECK): Cast to void. + (analyse_first): Use recursion rather than an explicit stack. + (re_compile_fastmap): Can't fail anymore. + (re_search_2): Don't check re_compile_fastmap for failure. + (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT. + Now also sets the new value (passed in a new argument). + (re_match_2_internal): Use it. + Also, use a new var `reg' of type size_t when looping through regs + rather than reuse the inappropriate `mcnt'. - * lib/error.c (strerror_r): Do not declare unless !_LIBC. - Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P. - Use strerror_r that is only a macro, even if it is not a function. - (strerror): Check for HAVE_DECL_STRERROR before declaring. - (private_strerror): Use prototypes, not old-style function definition. - (print_errno_message): New function. - Support the POSIX 'int'-flavored strerror_r, as well as the traditional - char*-flavored one. - (error_tail, error, error_at_line): Use it. +2000-10-25 Jim Meyering -2001-10-11 Jim Meyering + * lib/obstack.c: Update from libc. - * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ... - and quote_n (1, ... to avoid clobbering a buffer. +2000-10-24 Kenichi Handa -2001-10-05 Jim Meyering + * regex.c (regex_compile): Change the way of handling a range from + a char less than 256 to a char not less than 256. - * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and - hash-pjw.h. - * lib/hash-pjw.c: New file (factored out of fileutils' remove.c). - * lib/hash-pjw.h: New file. +2000-10-24 Andrew Innes -2001-09-30 Jim Meyering + * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on + NT-Emacs only. + (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT, + so that re_search functions only quit when callers expect them to. - * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if - `struct fsstat' has the `f_fstypename' member. - Use that to define FS_TYPE, which is now used to make - the getfsstat link test tighter. +2000-10-23 Jim Meyering -2001-09-30 Jim Meyering + * lib/hard-locale.c (hard_locale): Revert last change -- it was simply + wrong. That set_locale call must not have any side effects. + From Paul Eggert. - * lib/mountlist.c [MOUNTED_GETFSSTAT]: - Include , for Apple Darwin. - Include sys/mount.h and sys/fs_types.h only if available. - (FS_TYPE): Define. - (read_filesystem_list): Use FS_TYPE. +2000-10-22 Jim Meyering -2001-09-29 Paul Eggert + * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC. + [CYCLIC]: Remove now-unused definition. - * lib/exclude.c (excluded_filename): 0 -> false, since it's - a boolean context. + * lib/save-cwd.c (O_DIRECTORY): Define, if needed. + (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".". + Suggestion from Ulrich Drepper. -2001-09-29 Jim Meyering +2000-10-21 Jim Meyering - * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS) - [one-argument getmntent function]): Include stdio.h before mntent.h. - SunOS 4.1.x needs it for the declaration of `FILE'. - Patch by Volker Borchert. + * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr. + * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro. + * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr. - * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS) - Check for these headers: sys/param.h sys/ucred.h sys/mount.h - sys/fs_types.h, and make the link-test for getfsstat guard #include - directives with appropriate #if HAVE_*_H tests so that we can - detect getfsstat on Apple Darwin1.3.7 systems. - Reported by Nelson Beebe. - Fix harmless typo in cache variable name: s/getsstat/getfsstat/. +2000-10-21 Jim Meyering -2001-09-28 Paul Eggert + * lib/dirname.c (memrchr): Declare if necessary. + (dir_name): Remove the restriction that there be no + trailing slashes. Now, this code skips past them, effectively + ignoring them. + [TEST_DIRNAME] (main): New unit tests. - Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which - #defines strtoimax. Also treat the other strto* functions - like strtoimax. + * lib/memrchr.c: New file from GNU libc. + Undef __memrchr, too. + [!weak_alias]: Define __memrchr to memrchr. + Guard weak_alias use with `#ifdef weak_alias'. - * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): - Check for strtoul and strtoumax, - as those declarations are made even in the signed case. - * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): - Likewise, for strtol and strtoimax. +2000-10-21 Jim Meyering -2001-09-28 Paul Eggert + * lib/dirname.c (dir_name_r): New function, factored out of dir_name. + (dir_name): Use dir_name_r. + * lib/dirname.h (dir_name_r): Declare it. - Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which - #defines strtoimax. Also treat the other strto* functions - like strtoimax. +2000-10-17 Jim Meyering - * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL. - (strtoul): Do not declare if HAVE_DECL_STRTOUL. - (strtoimax, strtoumax): Do not declare if already defined as a macro. + * lib/quote.h (PARAMS): Define and use. + Reported by Akim Demaille. -2001-09-26 Jim Meyering + * lib/getopt.c: Update from libc. - Most macros in unlocked-io.h had the wrong number of arguments. - * lib/gen-uio: New script. - (USE_UNLOCKED_IO): Define to 1 if not already defined. - * lib/unlocked-io.hin: Remove file. - * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script, - rather than trying to embed it here. - (EXTRA_DIST): Add gen-uio. Remove unlocked-io.hin - Reported by Padraig Brady. +2000-10-16 Jim Meyering -2001-09-25 Volker Borchert + * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to + setlocale. + From Jan Fedak. - * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable - `result'. +2000-10-15 Stefan Monnier -2001-09-24 Jim Meyering + * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well. - * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS. +2000-09-25 Jim Meyering -2001-09-23 Jim Meyering + * lib/md5.h (rol): Define (from GnuPG). - * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test - instead of the mere test for existence of mntent.h. The latter - would get a false-positive on AIX 3.4 systems. - In the outer getmntent if-block, don't die if neither of the getmntent - tests succeeds. Instead, just fall through and continue with the - remaining tests. + * lib/sha.c: Give credit (GnuPG) where due. + (M): Use rol rather than open-coding it. + Add a FIXME comment. -2001-09-23 Jim Meyering +2000-09-21 Jim Meyering - * lib/mountlist.c: Remove useless parentheses in #if directives. - (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when - the deprecated MOUNTED symbol is no longer defined in mntent.h. + * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added. + Reported by Michael Stone. -2001-09-22 Jim Meyering +2000-09-20 Jim Meyering - * m4/gettext.m4: New file. From gettext. - * m4/lcmessage.m4: Sync with gettext -- this changes only comments. - * m4/progtest.m4: Likewise - * m4/isc-posix.m4: Decrement serial number to sync with gettext. - * m4/glibc21.m4: Likewise. + * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c. + (noinst_HEADERS): Add sha.h. + Based on code from Scott G. Miller and from GnuPG. - * m4/libintl.m4: Remove. No longer used. +2000-09-18 Jim Meyering -2001-09-22 Jim Meyering + * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of + LIBS. Otherwise, everyone ends up linking with -lelf for some + configurations. + Reported by Mike Stone. - * lib/localcharset.c: Update from latest gettext. - * lib/config.charset: Likewise. +2000-09-15 Jim Meyering -2001-09-20 Jim Meyering + * lib/regex.c: Update from libc. - * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of - strtoimax. - * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of - strtoumax. +2000-09-10 Jim Meyering -2001-09-20 Jim Meyering + * lib/getopt.c (_getopt_internal): Update from glibc. - * lib/xstrtol.c (strtoimax): Guard declaration with - `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'. - The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0) - have their own, conflicting declaration of strtoimax in sys/inttypes.h. - (strtoumax): Likewise, for completeness (it wasn't necessary). +2000-09-09 Jim Meyering -2001-09-17 Paul Eggert + * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't + think it should be used as a general replacement for isascii. + * lib/fnmatch.c: Likewise. + * lib/mbswidth.c: Likewise + * lib/regex.c: Likewise. - * lib/strtoimax.c (HAVE_LONG_LONG): - Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned. - (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base), - to work around bug in IBM C compiler. + Don't use atoi. + * lib/userspec.c: Include sys/param.h and limits.h. + Include xstrtol.h. + (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define. + (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define. + (parse_user_spec): Use xstrtoul, not atoi when converting numeric + UID, GID. Check range. -2001-09-17 Jim Meyering +2000-09-06 Jim Meyering - * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4, - * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4, - * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4, - * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4, - * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED, - whenever the right hand side need not be expanded by the shell. + * lib/getopt.c (_getopt_internal): Update from glibc. -2001-09-16 Paul Eggert +2000-08-30 Jim Meyering - * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C - library. It's not correct, as some older glibcs are buggy. - fnmatch wasn't fixed until glibc 2.2. + * lib/strftime.c: Merge in changes from GNU libc. - Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no - special shell magic here. +2000-08-26 Jim Meyering -2001-09-16 Jim Meyering + * m4/jm-macros.m4: Use jm_FUNC_FPENDING. + * m4/fpending.m4: New file. - * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro. - * m4/jm-macros.m4: Require it. +2000-08-26 Jim Meyering -2001-09-16 Jim Meyering + * lib/closeout.c: Include "__fpending.h". + (close_stdout_status): Return right away if there's nothing to flush. - * lib/mkdir.c: New file. + * lib/Makefile.am (noinst_HEADERS): Add __fpending.h. + * lib/__fpending.c: New file. + * lib/__fpending.h: New file. -2001-09-15 Jim Meyering +2000-08-20 Jim Meyering - * m4/jm-macros.m4: Check for help2man. + * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than + `#if !HAVE_UTMPX_H'. The latter would lose on systems with neither + utmp.h nor utmpx.h. Reported by Eli Zaretskii. -2001-09-11 Jim Meyering +2000-08-11 J. David Anglin - * m4/host-os.m4 (UTILS_HOST_OS): New file/macro. - The body, by Paul Eggert, was moved here from configure.in. - * m4/jm-macros.m4: Require UTILS_HOST_OS. + Improve fileutils installation on systems where running + programs (like install) can't be unlinked. + * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro. + * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT. -2001-09-04 Paul Eggert +2000-08-07 Paul Eggert - * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro. - (jm_PREREQ): Use it. + Standardize on "memory exhausted" instead of "Memory exhausted" + or "virtual memory exhausted". + * lib/obstack.c (print_and_abort): Use "memory exhausted", not + "virtual memory exhausted". + * lib/same.c (same_name): Invoke xalloc_die instead of printing + our own message. + * lib/userspec.c (parse_user_spec): Likewise. + * lib/bumpalloc.h: comment fix + * lib/same.c, userspec.c: Include xalloc.h. -2001-09-04 Paul Eggert + * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[], + not char *const and pointing to a constant array. + * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise. + (xrealloc): Comment fix. - * lib/xreadlink.c (xreadlink): Omit size_t* arg. All uses changed. - Use ssize_t, not int, to store result of readlink. - Check for ssize_t overflow as well as size_t overflow, - as POSIX says the result of readlink is implementation-defined - when ssize_t overflows. - Remove unnecessary cast to char*. - Use free+malloc instead of realloc, as the storage doesn't need - to be preserved and it's clearer and can be more efficient that way. - (SIZE_MAX, SSIZE_MAX): New macros, if doesn't declare. - * lib/xreadlink.h (xreadlink): Update prototype. + * lib/userspec.c (parse_user_spec): + Don't translate a message until just before returning, + to avoid unnecessary translation. -2001-09-04 Paul Eggert +2000-08-07 Jim Meyering - * lib/xgetcwd.c: Revert some of the previous change; intead, - fix the HAVE_GETCWD_NULL code to behave more like the - !HAVE_GETCWD_NULL code used to. + * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h, + chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c, + fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h, + getgroups.c, gethostname.c, getopt.h, group-member.c, + hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c, + linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c, + memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h, + pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c, + stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c, + strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c, + utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c, + yesno.c: Back out Copyright date changes for each file with no change + this year. This eases coordination with other programs using the same + source code modules. From Paul Eggert. - Include "xalloc.h". - (xgetcwd): Do not return NULL when memory is exhausted; instead, - invoke xalloc_die. +2000-08-06 Paul Eggert -2001-09-03 Paul Eggert + * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int, + not char, for compatibility with glibc 2.1.3 strftime.c. - * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and - sys/param.h, as pathmax.h includes them. +2000-08-03 Greg McGary -2001-09-03 Paul Eggert + * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, + ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros. + (EXTEND_BUFFER): Use them. - * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD. - (jm_PREREQ_XGETCWD): New macro. +2000-08-01 Jim Meyering - * m4/getcwd.m4: New file. + * lib/dirname.c (ISSLASH): Define. + (BACKSLASH_IS_PATH_SEPARATOR): Define. + (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which + both `\' and `/' may be use as path separators. + Based on a patch from Prashant TR. + +2000-07-31 Paul Eggert + + * lib/quotearg.c (quotearg_n_options): Don't make the initial + slot vector a constant, since it might get modified. -2001-09-03 Paul Eggert +2000-07-31 Jim Meyering - * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more - like the HAVE_GETCWD_NULL code. - Include pathmax.h if not HAVE_GETCWD. - Do not include xalloc.h. - (INITIAL_BUFFER_SIZE): New symbol. - Do not use xmalloc / xrealloc, since the caller is responsible for - handling errors. Preserve errno around `free' during failure. - Do not overrun buffer when using getwd. + * lib/xmalloc.c: Use `virtual memory exhausted', not + `Memory exhausted'. + * lib/obstack.c (print_and_abort): Likewise. -2001-09-03 Paul Eggert +2000-07-30 Paul Eggert - * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined - __GLIBC__ && __GLIBC__ >= 2), to decide whether to use - getcwd (NULL, 0). + * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0 + buffer, so that the caller can always quote one small + component of a "memory exhausted" message in slot 0. + From a suggestion by Jim Meyering. -2001-09-03 Paul Eggert +2000-07-30 Jim Meyering - * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between - usage of FNM_CASEFOLD and FNM_LEADING_DIR. The bug was - spotted by Jim Meyering. + * lib/makepath.c (make_path): Quote the other instance, too. -2001-09-03 Jim Meyering + * lib/quotearg.c (N_STATIC_SLOTVECS): Define. + (STATIC_BUF_SIZE): Define. + (quotearg_n_options): Use only statically allocated storage when + N < N_STATIC_SLOTVECS and the length of the quoted result is smaller + than STATIC_BUF_SIZE. - * lib/xreadlink.c (xreadlink): Preserve errno around `free' during - failure. +2000-07-29 Jim Meyering -2001-09-02 Jim Meyering + * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS. + * lib/dirname.c (dir_name): Likewise. - * lib/error.c: Update from GNU libc. + * lib/basename.c (base_name): Use ISSLASH rather than comparing against + `/'. -2001-09-01 Jim Meyering + * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const. + (dir_name): Assert that there are no trailing slashes. - * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name. - Used by df. +2000-07-29 Bruno Haible -2001-09-01 Jim Meyering + * lib/mbswidth.h (mbswidth): Add a flags argument. + (mbswidth): New declaration. + (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros. + * lib/mbswidth.c (mbswidth): Add a flags argument. + (mbsnwidth): New function. - * lib/xreadlink.c: New file. - * lib/xreadlink.h: New file. - * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and - xreadlink.h. +2000-07-24 Jim Meyering - * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it - doesn't conflict with sparc Solaris 7's definition in - /usr/include/sys/int_types.h. + * lib/mbswidth.c: Remove useless #else. From Bruno Haible. - * lib/exclude.c: Use `""', not `<>' to #include non-system header - files. - (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp - and strncasecmp as r-values. Unixware didn't have declarations. +2000-07-23 Paul Eggert -2001-08-31 Paul Eggert + * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration. - * lib/xstrtol.h: Add copyright notice. - (_DECLARE_XSTRTOL): Improve quality of diagnostic for - LONGINT_INVALID_SUFFIX_CHAR. +2000-07-23 Paul Eggert -2001-08-31 Paul Eggert + * lib/quotearg.c: Streamline by invoking multibyte code only if needed. + : Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX. + (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX). + (quotearg_buffer_restyled): If a unibyte locale, don't bother to + invoke multibyte primitives. - * lib/xstrtol.c (strtoimax): New decl. +2000-07-23 Paul Eggert -2001-08-31 Paul Eggert + * lib/quotearg.c: + Include even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX), + so that mbstate_t is always defined. - * lib/xgetcwd.c: Don't include pathmax.h. - Include stdlib.h and unistd.h if available. - Include xalloc.h. - (xmalloc, xstrdup, free): Remove decls. - (xgetcwd): Don't assume sizes fit in unsigned. - Check for overflow when computing sizes. - Simplify reallocation code. + Do not inspect MB_LEN_MAX, since it's incorrectly defined to + be 1 in at least one GCC installation, and this configuration + error is likely to be common. Ignoring MB_LEN_MAX hurts + performance on hosts that have mbrtowc but have only unibyte + locales, but I assume these hosts are rare. -2001-08-31 Paul Eggert +2000-07-23 Paul Eggert - * lib/savedir.c (savedir): Remove size parameter, as POSIX says that - a directory's st_size can have an arbitrary value, so the old - usage could waste an arbitrary amount of memory. All uses - changed. - * lib/savedir.h: Update prototype. + * lib/mbswidth.c (_XOPEN_SOURCE): + Don't define; this causes problems on Solaris 7. + (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare. -2001-08-31 Paul Eggert +2000-07-23 Jim Meyering - * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c. + * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these, + too: getgrgid, getpwuid, getuid. - * lib/strtoimax.c: Renamed from strtoxmax.c, removing the - old strtoimax.c. +2000-07-23 Jim Meyering - Also, make the following further changes to make this file's - configuration more similar to that of strtol.c: - (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED. All uses changed. - (strtoumax, uintmax_t, strtoull, strtol): Remove. - (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED. - (strtoimax): Renamed from strtoumax. All uses of unsigned values - changed to signed values. + * lib/basename.c (base_name): Add an assertion. - And make the following changes as well: - Fix copyright notice, as 1999 was missing. - (verify): New macro. - (strtoimax): Check sizes at compile-time, not run-time. - Prefer strtol to strtoll if both work. - (main): Remove; it was not that useful and was a pain to maintain. +2000-07-23 Bruno Haible - * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c. + * lib/quotearg.c: When the system forces us to redefine mbstate_t, + shadow its mbsinit function. -2001-08-31 Jim Meyering +2000-07-17 Bruno Haible - * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication. - Use an initial, malloc'd, buffer of length 128 rather than - a statically allocated one of length 1024. + * lib/mbswidth.h: New file. + * lib/mbswidth.c: New file. + * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c. + (noinst_HEADERS): Add mbswidth.h. -2001-08-30 Paul Eggert +2000-07-17 Bruno Haible - Simplify code, partly by assuming autoconf 2.52 semantics. + * lib/config.charset: Add support for FreeBSD. Improve support for + HP-UX and IRIX 6. - * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4. +2000-07-16 Bruno Haible - * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52. - (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52. - All uses removed. - (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T): - Move AC_REQUIRE to next-to-top level, to avoid confusion. - Use 2.52's AC_CHECK_TYPE instead of merely looking for the header. - * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require - jm_AC_HEADER_INTTYPES_H. - * m4/jm-macros.m4 (jm_MACROS): Likewise. + * m4/mbswidth.m4: New file. + * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH. - * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4. +2000-07-15 Jim Meyering - * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): - Quote first arg of AC_DEFUN. - Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG - since they are needed to parse the include file even if we need - only xstrtoimax. Simplify logic behind the args to AC_REPLACE. - * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise, - but with opposite signedness. + * lib/makepath.c: Include quote.h. + (make_path): Convert "`%s'" in format strings to "%s", and wrap each + corresponding argument in a `quote (...)' call. + Give better diagnostics. -2001-08-30 Paul Eggert + * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c. + (noinst_HEADERS): Add quote.h. - Merge 'exclude' changes from tar 1.13.22. - This fixes one or two unlikely storage allocation overflow bugs, - but doesn't change user-visible behavior otherwise. + * lib/quote.c (quote, quote_n): New file. Two functions taken verbatim + from tar's src/misc.c. + * lib/quote.h: New file. Prototypes for same. -2001-08-30 Paul Eggert +2000-07-14 Paul Eggert - * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE. - (jm_PREREQ_EXCLUDE): New macro. + From a suggestion by Bruno Haible. + * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition. + Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT, + to decide whether to define the BeOS workaround macro; + this adjusts to the change to AC_MBSTATE_T. -2001-08-30 Paul Eggert +2000-07-14 Jim Meyering - * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct - tm to be declared. + * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require + jm_AC_TYPE_UINTMAX_T. -2001-08-30 Paul Eggert +2000-07-13 Paul Eggert - * lib/hash.c: Remove '2001' from copyright notice. + * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style. -2001-08-30 Paul Eggert + * lib/quotearg.c (quoting_style_args, quoting_style_vals, + quotearg_buffer_restyled): Add support for + clocale_quoting_style. Undo previous change to + locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}" + and "{RIGHT QUOTATION MARK}" msgids. - * lib/full-write.h: New file. - * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h. - * lib/full-write.c: Correct credits, as cccp.c no longer - exists and anyway it was so heavily changed from the old cccp - code as to be unrecognizable. Include full-write.h. - (full_write) Return size_t, with short writes meaning failure. - All callers changed. This fixes a bug with large buffers - on 64-bit hosts. - * lib/utime.c: Include full-write.h. +2000-07-10 Paul Eggert -2001-08-30 Paul Eggert + From a suggestion by Bruno Haible. + * m4/mbstate_t.m4 (AC_MBSTATE_T): + Renamed from AC_MBSTATE_T_OBJECT. All uses changed. + Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT + and mbstate_t, to a single-part test that simply defines mbstate_t. + * m4/prereq.m4 (jm_PREREQ_QUOTEARG): + s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/. - * lib/exclude.c (bool): Declare, perhaps by including stdbool.h. - (): Include only if HAVE_SYS_TYPES_H. - (, , , , ): - Include if available. - (): Include - (SIZE_MAX): Define if or doesn't. - (verify): New macro. Use it to verify that EXCLUDE macros do not - collide with FNM macros. - (struct patopts): New struct. - (struct exclude): Use it, as exclude patterns now come with options. - (new_exclude): Support above changes. - (new_exclude, add_exclude_file): - Initial size must now be a power of two to simplify overflow checking. - (free_exclude, fnmatch_no_wildcards): New function. - (excluded_filename): No longer requires options arg, as the options - are determined by add_exclude. Now returns bool, not int. - (excluded_filename, add_exclude): - Add support for the fancy new exclusion options. - (add_exclude, add_exclude_file): Now takes int options arg. - Check for arithmetic overflow when computing sizes. - (add_exclude_file): xrealloc might modify errno, so don't - realloc until after errno might be used. +2000-07-10 Jim Meyering - * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS): - New macros. - (free_exclude): New decl. - (add_exclude, add_exclude_file): Now takes int options arg. - (excluded_filename): No longer requires options arg, as the options - are determined by add_exclude. Now returns bool, not int. + * m4/strerror_r.m4: Mirror the correction made in autoconf. -2001-08-30 Paul Eggert + * m4/gnu-source.m4: Output to confdefs.h directly. + Suggestion from Akim Demaille. - * lib/alloca.c (alloca): Arg is of type size_t, not unsigned. +2000-07-09 Paul Eggert -2001-08-27 Jim Meyering + The old behavior of quoting `like this' doesn't look good with + newer, ISO-style fonts. See: + http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html - * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c + Instead, quote "like this" by default. Let the translator + tailor the locale-specific quoting behavior by providing + translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}. - * lib/version-etc.c (N_): Remove definition. - Revert most of last change. - Instead, simply don't mark the `Copyright...' string for translation. - Based on advice from Paul Eggert. + * lib/quotearg.c (N_): New macro. + (gettext_default): New function. + (quotearg_buffer_restyled): Use + gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and + gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote. - * lib/strtoxmax.c: Tweak comment. +2000-07-09 Jim Meyering -2001-08-26 Jim Meyering + * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required + to link seq. If so, set SEQ_LIBM to -lm. From Bruno Haible. - * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX. + * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro. + * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it. - * m4/xstrtoimax.m4: New file. - * m4/xstrtoumax.m4: Add comments explaining why we - AC_REPLACE_FUNCS(strtol). +2000-07-09 Jim Meyering -2001-08-26 Jim Meyering + * lib/Most files: Update copyright dates to include 2000. - * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year - of copyright with `%s' so translators don't get an untranslated - message in 2002. - (COPYRIGHT_YEAR): Define. - (version_etc): Use fprintf rather than fputs. - Suggestion from Ulrich Drepper. +2000-07-08 Jim Meyering - * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c. + * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value + if not defined. + (xgethostname): Remove now-unnecessary #ifdef. + Move declaration of `err' into loop where it's used. - * lib/strtoll.c: New file, from GNU libc. - * lib/xstrtoimax.c: New file. +2000-07-05 Paul Eggert + and Bruno Haible - * lib/xstrtol.h: Add xstrtoimax. - * lib/strtoumax.c: New file. Simply include "strtoumax.c". - * lib/strtoimax.c: New file. Likewise, but first define - STRTOUXMAX_SIGNED. + * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t + only if the test for an object-type mbstate_t fails. This + prevents us from mistakenly reporting that mbstate_t is a + system object type after we "#define mbstate_t int" to work + around its lack. - * lib/strtoumax.c: Factor to work both for unsigned and signed types, - ... - * lib/strtoxmax.c: ... then renamed to this. +2000-07-05 Paul Eggert + and Bruno Haible -2001-08-18 Paul Eggert + * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't. - * m4/inttypes.m4: Add AC_PREREQ(2.13). - (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too. - (jm_AC_TYPE_INTMAX_T): New macro. - (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4. +2000-07-05 Bruno Haible - * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro. + * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer + to strerror_r. + Include for use of isalpha. - * m4/longlong.m4: Renamed from ulonglong.m4. - * m4/inttypes.m4: Renamed from inttypes_h.m4. - * m4/uintmax_t.m4: Removed. +2000-07-05 Bruno Haible -2001-08-13 Paul Eggert + * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug + by allocating a larger buffer. Test the gethostname return value for + being >= 0, not == 0, for BeOS. Don't exhaust memory if gethostname + returns an error and ENAMETOOLONG isn't defined. - * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice. - Port to Solaris 8, where 'sed' requires a space after the 'r' - command, and where sh dislikes "$/". Clean up the spacing a bit. - Redirect output to $tmp just once. +2000-07-05 Bruno Haible -2001-08-12 Paul Eggert + * lib/quotearg.c (struct quoting_options): Simplify quote_these_too + dimension. - * lib/addext.c (): Include. - (errno): Declare if not defined. - (addext): Work correctly when pathconf returns -1 and leaves - errno alone because there is no limit. Also, work even if - pathconf returns a value greater than SIZE_MAX. +2000-07-04 Jim Meyering -2001-08-12 Jim Meyering + * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead + of the deprecated AC_CHECKING. - * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4, - d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4, - fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4, - group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4, - jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4, - link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4, - mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4, - prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4, - rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, - strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4, - utime.m4, utimes.m4, xstrtoumax.m4: - Quote the first argument in each use of AC_DEFUN. +2000-07-04 Jim Meyering -2001-08-12 Jim Meyering + * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen. + Reported by Bruno Haible. - * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]: - Simply `return getcwd (NULL, 0);'. - [! (defined __GLIBC__ && __GLIBC__ >= 2)]: - Use 1300 as initial value for length, not PATH_MAX. +2000-07-04 Jim Meyering - * lib/pathmax.h: Clean up cpp syntax. + * lib/quotearg.c: Make inclusion of independent of whether + HAVE_MBRTOWC is set. Required at least for irix-5.6, which + lacks mbrtowc. -2001-08-12 Jim Meyering +2000-07-03 Paul Eggert - * lib/gettimeofday.c: New file. - * lib/gtod.h: New file. - * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h. + * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13. + Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H. -2001-08-05 Jim Meyering +2000-07-03 Paul Eggert + and Bruno Haible - * m4/jm-macros.m4: Require autoconf-2.52. + * lib/quotearg.c (mbrtowc): + Assign to *pwc, and return 1 only if result is nonzero. + (iswprint): Use ISPRINT when substituting our own mbrtowc. -2001-08-04 Jim Meyering +2000-07-03 Jim Meyering - * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if - stmt, to get in sync with glibc. + * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen. -2001-08-03 Paul Eggert +2000-07-03 Jim Meyering - The following changes are from gettext 0.10.39 as maintained by - Bruno Haible. + * lib/readutmp.h: [HAVE_UTMPX_H]: Include if HAVE_UTMP_H. + This is necessary to get a definition of e.g., UTMP_FILE on + HP-UX 10.20. + From Bob Proulx. - * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID): - Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID - with inverted sense. All uses changed. +2000-07-02 Jim Meyering - * lib/mbswidth.c: Don't include . - Include and unconditionally. - (iswcntrl, mbsinit, ISCNTRL): New macros. - (mbsnwidth): Use K&R style function declarations. - Don't bother checking for MB_LEN_MAX == 1, since the compiler - can optimize it when MB_CUR_MAX == 1. - The width of control characters is zero, not 1. + * m4/mbstate_t.m4: Also define mbstate_t, if necessary. -2001-08-03 Paul Eggert + * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with + AC_LIBOBJ(function_name). + * m4/chown.m4: Likewise. + * m4/fnmatch.m4: Likewise. + * m4/ftruncate.m4: Likewise. + * m4/getgroups.m4: Likewise. + * m4/getline.m4: Likewise. + * m4/group-member.m4: Likewise. + * m4/jm-macros.m4: Likewise. + * m4/lstat.m4: Likewise. + * m4/malloc.m4: Likewise. + * m4/memcmp.m4: Likewise. + * m4/nanosleep.m4: Likewise. + * m4/putenv.m4: Likewise. + * m4/realloc.m4: Likewise. + * m4/regex.m4: Likewise. + * m4/stat.m4: Likewise. + * m4/strftime.m4: Likewise. - The following changes are from gettext 0.10.39 as maintained by - Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ. +2000-07-02 Jim Meyering - * m4/codeset.m4: Upgrade to serial AM1. - (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET; - all uses changed. Quote first arg of AC_DEFUN. - (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset. + * lib/quotearg.c (mbstate_t): Don't define here. - * m4/iconv.m4: Upgrade to serial AM2. - (AM_ICONV): Renamed from jm_ICONV; all uses changed. - Add --with-libconv-prefix. - Quote first arg of AC_DEFUN. Add description for ICONV_CONST. - (am_cv_func_iconv): Renamed from jm_cv_func_iconv. - (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv. - (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv. - * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings. +2000-07-02 Jim Meyering - * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN. - * m4/getline.m4 (AM_FUNC_GETLINE): Likewise. - * m4/glibc21.m4 (jm_GLIBC21): Likewise. - * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise. - * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise. - * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise. - * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise. - * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise. - * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise. + * lib/nanosleep.c (SIGCONT): Define if not already defined. - * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for - string.h any more. +2000-07-01 Jim Meyering - * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no", - not the default value. + * m4/uptime.m4: Put double quotes around use of $cross_compiling. - 2001-06-25 Bruno Haible - * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES. - Also check for mbsinit. Needed for SCO 3.2v5.0.2. - Also include ; this is where AIX 3.2.5 declares wcwidth. - Also check for iswcntrl, used for wcwidth fallback. - Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability - to Autoconf 2.13. +2000-07-01 Jim Meyering -2001-08-03 Jim Meyering + * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated + problem. - * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include', - as it was in the original. Reported by Paul Eggert. +2000-07-01 Bruno Haible -2001-07-16 Jim Meyering + * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific + macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV. - * m4/gettimeofday.m4: New file. - Prompted by a report from Bernhard Baehr. +2000-07-01 Bruno Haible -2001-07-15 Jim Meyering + * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV, + per change in ../m4/ls-mntd-fs.m4. + (read_filesystem_list): Ignore symbolic links. - * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h - stuff. Now it's in ../Makefile.cfg. +2000-06-29 Jim Meyering -2001-07-15 Jim Meyering + * lib/same.c: Include or , as appropriate, + for declaration of strcmp. - * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin. - (BUILT_SOURCES): Add unlocked-io.h. - (io_functions): Define. - (unlocked-io.h): New rule. - (DISTCLEANFILES): Add unlocked-io.h. - (all-local): Depend on unlocked-io.h, to ensure it is created. + * lib/long-options.c: Include , for declaration of exit. - * lib/unlocked-io.hin: New file + * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]: + Avoid warning by casting result to `char *' to remove `const'. - * lib/regex.c: Update from glibc. +2000-06-28 Jim Meyering -2001-07-05 Jim Meyering + * m4/mbstate_t.m4: Use stdlib.h, not stdio.h. The latter is not + included by quotearg.c, for which we perform this test. From + Bruno Haible. - * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake - recommendation. - (libfetish_a_SOURCES): Put all .h files here instead. - Remove a thus-exposed (better checks in automake) duplicate and - two unnecessary .h files. +2000-06-27 Bruno Haible -2001-07-04 Jim Meyering + * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well. + * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either or + exists, put readutmp.o into LIBOBJS. - * m4/Makefile.am.in (glibc-io.struct): New target. Rework the code - that generates jm-glibc-io.m4 so that it doesn't trigger any make - distcheck failure. +2000-06-27 Bruno Haible -2001-07-02 Jim Meyering + * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c. - The following changes were prompted by suggestions from Bruno Haible. +2000-06-26 Paul Eggert - * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4 - is now generated. - * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted - definition of EXTRA_DIST. - (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to - ensure that the generated file is created/updated whenever the list - of $(unlocked_functions) is changed. - (jm-glibc-io.m4): New rule. - (unlocked-io.h): New rule -- currently unused. + savedir now sets errno on failure and invokes xmalloc to get memory. + Fix a couple of other minor bugs while we're at it. -2001-06-24 Jim Meyering + * lib/savedir.c (): Do not include; there's no need. + (NAMLEN): Remove macro. + (malloc, realloc): Remove decls. + (stpcpy): Likewise. + ("xalloc.h"): Include. + (NAME_SIZE_DEFAULT): New macro. + (savedir): Use xmalloc / xrealloc to allocate memory. + Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero. + Skip "" directory entries. + Use strlen to calculate directory entry length, since the old method + is rarely used these days and isn't worth supporting. + Don't use a pointer after freeing it. + Check for integer overflow when calculating allocation size. + Use memcpy to copy entries, instead of stpcpy. + Set errno properly when returning NULL. + Check for readdir error. - * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an - unmatched right bracket, rather than kludging it with an extra, - falsely-matching quote in a comment. Patch by Akim Demaille. +2000-06-26 Jim Meyering -2001-06-11 Jim Meyering + * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort. - * lib/regex.c: Update from GNU libc. +2000-06-25 Jim Meyering -2001-05-27 Jim Meyering + * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around + Linux header bug when _XOPEN_SOURCE is defined to 500. - * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx. - Check for ut_type in struct utmp. +2000-06-25 Bruno Haible -2001-05-27 Jim Meyering + * lib/unicodeio.c (print_unicode_char): Work around ansi2knr + deficiency. - * lib/readutmp.h (UT_TYPE): Define. +2000-06-25 Bruno Haible -2001-05-24 Jim Meyering + * lib/getusershell.c (xmalloc, xrealloc): Remove functions. + Include xalloc.h. + Don't include . Don't declare malloc, realloc. - * lib/argmatch.c: Include "quote.h". - (argmatch_invalid): Remove explicit `' quotes. Instead, use the - quote function. Reported by Göran Uddeborg. +2000-06-24 Jim Meyering -2001-05-22 Jim Meyering + * m4/strerror_r.m4: Revive this file -- to try out an experimental + version of AC_FUNC_STRERROR_R that may work even on BeOS, a system + for which strerror does return char*, but which lacks a conveniently + accessible declaration of the function. If the compile-test says + strerror_r doesn't work, then resort to a `run'-test that works on + BeOS and segfaults on DEC Unix. - * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime), - now that we use the package-supplied version unconditionally. - (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason. +2000-06-24 Jim Meyering -2001-05-21 Jim Meyering + * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r. - * m4/regex.m4: Change a couple backticks to single quotes to avoid - shell syntax errors. +2000-06-23 Paul Eggert -2001-05-21 Alexandre Duret-Lutz + * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT. + * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it. Add check for iswprint. - * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__. +2000-06-23 Paul Eggert -2001-05-20 Paul Eggert + * lib/quotearg.c: Include after , for Solaris 2.5. + (mbrtowc, mbstate_t): Define substitutes if + HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT. + (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT, + not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H). - * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): - Don't bother to check library strftime, since - we'll be using our own my_strftime function anyway. - Define my_strftime instead of strftime. +2000-06-23 Jim Meyering -2001-05-20 Alexandre Duret-Lutz + * m4/afs.m4: Add missing AC_MSG_RESULT. + Reported by Bruno Haible. - * lib/dirname.c (dir_name): Compute append_dot using path, not newpath - which is not yet declared. + * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/. + Suggestion from Bruno Haible. -2001-05-15 Jim Meyering +2000-06-23 Jim Meyering - * m4/regex.m4: Use proper quoting so brackets appear in the test - program. - Reported by, and with help from, Bruno Haible. + * lib/getpass.c: New file, from Bruno Haible. Required for BeOS. -2001-05-13 Jim Meyering +2000-06-21 Jim Meyering - * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if - undefined. + * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass. -2001-05-11 Paul Eggert +2000-06-21 Jim Meyering - dirname code cleanup. base_name now behaves more compatibly - with POSIX basename when given file names that have trailing - slashes, and similarly for dir_name. Add new primitives - base_len and dir_len. Put the directory-name-related decls - into dirname.h. + * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c. + (noinst_HEADERS): Add getstr.h. - * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h. - * lib/backupfile.c (base_name): Likewise. - * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise. - * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise. - * lib/makepath.c (strip_trailing_slashes): Likewise. - * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN, - ISSLASH): Likewise. - * lib/rename.c (strip_trailing_slashes): Likewise. - * lib/same.c (base_name): Likewise. - * lib/stripslash.c (ISSLASH): Likewise. + * lib/getline.c (getstr): Move into a separate file. + * lib/getstr.c (getstr): New file, extracted from getline.c, with + the following changes: new parameter, delim2; both delim[12] + parameters have type `int', not `char'. The latter would lose + with 8-bit delimiters. + * lib/getstr.h: New file. - * lib/addext.c: Include after size_t is defined. - * lib/backupfile.c: Likewise. +2000-06-21 Bruno Haible - * lib/addext.c (addext): Use base_len to trim redundant - trailing slashes instead of doing it ourselves. - But do not trim the last slash if it is not redundant. + * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller + than 1024, return a memory chunk of least possible size, instead + of size PATH_MAX + 2. In the loop, increment the size proportionally. + Use free/xmalloc instead of xrealloc to avoid copying for very long + paths. - * lib/backupfile.c (find_backup_file_name, - max_backup_version): Use base_len instead of rolling it ourselves. - Handle the case of "" and (on DOS) "C:" correctly. +2000-06-21 Bruno Haible - * lib/basename.c: Do not include , ; no longer - needed. Include , . - (base_name): Allow file names ending in slashes, other than names - that are all slashes. In this case, return the basename followed - by the slashes. This is more general, and can be used in places - where the original base_name purposely had an assertion failure. - (base_len): New function. + * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is + the empty string. - * lib/dirname.c: Include instead of . - Do not include ; no longer needed. - Include xalloc.h. - (memrchr): Remove decl. - (dir_name_r): Remove. - (dir_len): Renamed from dirlen. All callers changed. - Rewrite in terms of base_name, for simplicity and consistency. - (dir_name): Never return NULL. All callers changed. - Do not include in test program; no longer needed. - return 0; is fine for test program. +2000-06-21 Bruno Haible - * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN): - New macros. - (base_name, base_len, dir_len, strip_trailing_slashes): New decls. + * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an + address, not strdup. Include and don't declare free(). - * lib/path-concat.c (path_concat): Use base_len to compute - base length, not strlen; this means we cannot rely on memcpy - to null-terminate. +2000-06-19 Jim Meyering - * lib/same.c (STREQ): Remove. - (same_name): Handle the case where the basename ends in trailing '/'. + * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define. - * lib/stripslash.c (strip_trailing_slashes): Return nonzero if - a slash was stripped. Do not strip the last slash after a - file system prefix. +2000-06-18 Jim Meyering -2001-05-11 Paul Eggert + * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir. - * lib/Makefile.am (libfetish_a_SOURCES): - Add strftime.c, since we now compile it on all hosts. + * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the + `checking whether...' message to be consistent with that of the + lstat test. - * lib/strftime.c (my_strftime): - Define to nstrftime if emacs, but only if my_strftime is not defined. - (extra_args, extra_args_spec, extra_args_spec_iso): Rename from - ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively. - Add one more extra argument: a nanoseconds value. - All uses changed. - (ns): New macro. - (my_strftime function): Add %N format. - (emacs_strftimeu): Renamed from emacs_strftime, - with extra ut argument. +2000-06-18 Jim Meyering -2001-05-09 Paul Eggert + * lib/mkdir.c: Remove file, due mainly to copyright incompatibility. + Besides, these days every porting target provides a mkdir function. - * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used. + * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as + needed. (this snippet comes from src/system.h). -2001-04-21 Jim Meyering +2000-06-16 Bruno Haible - * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask - doesn't interfere. + * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C. -2001-04-21 Alexandre Duret-Lutz +2000-06-15 Paul Eggert - * m4/ftruncate.m4: Check for chsize. - Link with ftruncate.o unconditionally if ftruncate is missing. - This was required when cross-compiling to i586-mingw32msvc. + * lib/human.c (adjust_value): New function. + (human_readable_inexact): Apply rounding style even when + printing approximate values. -2001-04-08 Jim Meyering +2000-06-14 Paul Eggert - * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is - recomputed; that's necessary when the offset spans a DST transition. - Patch by David J. MacKenzie. Reported by Hon-Yin Kok. + * lib/human.c (human_readable_inexact): Allow an input block + size that is not a multiple of the output block size, and vice versa. + Reported by Piergiorgio Sartor. + +2000-06-14 Paul Eggert -2001-04-02 Jim Meyering + * lib/getdate.y (get_date): Apply relative times after time + zone indicator, not before. Reported by Todd A. Jacobs. - * lib/regex.h, regex.c: Update from GNU libc. +2000-06-13 Jim Meyering -2001-03-24 Jim Meyering + * lib/Makefile.am (all-local): Depend on lstat.c and stat.c. - * m4/jm-macros.m4: Require autoconf-2.49d. + * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c. -2001-03-20 Bruno Haible +2000-06-12 Paul Eggert - * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv. + * lib/xstat.in: Include in lstat, to declare "free". -2001-03-19 Paul Eggert +2000-06-12 Jim Meyering - * lib/version-etc.c (version_etc_copyright): Update to 2001. + * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with + AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an + optional argument. + * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply + the optional argument, `lib'. -2001-03-17 Jim Meyering +2000-06-08 Jim Meyering - * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP, - now that the version in autoconf is equivalent. - (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP. + * m4/largefile.m4: Remove file (now that it's part of autoconf). - * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R. - Suggestion from Akim Demaille. +2000-06-04 Paul Eggert - * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME. - (jm_PREREQ_TEMPNAME): New function. + Rewrite largefile configuration so that we don't need to run + getconf and don't need AC_CANONICAL_HOST. [I'm leaving the use of + AC_CANONICAL_HOST in configure.in -- jmm] -2001-03-16 Paul Eggert + * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS, + AC_SYS_LARGEFILE_SPACE_APPEND): Remove. + (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro. + (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from + CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY. + All uses changed. + Instead of inspecting the output of getconf, try to compile the + test program without and with the macro definition. + (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check + for getconf. Instead, check for the needed flags by compiling + test programs. - * lib/tempname.c (uint64_t): Define to uintmax_t if - not defined, and if UINT64_MAX is not defined. - Required at least for Vax Ultrix4.3, which doesn't define uint64_t. - Reported by John David Anglin. +2000-06-04 Paul Eggert -2001-03-15 Bruno Haible + * lib/strnlen.c: Include if HAVE_CONFIG_H. - * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also - resolve alias if codeset is empty. - * lib/config.charset (BeOS): Use wildcard syntax. +2000-06-04 Jim Meyering -2001-03-13 Jim Meyering + * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like + SunOS 4.1.4 for which gid_t is an unsigned type. - * lib/path-concat.c (path_concat) - [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when - concatenating e.g., `C:' and `foo'. - From Bruno Haible. +2000-06-03 Jim Meyering -2001-03-06 Bruno Haible + * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS, + now that autoconf requires that. - * lib/localcharset.c (locale_charset): Don't use - setlocale(LC_CTYPE,NULL). Don't return NULL. - * lib/unicodeio.c (print_unicode_char): Simplify accordingly. + * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required + #undefs. E.g., #undef HAVE_DECL_FERROR_UNLOCKED. + Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that. -2001-03-06 Bruno Haible +2000-06-03 Jim Meyering - * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add - support for DOS/DJGPP. + * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr. -2001-03-01 Paul Eggert +2000-06-03 Bruno Haible - * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system - lacks mkstemp. Compile our own tempname.c if we compile our own - mkstemp.c, as mkstemp relies on tempname. + * m4/glibc21.m4: New file. + * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21. -2001-03-01 Jim Meyering +2000-06-03 Bruno Haible - * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that - AH_VERBATIM really does output its argument verbatim. + * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or + newer, don't install charset.alias. + * lib/config.charset: Change the Linux/glibc rules so they become empty + on glibc-2.1 or newer. -2001-02-28 Paul Eggert +2000-06-02 Jim Meyering - * lib/Makefile.am (libfetish_a_SOURCES): - Add dup-safer.c, fopen-safer.c. - (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h. + * lib/mountlist.c: Back out last change. Instead, do this... + * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the + me_dummy member using the same `ignore'-testing code. + * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored + fs_type strings. + From Mark D. Roth. - * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h: - * lib/unistd-safer.h: New files. +2000-05-29 Jim Meyering -2001-02-25 Paul Eggert + * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore + mounts with the `ignore' attribute. Based on a patch from + Mark D. Roth. - The mkstemp replacement is taken from glibc 2.2.2, with some - portability fixes for use outside glibc, as follows: +2000-05-28 Jim Meyering - * lib/tempname.c (struct_stat64): New macro. - (direxists, __gen_tempname): Use it. - This avoids a portability problem with Solaris 8. + * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from + jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. + * m4/stat.m4: Likewise. + * m4/lstat.m4: Likewise. + * m4/lstat-slash.m4: Remove file (absorbed into autoconf). - * lib/tempname.c (): Include if HAVE_CONFIG_H. - (, , ): - Include only if STDC_HEADERS || _LIBC. - (): Include only if HAVE_FCNTL_H || _LIBC. - (): Include only if HAVE_UNISTD_H || _LIBC. - (): Include only if HAVE_SYS_TIME_H || _LIBC. - (__set_errno): Define this macro if doesn't. - (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE): - Define these macros if doesn't. - (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR): - Define these macros if - doesn't. Ignore S_ISDIR if STAT_MACROS_BROKEN. - (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64, - __xstat64): Define if not _LIBC. - (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC). - (__gen_tempname): Invoke gettimeofday only if - HAVE_GETTIMEOFDAY || _LIBC; - otherwise, fall back on plain "time". - Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600. + * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R. + * m4/strerror_r.m4: Remove file (absorbed into autoconf). - * lib/mkstemp.c (__GT_FILE): Define to zero if not defined. +2000-05-26 Jim Meyering - * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2. + * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'. -2001-02-18 Paul Eggert +2000-05-24 Jim Meyering - * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h. + * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that + autoconf requires that. + * m4/lib-check.m4: Likewise. + * m4/jm-macros.m4: Likewise. + * m4/strftime.m4: Likewise. -2001-02-17 Paul Eggert + * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in + AC_CHECK_DECLS, now that autoconf requires that. - * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC. - * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): - Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc). - * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise. +2000-05-22 Jim Meyering -2001-02-17 Paul Eggert + * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. + * m4/lstat.m4: Likewise. - * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit): - Remove workaround macros for hosts that have mbrtowc but not - mbstate_t, as we now insist on proper declarations for both - before using mbrtowc. +2000-05-22 Jim Meyering -2001-02-17 Jim Meyering + * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block. - * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for - getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt - further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on - UnixWare 7.1.1. +2000-05-20 Jim Meyering - * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc., - rather than AC_CACHE_VAL. + * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro. + (jm_PREREQ): Use it. -2001-02-17 Jim Meyering +2000-05-18 Jim Meyering - * lib/strtoul.c: Sync from GNU libc. Use double quotes, not <...> - around included file name. + * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list + back, too, since it may have been modified by allocate_entry. + (hash_delete): Rewrite to use neither the assignment operator + nor the comma operator in an if-expression. - * lib/strnlen.c (__strnlen): Merge in a change from GNU libc. +2000-05-15 Paul Eggert - * lib/strftime.c: Update from GNU libc (the only changes were to - comments). + * lib/closeout.c: + , , , (STDOUT_FILENO): + Remove; no longer needed. + "quotearg.h": Add include. + (file_name): Do not bother to explicitly initialize to NULL; it's less + efficient on some hosts. + (close_stdout_status): Remove test as to whether stdout was already + closed; it breaks for the case "echo x | sort >&-". + Quote file name colons. + Do not assume that _("write error") lacks format strings. -2001-02-17 Jim Meyering +2000-05-15 Jim Meyering - * lib/regex.c: Update from libc. + * lib/version-etc.c (version_etc_copyright): Update the copyright + string used in all --version output. -2001-02-17 Bruno Haible +2000-05-14 Jim Meyering - * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype - clash. + * lib/closeout.c (close_stdout_set_file_name): New function. + (close_stdout_status): Use new file-scoped global. + Return right away if fstat says the stdout file descriptor is invalid. + * lib/closeout.h (close_stdout_set_file_name): Declare. -2001-02-16 Paul Eggert +2000-05-10 Jim Meyering - * lib/alloca.c (malloc): Undef before defining, since stdlib.h - may have defined it. Needed for Encore Umax-3.0.9.16b systems. - Reported by Mark Hounschell via Paul Eggert. + * lib/closeout.c [default_exit_status]: New file-scoped variable. + (close_stdout_set_status): New function. + * lib/closeout.h (close_stdout_set_status): Declare. -2001-02-07 Jim Meyering +2000-05-09 Jim Meyering - * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug. + * m4/gettext.m4: Rename this... + * m4/libintl.m4: ...to this. -2001-02-05 Jim Meyering +2000-05-08 Jim Meyering - * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because - it includes the patch required for `large file' support with at least - HP-UX's 10.20 /bin/cc. + * lib/long-options.c: Don't include closeout.h. + (parse_long_options): Don't call close_stdout for --version. -2001-02-03 Jim Meyering +2000-05-06 Paul Eggert - * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of - AS_IF, now that it works once again (mysteriously). - * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise. + * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to + be 500, instead of _GNU_SOURCE to be 1, to work around glibc + 2.1.3 bug. This avoids a clash when files like regex.c define + _GNU_SOURCE. -2001-01-30 Jim Meyering +2000-05-06 Jim Meyering - Don't use filenames that are 8.3-equivalent to "conftest" on DOS. - * m4/chown.m4: Rename conftestchown to conftest.chown. - * m4/rename.m4: s/conftestdir/conftest.d1/ and - s/conftestdir2/conftest.d2/. - * m4/utimes.m4: s/conftestdata/conftest.data/ - Inspired by Pavel Roskin's change in autoconf. + * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit. + (AC_REPLACE_FUNCS): Add strnlen. -2001-01-30 Bruno Haible + * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file. + * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY. - * lib/config.charset: Update for FreeBSD 4.2. + * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around + AC_SEARCH_LIBS call for nanosleep. + (LIB_NANOSLEEP): Set and AC_SUBST. -2001-01-27 Jim Meyering +2000-05-06 Jim Meyering - * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was - a use of AS_IF. - * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise. + * lib/strnlen.c: Undefine __strnlen and strnlen. + [!weak_alias]: Define __strnlen to strnlen. -2001-01-26 Jim Meyering + * lib/atexit.c: New file, from libiberty. - * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that - quotearg.c includes it. +2000-05-06 Jim Meyering -2001-01-26 Jim Meyering + * lib/closeout.c (close_stdout_status): Also check for errors on the + stderr stream. - * lib/quotearg.c: Include stddef.h. - * lib/quote.c: Include stddef.h. - Reported by Axel Kittenberger. +2000-05-05 Jim Meyering - * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking - line in double quotes so that it evokes a better diagnostic. - [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise. - Reported by Axel Kittenberger. + * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around + AC_SEARCH_LIBS call for clock_gettime. + (LIB_CLOCK_GETTIME): Set and AC_SUBST. -2001-01-24 Stefan Monnier + * m4/search-libs.m4: Update from autoconf. - * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not' - as if it was a `charset'. + su doesn't work on Solaris 2.6. + * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include + . Reported by Dragos Harabor. -2001-01-21 Bruno Haible +2000-05-05 Bruno Haible - * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration - has const. + * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and + memcpy instead of xmalloc, xrealloc, path_concat. + (locale_charset): Treat empty environment variables as absent. + (DIRECTORY_SEPARATOR, ISSLASH): New macros. -2001-01-21 Bruno Haible +2000-05-04 Jim Meyering - * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg, - to avoid a warning. Add back 'const' to inptr. + * lib/getopt.c: Update from glibc. + * lib/obstack.c: Likewise. + * lib/obstack.h: Likewise. + * lib/regex.c: Likewise. NB: K&R compiler support is dropped for this + file -2001-01-20 Jim Meyering + * lib/regex.h: Likewise. + * lib/strndup.c: Likewise. + * lib/strnlen.c: New file, from glibc. - Be sure that headers are checked before used in code compiled - for the type checks. - * m4/jm-macros.m4 (jm_MACROS): Remove all header checks. - In place of that, invoke jm_CHECK_ALL_TYPES. - (jm_CHECK_ALL_HEADERS): New functions with the above checks. - (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS. - Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES; - The check for ssize_t was mistakenly run before the test for unistd.h. +2000-05-03 Jim Meyering - The configure-time check for stdbool.h was missing. - * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH. - (jm_PREREQ_HASH): New function. + * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup. -2001-01-17 Jim Meyering +2000-05-02 Paul Eggert - * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE, - for autoconf-2.49c. - * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise. + * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if + this is needed to make ftello visible (e.g. glibc 2.1.3). Use + compile-time test, rather than inspecting host and OS, to + decide whether to define _LARGEFILE_SOURCE. -2001-01-16 Jim Meyering +2000-05-01 Jim Meyering - * lib/basename.c: Include , needed by assert on SunOS 4. - From Bruno Haible. + * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING. -2001-01-14 Jim Meyering + * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support. + Based on a patch from Bruno Haible. - * m4/rename.m4: Use temporary directories named conftestdir{,2}, not - foo and bar. Create conftestdir/ in the script, not in the C code. - Remove directories in the script, not in the C code. - Remove conftestdir{,2} before trying to create the directory. - Make the entire configure script fail if the mkdir fails. +2000-05-01 Jim Meyering -2001-01-14 Jim Meyering + * lib/full-write.c (full_write): Remove `FIXME' part of comment. - * lib/rename.c: New file. From Volker Borchert. - Include stdlib.h, string.h or strings.h, and xalloc.h. - Use strip_trailing_slashes rather than open-coding it. +2000-04-29 Jim Meyering -2001-01-03 Paul Eggert + * lib/path-concat.c: Declare strdup only if it's not defined. + * lib/canon-host.c: Likewise. - * lib/strftime.c: Sync with glibc time/strftime.c 1.81. +2000-04-28 Jim Meyering -2001-01-03 Jim Meyering + * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to + avoid redefinition warning on some systems (HPUX). Otherwise, regex.h + is included first, then limits.h is included by locale.h by libintl.h. + From John David Anglin. - * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration - of local `inptr' to avoid warning with some system declarations of - iconv. +2000-04-25 Jim Meyering -2001-01-02 Volker Borchert + * lib/makepath.c (S_IRWXUGO): Define. + (make_path): Always perform explicit chmod if MODE specifies any + of the `special' permission bits. Prompted by a bug report against + install from Mate Wierdl and Joost van Baal. - * m4/rename.m4: New file. - * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME. +2000-04-18 Jim Meyering -2001-01-01 Jim Meyering + * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro. + (jm_PREREQ): Use it. - * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available), - even on systems with utmpx.h. It's necessary for the declaration of - utmp's ut_user member. Reported by Andreas Jaeger. +2000-04-18 Jim Meyering - * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if - available. They are required for the declarations of getgrgid and - getpwuid resp. - (_jm_DECL_HEADERS): Check for grp.h and pwd.h. - Reported by Andreas Jaeger. + * lib/README: New file. -2001-01-01 Alexandre Duret-Lutz + * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define + getpagesize. For BeOS. Based on a patch from Bruno Haible. - * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by - expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN, - so `make install' also works in VPATH builds. +2000-04-17 Jim Meyering -2000-12-31 Alexandre Duret-Lutz + Get it right :-) + * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the + actual #define via AH_VERBATIM. Don't need separate AC_DEFINE. + Suggestion from Akim Demaille. - * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR, - prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it - can be used in subdirectories. +2000-04-17 Jim Meyering -2000-12-29 Paul Eggert + * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since + the definition of it to rpl_strftime also defined-away the system's + declaration. - * lib/modechange.c: Do not assume that mode_t uses the - traditional octal encoding. E.g. "chmod 1 FOO" should set - the other-execute bit of FOO even if S_IXOTH != 1. +2000-04-15 Jim Meyering - (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH, - WOTH, XOTH, ALLM): New macros. - (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR, - S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH): - Use them. - (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID. - (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above. - (mode_compile): - No need to use uintmax_t; unsigned long is long enough. - Don't bother to get suffix since we don't use it. + Use `C' to denote so-called `contiguous' files, the same way + that tar does. + * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define. + (ftypelet): Use S_ISCTG. + From Michael Deutschmann. + +2000-04-14 Jim Meyering -2000-12-26 Jim Meyering + * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg + form of AC_DEFINE. Otherwise, the #ifndef in AH_VERBATIM gets + clobbered. - * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work - better with autoheader. +2000-04-14 Jim Meyering -2000-12-24 Jim Meyering + * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime. - * lib/hash.c (is_prime): Return explicit boolean values. - (hash_get_first): Return NULL to appease Irix5.6's 89. - Reported by Nelson Beebe. +2000-04-13 Jim Meyering -2000-12-19 Bruno Haible + * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new + AH_VERBATIM to insert required #ifndef into config.h.in. + Suggestion from Akim Demaille. - * lib/localcharset.c (locale_charset): Add support for Win32. +2000-04-12 Jim Meyering -2000-12-18 Paul Eggert + * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not + `AC_CHECK_HEADER' to check for locale.h. Thanks to a report from + Christian Krackowizer. - * lib/physmem.h, lib/physmem.c: New files. + More code moved from ../configure.in into (jm_CHECK_ALL_TYPES). + * m4/jm-macros.m4 (_GNU_SOURCE): Define. + (AC_SYS_LARGEFILE): Require. + (AM_C_PROTOTYPES): Require. - * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c. - (noinst_HEADERS): Add physmem.h. +2000-04-08 Jim Meyering - * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and - 't' for compatibility with Solaris 8 sort. + * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3 + names don't conflict. Reported by Eli Zaretskii. -2000-12-18 Bruno Haible +2000-04-07 Jim Meyering - * lib/config.charset: Add support for BeOS. + * lib/putenv.c: Move inclusion of errno.h so it follows that of + sys/types.h, to work around system header problems on AIX 3.2.5. + From Bruno Haible. -2000-12-17 Jim Meyering +2000-04-07 Bruno Haible - * m4/dos.m4 (jm_AC_DOS): New file and macro. - * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS. + * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv + bug. Deal with the different error behavior of Irix iconv. -2000-12-16 Jim Meyering +2000-04-05 Paul Eggert - This bug had a serious impact on chown: `chown N:M FILE' (for integer - N and M) would have treated it like `chown N:N FILE'. + * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on + IRIX if the installer said otherwise. - * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/. +2000-04-05 Jim Meyering -2000-12-16 Jim Meyering + Portability tweaks required for ultrix4.3. + * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include . + (jm_CHECK_DECLS): Add getutent to the list of functions. + (_jm_DECL_HEADERS): Add utmpx.h. + From John David Anglin. - * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define - SHELLS_FILE to a file name that's useful on djgpp systems. - Include stdlib.h. - (ADDITIONAL_DEFAULT_SHELLS): Define. - (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS. - Based mostly on a patch from Prashant TR. + * m4/strftime.m4: Back out the 2000-04-02 change. + Instead of that change, simply undefine putenv in the test program. -2000-12-16 Bruno Haible +2000-04-05 Jim Meyering - * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB, - VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256, - CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312. + Portability tweaks required for ultrix4.3. + * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare + getutent. + * lib/readutmp.c: Include sys/types.h before sys/stat.h. + * lib/canon-host.c: Declare strdup. + * lib/path-concat.c: Likewise. + From John David Anglin. -2000-12-08 Andreas Schwab +2000-04-04 Jim Meyering - * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an - invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set. + Be more DOS 8.3-friendly. + * lib/ref-add.sin: Renamed from ref-add.sed.in. + * lib/ref-del.sin: Renamed from ref-del.sed.in. + * lib/Makefile.am: Reflect renaming. + Reported by Eli Zaretskii. -2000-12-07 Jim Meyering + Use a temporary file name that won't clash with `charset.alias' + in the DOS 8.3 name space. + * lib/Makefile.am (charset_tmp): Define. + (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t. + (uninstall-local): Likewise. + Reported by Eli Zaretskii. - * lib/stripslash.c (ISSLASH): Define. - (strip_trailing_slashes): Use ISSLASH rather than comparing against - `/'. - From Prashant TR. +2000-04-03 Jim Meyering - * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define. - (dir_name_r): Declare this function as static. - [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd - manifest itself on a name containing a mix of slashes and - backslashes. - Make this function work with names starting with a DOS-style - drive letter and colon prefix. - (dir_name): Append `.' if necessary. - Based mostly on patches from Prashant TR and Eli Zaretskii. + * m4/gettext.m4: Fix typo in comment. - * lib/dirname.h (dir_name_r): Remove prototype. + * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from + textutils/configure.in). Suggestion from Paul Eggert. + (AC_CHECK_FUNCS): Add nl_langinfo. (also from textutils/configure.in) -2000-12-06 Paul Eggert +2000-04-02 Paul Eggert - * m4/off_t-format.m4: Remove this file. - * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT. + * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment + variable in the shell rather than using putenv, which isn't + portable. This avoids the configure-time inter-test dependency + on the potentially-renamed putenv function. -2000-12-06 Jim Meyering +2000-03-30 Paul Eggert - * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the - replacement strtoull, we may well need the replacement strtoul, too. - Check for declarations of strtoul and strtoull. - Check for strtol. Mainly as a cue to cause automake to include - strtol.c -- that file is included by each of strtoul.c and strtoull.c. - Check for limits.h -- strtol.c needs it. + * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include + before checking struct stat.st_blksize, so that + HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly. -2000-12-05 Jim Meyering +2000-03-29 Paul Eggert - * lib/dirname.c (dir_name_r): Add `const' in a few local declarations. + * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime, + since strftime.c uses HAVE_STRFTIME to decide whether to use + the underlying strftime. -2000-12-04 Jim Meyering +2000-03-29 Paul Eggert - * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc. - Also include memory.h, stdlib.h, unistd.h if appropriate. - Reported by Andreas Jaeger (conflicting declaration of malloc). + * lib/time/strftime.c (my_strftime): Make sure we call the system + strftime, not ourselves, when invoking the underlying strftime. -2000-12-02 Jim Meyering +2000-03-24 Jim Meyering - * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro. - * m4/jm-macros.m4 (jm_MACROS): require it. + * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in. + (charset_alias): Define. + (install-exec-local): Factor out common code. + (uninstall-local): Split lines longer than 80. + (ref-add.sed, ref-del.sed): Remove rules... (do the following instead) + (SUFFIXES): Define. + (.sed.in.sed): New rule. Don't redirect directly to $@. + (CLEANFILES): Add ref-add.sed and ref-del.sed. -2000-12-02 Jim Meyering +2000-03-19 Bruno Haible - * lib/closeout.h: Make idempotent, to avoid some obscure warnings. + * lib/config.charset: Output a line containing "Packages using this + file". + * lib/ref-add.sed.in, lib/ref-del.sed.in: New files. + * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed, + ref-del.sed): New rules. -2000-12-01 Paul Eggert +2000-03-17 Jim Meyering - * lib/memrchr.c: Include before any system include file. + * lib/unicodeio.c (): Include only #if HAVE_STRING_H. + Otherwise, include -2000-11-30 Jim Meyering +2000-03-17 Bruno Haible - * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h. + * lib/unicodeio.c (utf8_wctomb): New function. + (print_unicode_char): Pass the Unicode character to iconv in UTF-8 + format instead of in UCS-4 with platform dependent endianness. -2000-11-30 Jim Meyering +2000-03-10 Jim Meyering - * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf. + * m4/lib-check.m4: Look for getspnam in -lgen, too. + From Marco Franzen. -2000-11-29 Paul Eggert +2000-03-07 Paul Eggert - * lib/dirname.c (dir_name_r): Fix typo: int -> size_t. + * lib/savedir.c (savedir): Work even if directory size is + negative; this can happen with some screwy NFS configurations. -2000-11-26 Jim Meyering +2000-03-06 Jim Meyering - * lib/memcoll.c: Include sys/types.h. From Werner Almesberger. + * lib/localcharset.c (get_charset_aliases): Don't try to free file_name + if it's NULL (because we ran out of memory). From Bruno Haible. -2000-11-22 Paul Eggert +2000-03-05 Jim Meyering - * lib/strftime.c (my_strftime): Do not invoke mbrlen with a - size of (size_t) -1; it's not portable. + * lib/localcharset.c ("path-concat.h"): Include. + (get_charset_aliases): Use path_concat instead of ANSI string + concatenation. -2000-11-17 Jim Meyering + * lib/unicodeio.h (PARAMS): Define. + Use it to guard prototype. - * lib/strstr.c: Update from GNU libc. +2000-03-04 Jim Meyering -2000-11-17 Akim Demaille + * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE, + for lib/localcharset.c. - * lib/obstack.h: Formatting changes. - (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would - prevent type checking. - (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't - cast the value to (void *): assigning a `foo *' to a `void *' - variable is valid. - (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int. +2000-03-04 Jim Meyering -2000-11-16 Jim Meyering + * lib/Makefile.am (install-exec-local): Create $(libdir) before + installing into it. + (uninstall-local): Uncomment this rule so `make distcheck' works + once again. - * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc. + * lib/unicodeio.c (): Include it. + (errno): Declare if not defined. -2000-11-11 Jim Meyering + * lib/localcharset.c: Add Bruno's comment justifying use of volatile. - * lib/error.c: Add a couple #includes, merging from GNU libc version. + * lib/config.charset: New version, incorporating remarks from a linux + i18n mailing list. From Bruno Haible. -2000-11-10 Jim Meyering +2000-03-04 Bruno Haible - * lib/obstack.h: Update from GNU libc. - * lib/obstack.c: Likewise. + * m4/codeset.m4: New file. + * m4/iconv.m4: New file. + * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV. -2000-11-08 Bruno Haible +2000-03-03 Jim Meyering - * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb. + * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'. -2000-11-06 Paul Eggert +2000-03-02 Jim Meyering - * lib/getusershell.c (setusershell): Use rewind rather than - fseek/fseeko, to avoid configuration hassles with fseeko. - Don't bother opening SHELLS_FILE if shellstream is NULL; - it's not necessary. + * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so + the messages come out on separate lines. -2000-11-05 Jim Meyering + * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS, + rather than jm_CHECK_DECLARATIONS. + * m4/decl.m4: Remove now-unused file. - * lib/makepath.h (make_dir): Declare. - * lib/makepath.c (make_dir): Remove `static' attribute. - Tweak a comment. + * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and + geteuid. -2000-11-04 Jim Meyering +2000-03-02 Jim Meyering - * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'. + * lib/Makefile.am (EXTRA_DIST): Add config.charset. -2000-11-04 Alexandre Duret-Lutz +2000-03-01 Jim Meyering - * lib/hash.c (hash_get_next): Fix a thinko: when ENTRY is the - last one in a bucket, advance to the next bucket. + * lib/localcharset.c: Guard some #includes with `#if HAVE_...'. + * lib/unicodeio.c: Likewise. -2000-11-02 Vesselin Atanasov +2000-03-01 Bruno Haible - * lib/fnmatch.c: Do not comment out all the code if we are using - the GNU C library, because in some cases we are replacing buggy - code in the GNU C library itself. + * lib/config.charset: New file. + * lib/localcharset.c: New file. + * lib/unicodeio.h, lib/unicodeio.c: New files. + * lib/Makefile.am (DEFS): Add -DLIBDIR=... + (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c. + (noinst_HEADERS): Add unicodeio.h. + (all-local, install-exec-local, charset.alias): New targets. -2000-10-30 Stefan Monnier +2000-02-28 Paul Eggert - * regex.c (re_iswctype, re_wctype_to_bit): Fix braino. - (regex_compile): Catch bogus \(\1\). + * lib/quotearg.c (ALERT_CHAR): New macro. + (quotearg_buffer_restyled): Use it. -2000-10-30 Paul Eggert +2000-02-27 Jim Meyering - * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned. - (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs, - e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero. + * m4/check-decl.m4: Add getenv to the list. -2000-10-30 Paul Eggert +2000-02-27 Jim Meyering - * lib/error.h, getline.h, modechange.h: - Remove "2000" from Copyright line, as the file hasn't been - changed this year other than in the copyright notice. + * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/. + Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'. - * lib/xalloc.h: Add "2000" to Copyright line, as this file - was changed this year. + * lib/backupfile.c: Guard inclusion of stdlib.h with + `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'. + Declare malloc if needed. -2000-10-29 Jim Meyering + * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of + `#ifndef HAVE_DECL..' + now that autoconf always defines the HAVE_DECL_ symbols. + * lib/human.c: Likewise. + * lib/same.c: Likewise. + * lib/strtoumax.c: Likewise. - * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf - renaming. - * m4/ls-mntd-fs.m4: Likewise + * lib/backupfile.c: Arrange for cpp to fail if the configure-time + declaration check was not run. + * lib/hash.c: Likewise. + * lib/human.c: Likewise. + * lib/same.c: Likewise. + * lib/strtoumax.c: Likewise. -2000-10-29 Jim Meyering + * lib/userspec.c (parse_user_spec): If there is no `:' but there is a + `.', then first look up the entire `.'-containing string as a login + name. - * lib/xstat.in: Fix grammar in comment. +2000-02-23 Jim Meyering -2000-10-29 Greg Louis + * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it + in place of my hack. - * lib/regex.h (__restrict_arr): Move definition out of #ifndef block. - Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but - doesn't define __restrict_arr. +2000-02-18 Paul Eggert -2000-10-28 Jim Meyering + * lib/getdate.y: Handle two-digit years with leading zeros correctly. + (textint): New typedef. + (parser_control): Member year changed from int to textint. + All uses changed. + (YYSTYPE): Removed; replaced by %union with int and textint members. + (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN, + tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER, + tYEAR_UNIT, tZONE, o_merid): Now of type . + (tSNUMBER, tUNUMBER): Now of type . + (date, number, to_year): Use width of number in digits, not its value, + to determine whether it's a 2-digit year, or a 2-digit time. + (yylex): Store number of digits of numeric tokens. + Reported by John Kendall. + + (parser_control): Changed from struct parser_control to typedef (for + consistency). All uses changed. + + (tID): Removed; not used. + (yylex): Return '?' for unknown identifiers, rather than (unused) tID. + +2000-02-14 Paul Eggert + + * lib/getpagesize.h (getpagesize): Port to VMS for Alpha; + adapted from changes to grep getpagesize.h by Martin P.J. Zinser. + +2000-02-12 Jim Meyering + + * lib/userspec.c (ISDIGIT): Define it. + (isdigit): Remove definition. + (is_number): Use ISDIGIT, not isdigit. + : Include. + (_ and N_): Define. + (parse_user_spec): Mark translatable strings. + +2000-02-10 Jim Meyering + + With these changes, nanosleep.[ch] are finally enough like the other + lib/* replacement files to compile on a few more losing systems. + + * lib/nanosleep.h: Don't include config.h. + Remove prototype from declaration of nanosleep. + (PARAMS): Remove now-unneeded definition. + * lib/nanosleep.c: #undef nanosleep. + (rpl_nanosleep): Rename from nanosleep. + +2000-02-10 Jim Meyering + + * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from + gnu_nanosleep to rpl_nanosleep. + +2000-02-09 Jim Meyering + + * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in + struct spwd, rather than in struct passwd. Reported by Gaël Quéri. + +2000-02-08 Akim Demaille + + * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with + `[' and `]' and remove uses of `changequote'. + (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise. + (AC_SYS_LARGEFILE): Likewise. + * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise. + * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use + of changequote. + * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise. + * m4/readdir.m4 (jm_FUNC_READDIR): Likewise + * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main. + * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise. + +2000-02-05 Jim Meyering + + * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros. + Remove explicit use of AC_HEADER_TIME. It is required by + jm_CHECK_TYPE_STRUCT_TIMESPEC. Using AC_HEADER_TIME and + `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but + in autoconf whereby the expansion of the latter ended up preceding + the expansion of its prerequisite, AC_HEADER_TIME. + Reported by Volker Borchert. - * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR. - (jm_PREREQ_MEMCHR): New function. +2000-02-03 Jim Meyering -2000-10-28 Jim Meyering + * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname. - * lib/memchr.c: Update from libc. - Adjust for portability: - [HAVE_STDLIB_H]: Include stdlib.h. - [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h. - Undef __memchr, too. - [!weak_alias]: Define __memchr to memchr. +2000-02-03 Jim Meyering - * lib/regex.c: Update from libc. - * lib/regex.h: Likewise. - * lib/getopt1.c: Likewise. - * lib/memcmp.c: Likewise. + * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION', + rather than with `#if HAVE_UTMPNAME'. - * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko. - Avoid using fseek, when possible -- it's broken by design. - Patch by Ulrich Drepper. +2000-02-02 Jim Meyering -2000-10-27 Stefan Monnier + * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no + definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/. + Reported by Eli Zaretskii. - * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal) - (re_match_2_internal, re_match_2_internal, re_match_2_internal): - Giving in to popular pressure to shut up the compiler with casts. +2000-02-01 Jim Meyering -2000-10-26 Jim Meyering + * lib/readutmp.h (UT_USER): Add parens. From Andreas Schwab. - * lib/strftime.c: Update from libc. +2000-01-31 Jim Meyering -2000-10-25 Stefan Monnier + * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of + functions. Add the time.h and sys/time.h headers along with the + AC_REQUIRE'ment of AC_HEADER_TIME. - * regex.c: More `unsigned char' -> `re_char' changes. - Also change several `int' into `re_wchar_t'. - (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove. - (PUSH_FAILURE_POINTER): Don't cast any more. - (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'. - We want GCC to complain, since this piece of code makes - re_match non-reentrant, which *should* be fixed. - (GET_BUFFER_SPACE): Use size_t rather than unsigned long. - (EXTEND_BUFFER): Use RETALLOC. - (SET_LIST_BIT): Don't cast. - (re_wchar_t): New type. - (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC - that those two functions will always properly return. - (IMMEDIATE_QUIT_CHECK): Cast to void. - (analyse_first): Use recursion rather than an explicit stack. - (re_compile_fastmap): Can't fail anymore. - (re_search_2): Don't check re_compile_fastmap for failure. - (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT. - Now also sets the new value (passed in a new argument). - (re_match_2_internal): Use it. - Also, use a new var `reg' of type size_t when looping through regs - rather than reuse the inappropriate `mcnt'. +2000-01-31 Jim Meyering -2000-10-25 Jim Meyering + * lib/nanosleep.h (nanosleep): Guard declaration with + `#if ! HAVE_DECL_NANOSLEEP'. + Without this, OFS gets a redeclaration error for rpl_nanosleep, due to + the declaration in that vendor's sys/timers.h. + Reported by Christian Krackowizer. - * lib/obstack.c: Update from libc. + * lib/quotearg.c (ISASCII): Add #undef and move definition to follow + inclusion of wctype.h to work around Solaris 2.6 namespace pollution. + (ISPRINT): Likewise. + Reported by Tom Tromey. -2000-10-24 Kenichi Handa +2000-01-30 Jim Meyering - * regex.c (regex_compile): Change the way of handling a range from - a char less than 256 to a char not less than 256. + * m4/lib-check.m4: Clean up some kludgy old shadow password tests. -2000-10-24 Andrew Innes + * m4/prereq.m4 (utmp_includes): Define. + Check for ut_user and ut_name members in both struct utmpx + and struct utmp. - * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on - NT-Emacs only. - (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT, - so that re_search functions only quit when callers expect them to. +2000-01-30 Jim Meyering -2000-10-23 Jim Meyering + * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of + hard-coding uses of ->ut_name. The latter doesn't work with new Linux + header files where only utmpx.ut_user is declared. - * lib/hard-locale.c (hard_locale): Revert last change -- it was simply - wrong. That set_locale call must not have any side effects. - From Paul Eggert. + * lib/readutmp.h (UT_USER): Define. -2000-10-22 Jim Meyering +2000-01-29 Jim Meyering - * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC. - [CYCLIC]: Remove now-unused definition. + * m4/lib-check.m4: New file containing library-related checks from + fileutils and sh-utils (textutils had none). - * lib/save-cwd.c (O_DIRECTORY): Define, if needed. - (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".". - Suggestion from Ulrich Drepper. +2000-01-28 Jim Meyering -2000-10-21 Jim Meyering + * m4/perl.m4: Change format of warning message to look more like that + from the missing script. Suggestion from François Pinard. - * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr. - * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro. - * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr. +2000-01-25 Jim Meyering -2000-10-21 Jim Meyering + * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as + well as time.h in the compile check. + * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it. + Fix typo in cross-compiling case: s/yes/no/. - * lib/dirname.c (memrchr): Declare if necessary. - (dir_name): Remove the restriction that there be no - trailing slashes. Now, this code skips past them, effectively - ignoring them. - [TEST_DIRNAME] (main): New unit tests. +2000-01-23 Jim Meyering - * lib/memrchr.c: New file from GNU libc. - Undef __memrchr, too. - [!weak_alias]: Define __memrchr to memrchr. - Guard weak_alias use with `#ifdef weak_alias'. + * m4/jm-macros.m4: Move df-related tests here from + fileutils/configure.in -2000-10-21 Jim Meyering + * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/ + (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters. - * lib/dirname.c (dir_name_r): New function, factored out of dir_name. - (dir_name): Use dir_name_r. - * lib/dirname.h (dir_name_r): Declare it. + * m4/fsusage.m4: New file. Extracted from fileutils/configure.in. + s/space/ac_fsusage_space/. + (jm_FILE_SYSTEM_USAGE): Take two parameters. -2000-10-17 Jim Meyering + * m4/ftruncate.m4: New file (derived from part of + fileutils/configure.in). + * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it. + (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT. - * lib/quote.h (PARAMS): Define and use. - Reported by Akim Demaille. + * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN): + AC_SUBST these here, rather than just in sh-util/configure.in, so + that the now-shared-by-fileutils-and-textutils lib/Makefile.am are + all the same. + (AM_FUNC_OBSTACK): Add (from fileutils/configure.in). + (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils. + (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in). + (AC_SUBST(POW_LIBM)): Likewise. + (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in. - * lib/getopt.c: Update from libc. +2000-01-23 Jim Meyering -2000-10-16 Jim Meyering + * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of + obstack.c. - * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to - setlocale. - From Jan Fedak. +2000-01-22 Jim Meyering + + * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST. + + * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h. + + * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils' + configure.in + (AC_CHECK_HEADERS): Likewise for sh-utils. + (AC_CHECK_HEADERS): Likewise for textutils. + Merge the three lists of headers. + + * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro. Parts moved here + from fileutils' configure.in. + + * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)' + code. Moved tests into their own function (_jm_DECL_HEADERS) in + check-decl.m4. + + * m4/check-decl.m4: Use #if rather than #ifdef. + Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL. + (jm_CHECK_DECLARATIONS): Add strtoul strtoull. + (_jm_DECL_HEADERS): Define new function. + (jm_CHECK_DECLARATIONS): Require it. + +2000-01-22 Jim Meyering -2000-10-15 Stefan Monnier + * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul. + [! HAVE_DECL_STRTOULL]: Declare strtoull. + Required for some AIX systems. Reported by Christian Krackowizer. + [TESTING] (main): New function. - * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well. + 1997-10-17 Eli Zaretskii + * lib/dirname.c (dir_name): Support for DOS-style file names with drive + letters. -2000-09-25 Jim Meyering + * lib/quotearg.c [HAVE_WCTYPE_H]: Include for decl of + iswprint. - * lib/md5.h (rol): Define (from GnuPG). + * lib/strverscmp.c (ISDIGIT): Define. + (strverscmp): Use ISDIGIT, not isdigit. - * lib/sha.c: Give credit (GnuPG) where due. - (M): Use rol rather than open-coding it. - Add a FIXME comment. +2000-01-19 Jim Meyering -2000-09-21 Jim Meyering + * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include , too. + Use AC_HEADER_TIME. Volker Borchert reported that OpenBSD-2.3/sparc + defines `struct timespec' in - * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added. - Reported by Michael Stone. + * m4/c-bs-a.m4: Remove uses of changequote altogether. + Thanks to Akim for explaining. -2000-09-20 Jim Meyering +2000-01-17 Paul Eggert - * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c. - (noinst_HEADERS): Add sha.h. - Based on code from Scott G. Miller and from GnuPG. + * lib/nanosleep.c (nanosleep): + Don't use SA_INTERRUPT to decide whether to call sigaction, as + POSIX.1 doesn't require SA_INTERRUPT and some systems + (e.g. Solaris 7) don't define it. Use SA_NOCLDSTOP instead; + it's been part of POSIX.1 since day 1 (in 1988). -2000-09-18 Jim Meyering +2000-01-17 Jim Meyering - * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of - LIBS. Otherwise, everyone ends up linking with -lelf for some - configurations. - Reported by Mike Stone. + * lib/interlock: Remove unused file. Reported by François Pinard. -2000-09-15 Jim Meyering +2000-01-16 Paul Eggert - * lib/regex.c: Update from libc. + * lib/quotearg.c (quotearg_buffer_restyled): Do not quote + alert, backslash, formfeed, and vertical tab unnecessarily in + shell quoting style. -2000-09-10 Jim Meyering +2000-01-16 Jim Meyering - * lib/getopt.c (_getopt_internal): Update from glibc. + * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV, + AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME, + jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA, + AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME. -2000-09-09 Jim Meyering +2000-01-16 Jim Meyering - * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't - think it should be used as a general replacement for isascii. - * lib/fnmatch.c: Likewise. - * lib/mbswidth.c: Likewise - * lib/regex.c: Likewise. + * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )' + because the latter didn't work. - Don't use atoi. - * lib/userspec.c: Include sys/param.h and limits.h. - Include xstrtol.h. - (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define. - (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define. - (parse_user_spec): Use xstrtoul, not atoi when converting numeric - UID, GID. Check range. +2000-01-15 Jim Meyering -2000-09-06 Jim Meyering + * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell. + (AC_REPLACE_FUNCS): Add memcpy and memset. + Add these, too: stime strcspn stpcpy strstr strtol strtoul. + Add strpbrk. + Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp. - * lib/getopt.c (_getopt_internal): Update from glibc. +2000-01-12 Jim Meyering -2000-08-30 Jim Meyering + * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro. + (jm_PREREQ): Use it. + (jm_PREREQ_READUTMP): New macro. + (jm_PREREQ): Use it. - * lib/strftime.c: Merge in changes from GNU libc. +2000-01-11 Paul Eggert -2000-08-26 Jim Meyering + Quote multibyte characters correctly. + * m4/c-bs-a.m4: New file. + * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro. + (jm_PREREQ): Use it. - * m4/jm-macros.m4: Use jm_FUNC_FPENDING. - * m4/fpending.m4: New file. +2000-01-11 Paul Eggert -2000-08-26 Jim Meyering + * m4/uintmax_t.m4: Port to autoconf 2.13. - * lib/closeout.c: Include "__fpending.h". - (close_stdout_status): Return right away if there's nothing to flush. +2000-01-08 Jim Meyering - * lib/Makefile.am (noinst_HEADERS): Add __fpending.h. - * lib/__fpending.c: New file. - * lib/__fpending.h: New file. + * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro. + * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it. -2000-08-20 Jim Meyering +2000-01-04 Jim Meyering - * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than - `#if !HAVE_UTMPX_H'. The latter would lose on systems with neither - utmp.h nor utmpx.h. Reported by Eli Zaretskii. + * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from + jm_STRUCT_DIRENT_D_TYPE. + * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from + jm_STRUCT_DIRENT_D_INO. + * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from + jm_STRUCT_UTIMBUF. + * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/ + renamings. + * m4/utime.m4: Likewise. -2000-08-11 J. David Anglin + * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro. + * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it. - Improve fileutils installation on systems where running - programs (like install) can't be unlinked. - * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro. - * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT. +2000-01-03 Paul Eggert -2000-08-07 Paul Eggert + * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt + (for Solaris 7) and in -lposix4 (for Solaris 2.5.1). - Standardize on "memory exhausted" instead of "Memory exhausted" - or "virtual memory exhausted". - * lib/obstack.c (print_and_abort): Use "memory exhausted", not - "virtual memory exhausted". - * lib/same.c (same_name): Invoke xalloc_die instead of printing - our own message. - * lib/userspec.c (parse_user_spec): Likewise. - * lib/bumpalloc.h: comment fix - * lib/same.c, userspec.c: Include xalloc.h. +2000-01-02 Jim Meyering - * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[], - not char *const and pointing to a constant array. - * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise. - (xrealloc): Comment fix. + * m4/search-libs.m4: Escape `$' in $3 of dnl comment. I no longer + remember if this is necessary. - * lib/userspec.c (parse_user_spec): - Don't translate a message until just before returning, - to avoid unnecessary translation. +1999-12-26 Jim Meyering -2000-08-07 Jim Meyering + * m4/jm-macros.m4: Use it here. + * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro. - * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h, - chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c, - fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h, - getgroups.c, gethostname.c, getopt.h, group-member.c, - hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c, - linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c, - memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h, - pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c, - stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c, - strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c, - utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c, - yesno.c: Back out Copyright date changes for each file with no change - this year. This eases coordination with other programs using the same - source code modules. From Paul Eggert. +1999-12-23 Jim Meyering -2000-08-06 Paul Eggert + * m4/jm-macros.m4: Check for clock_gettime (moved from + fileutils/configure.in) + Check for gettimeofday. - * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int, - not char, for compatibility with glibc 2.1.3 strftime.c. +1999-12-20 Jim Meyering -2000-08-03 Greg McGary + * m4/strftime.m4: Remove kludge, now that I'm using the fixed + autoconf-2.14a-1999-12-20. - * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, - ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros. - (EXTEND_BUFFER): Use them. +1999-12-19 Jim Meyering -2000-08-01 Jim Meyering + * m4/lstat-slash.m4: New file. + * m4/jm-macros.m4: Use the new macro: + jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. - * lib/dirname.c (ISSLASH): Define. - (BACKSLASH_IS_PATH_SEPARATOR): Define. - (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which - both `\' and `/' may be use as path separators. - Based on a patch from Prashant TR. +1999-12-07 Jim Meyering -2000-07-31 Paul Eggert + * m4/perl.m4: Require that File::Compare be available, too. + Too many systems seem to lack it. - * lib/quotearg.c (quotearg_n_options): Don't make the initial - slot vector a constant, since it might get modified. + * m4/strftime.m4: Add checks for most of the cpp macros tested in + GNU's strftime.c. Prompted by a patch from Paul Eggert. -2000-07-31 Jim Meyering +1999-11-18 Paul Eggert - * lib/xmalloc.c: Use `virtual memory exhausted', not - `Memory exhausted'. - * lib/obstack.c (print_and_abort): Likewise. + * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a + problem with the QNX 4.25 shell, which doesn't propagate exit + status of failed commands inside shell assignments. -2000-07-30 Paul Eggert +1999-11-17 Jim Meyering - * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0 - buffer, so that the caller can always quote one small - component of a "memory exhausted" message in slot 0. - From a suggestion by Jim Meyering. + * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES. -2000-07-30 Jim Meyering +1999-11-07 Jim Meyering - * lib/makepath.c (make_path): Quote the other instance, too. + * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE. - * lib/quotearg.c (N_STATIC_SLOTVECS): Define. - (STATIC_BUF_SIZE): Define. - (quotearg_n_options): Use only statically allocated storage when - N < N_STATIC_SLOTVECS and the length of the quoted result is smaller - than STATIC_BUF_SIZE. +1999-11-06 Jim Meyering -2000-07-29 Jim Meyering + * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro. + * m4/jm-macros.m4 (jm_MACROS): Use it here. - * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS. - * lib/dirname.c (dir_name): Likewise. +1999-11-05 Jim Meyering - * lib/basename.c (base_name): Use ISSLASH rather than comparing against - `/'. + * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from + configure.in of textutils, fileutils, and sh-utils into this one + (shared between those packages) file. + Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated + AC_STRUCT_ST_BLKSIZE. - * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const. - (dir_name): Assert that there are no trailing slashes. +1999-11-03 Jim Meyering -2000-07-29 Bruno Haible + * m4/ssize_t.m4: Remove file. No longer needed since the new version + of AC_CHECK_TYPE checks includes unistd.h. + * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'. + Suggestion from Akim Demaille. - * lib/mbswidth.h (mbswidth): Add a flags argument. - (mbswidth): New declaration. - (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros. - * lib/mbswidth.c (mbswidth): Add a flags argument. - (mbsnwidth): New function. +1999-10-30 Jim Meyering -2000-07-24 Jim Meyering + * m4/uintmax_t.m4: Require 2.14a. Remove backslash before backtick in + m4-quoted string. + * m4/ls-mntd-fs.m4: Likewise. + * m4/jm-macros.m4: Likewise. Also, use AC_TYPE_SSIZE_T instead + * m4/jm-winsz1.m4: Likewise. - * lib/mbswidth.c: Remove useless #else. From Bruno Haible. + * m4/const.m4: Remove file, since the fix made it into the experimental + version of autoconf. + * m4/mktime.m4: Likewise. -2000-07-23 Paul Eggert + * m4/check-type.m4: Remove file, now that the latest version of + AC_CHECK_TYPE takes a third arg to specify additional #includes. - * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration. + * m4/ssize_t.m4: New file, requires experimental version of autoconf. + * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked + AC_CHECK_TYPE. -2000-07-23 Paul Eggert +1999-10-04 Jim Meyering - * lib/quotearg.c: Streamline by invoking multibyte code only if needed. - : Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX. - (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX). - (quotearg_buffer_restyled): If a unibyte locale, don't bother to - invoke multibyte primitives. + * m4/jm-macros.m4: Don't require autoconf-2.14.1. -2000-07-23 Paul Eggert +1999-09-22 Paul Eggert - * lib/quotearg.c: - Include even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX), - so that mbstate_t is always defined. + * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC + 2.95.1 bug with HP-UX 10.20. - Do not inspect MB_LEN_MAX, since it's incorrectly defined to - be 1 in at least one GCC installation, and this configuration - error is likely to be common. Ignoring MB_LEN_MAX hurts - performance on hosts that have mbrtowc but have only unibyte - locales, but I assume these hosts are rare. +1999-09-17 Jim Meyering -2000-07-23 Paul Eggert + * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup. + Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3 + due to missing strdup (against sh-utils-2.0). - * lib/mbswidth.c (_XOPEN_SOURCE): - Don't define; this causes problems on Solaris 7. - (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare. +1999-08-29 Jim Meyering -2000-07-23 Jim Meyering + * m4/jm-macros.m4: Require jm_BISON. + * m4/bison.m4: New file. - * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these, - too: getgrgid, getpwuid, getuid. +1999-08-17 Paul Eggert -2000-07-23 Jim Meyering + * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma + in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20. - * lib/basename.c (base_name): Add an assertion. +1999-08-05 Jim Meyering -2000-07-23 Bruno Haible + * m4/getline.m4: Rename test file from conftestdata to conftest.data + to avoid conflicts with `conftest' on 8+3 filesystems. + Suggestion from Eli Zaretskii. - * lib/quotearg.c: When the system forces us to redefine mbstate_t, - shadow its mbsinit function. +1999-08-04 Jim Meyering -2000-07-17 Bruno Haible + * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of + fileutils and sh-utils (textutils's getline test was inadequate). + (AM_FUNC_GETLINE): Run this test. + (AC_CHECK_FUNCS): Check for getdelim. + Reported by Bob Proulx. - * lib/mbswidth.h: New file. - * lib/mbswidth.c: New file. - * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c. - (noinst_HEADERS): Add mbswidth.h. +1999-08-02 Jim Meyering -2000-07-17 Bruno Haible + * m4/jm-macros.m4: Add a comment. - * lib/config.charset: Add support for FreeBSD. Improve support for - HP-UX and IRIX 6. +1999-08-01 Paul Eggert -2000-07-16 Bruno Haible + * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether + defines strtoumax as a macro (and not as a + function). - * m4/mbswidth.m4: New file. - * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH. +1999-08-01 Paul Eggert -2000-07-15 Jim Meyering + * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure + that we can shift, multiply and divide unsigned long long + values; Ultrix cc can't do it. - * lib/makepath.c: Include quote.h. - (make_path): Convert "`%s'" in format strings to "%s", and wrap each - corresponding argument in a `quote (...)' call. - Give better diagnostics. +1999-08-01 Paul Eggert - * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c. - (noinst_HEADERS): Add quote.h. + * m4/mktime.m4: New file, which is a preview of what should appear + in the next public autoconf release. - * lib/quote.c (quote, quote_n): New file. Two functions taken verbatim - from tar's src/misc.c. - * lib/quote.h: New file. Prototypes for same. +1999-08-01 Paul Eggert -2000-07-14 Paul Eggert + * m4/lfs.m4: Remove this file. + * m4/largefile.m4: New file. It contains the old contents of + lfs.m4, except that all names with prefix AC_LFS have been + changed to use the prefix AC_SYS_LARGEFILE instead, to be + compatible with future autoconf versions. Also, some minor m4 + quoting problems have been fixed. - From a suggestion by Bruno Haible. - * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition. - Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT, - to decide whether to define the BeOS workaround macro; - this adjusts to the change to AC_MBSTATE_T. +1999-08-01 Paul Eggert -2000-07-14 Jim Meyering + * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines. + Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl. + (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting, + and simplify the shell code. - * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require - jm_AC_TYPE_UINTMAX_T. +1999-08-01 Jim Meyering -2000-07-13 Paul Eggert + * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from + m4. - * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style. +1999-07-20 Jim Meyering - * lib/quotearg.c (quoting_style_args, quoting_style_vals, - quotearg_buffer_restyled): Add support for - clocale_quoting_style. Undo previous change to - locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}" - and "{RIGHT QUOTATION MARK}" msgids. + * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove. -2000-07-10 Paul Eggert +1999-07-15 Jim Meyering - From a suggestion by Bruno Haible. - * m4/mbstate_t.m4 (AC_MBSTATE_T): - Renamed from AC_MBSTATE_T_OBJECT. All uses changed. - Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT - and mbstate_t, to a single-part test that simply defines mbstate_t. - * m4/prereq.m4 (jm_PREREQ_QUOTEARG): - s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/. + * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize. -2000-07-10 Jim Meyering +1999-05-22 Jim Meyering - * m4/strerror_r.m4: Mirror the correction made in autoconf. + * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr. - * m4/gnu-source.m4: Output to confdefs.h directly. - Suggestion from Akim Demaille. +1999-05-20 Jim Meyering -2000-07-09 Paul Eggert + * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine. + Add a colon after each `then' in case $4 is empty. - The old behavior of quoting `like this' doesn't look good with - newer, ISO-style fonts. See: - http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html +1999-05-16 Jim Meyering - Instead, quote "like this" by default. Let the translator - tailor the locale-specific quoting behavior by providing - translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}. + * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS. - * lib/quotearg.c (N_): New macro. - (gettext_default): New function. - (quotearg_buffer_restyled): Use - gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and - gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote. +1999-05-10 Jim Meyering -2000-07-09 Jim Meyering + * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME. - * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required - to link seq. If so, set SEQ_LIBM to -lm. From Bruno Haible. + * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed + AC_FUNC_MKTIME. - * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro. - * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it. +1999-05-10 Andreas Schwab -2000-07-09 Jim Meyering + * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments. - * lib/Most files: Update copyright dates to include 2000. +1999-05-04 Paul Eggert -2000-07-08 Jim Meyering + * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS, + not CPPFLAGS, so that linking works correctly in IRIX. - * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value - if not defined. - (xgethostname): Remove now-unnecessary #ifdef. - Move declaration of `err' into loop where it's used. +1999-04-30 Paul Eggert -2000-07-05 Paul Eggert - and Bruno Haible + * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2. - * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t - only if the test for an object-type mbstate_t fails. This - prevents us from mistakenly reporting that mbstate_t is a - system object type after we "#define mbstate_t int" to work - around its lack. +1999-04-20 Paul Eggert -2000-07-05 Paul Eggert - and Bruno Haible + * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long + long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro. + * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require + jm_AC_TYPE_UNSIGNED_LONG_LONG. + * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro. + + * m4/lfs.m4: Port to AIX and HP-UX. Support cross-compilation. + +1999-04-20 Jim Meyering - * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't. + * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG. + AC_REPLACE xstroull if necessary. From Paul Eggert. + (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq. -2000-07-05 Bruno Haible +1999-04-18 Jim Meyering - * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer - to strerror_r. - Include for use of isalpha. + * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro. + * m4/jm-macros.m4: Use it. -2000-07-05 Bruno Haible +1999-04-06 Jim Meyering - * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug - by allocating a larger buffer. Test the gethostname return value for - being >= 0, not == 0, for BeOS. Don't exhaust memory if gethostname - returns an error and ENAMETOOLONG isn't defined. + * m4/strftime.m4: Remove test for %f. -2000-07-05 Bruno Haible +1999-03-29 Jim Meyering - * lib/quotearg.c (struct quoting_options): Simplify quote_these_too - dimension. + * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the + superset of the AC_TYPE_* checks in the textutils, fileutils, + and sh-utils, plus AC_TYPE_PID_T. Paul Eggert suggested adding + AC_TYPE_PID_T. -2000-07-04 Jim Meyering +1999-03-28 Jim Meyering - * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead - of the deprecated AC_CHECKING. + * m4/jm-macros.m4: Define GNU_PACKAGE here. + Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is + replaced e.g., in the *.sh files of the sh-utils. -2000-07-04 Jim Meyering +1999-03-20 Jim Meyering - * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen. - Reported by Bruno Haible. + * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/. + * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX. + Don't depend on AM_GLIBC. Suggestions from Alain Magloire. -2000-07-04 Jim Meyering +1999-03-19 Jim Meyering - * lib/quotearg.c: Make inclusion of independent of whether - HAVE_MBRTOWC is set. Required at least for irix-5.6, which - lacks mbrtowc. + * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro. -2000-07-03 Paul Eggert +1999-03-12 Jim Meyering - * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13. - Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H. + * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED. -2000-07-03 Paul Eggert - and Bruno Haible +1999-03-07 Jim Meyering - * lib/quotearg.c (mbrtowc): - Assign to *pwc, and return 1 only if result is nonzero. - (iswprint): Use ISPRINT when substituting our own mbrtowc. + * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are + declared. -2000-07-03 Jim Meyering +1999-02-17 Jim Meyering - * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen. + * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of + brackets in macro definition. From Eli Zaretskii and Alain Magloire. -2000-07-03 Jim Meyering +1999-02-07 Jim Meyering - * lib/readutmp.h: [HAVE_UTMPX_H]: Include if HAVE_UTMP_H. - This is necessary to get a definition of e.g., UTMP_FILE on - HP-UX 10.20. - From Bob Proulx. + * m4/group-member.m4: New file -- extracted from sh-utils' + configure.in. -2000-07-02 Jim Meyering + 1999-02-05 Eli Zaretskii + * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names. - * m4/mbstate_t.m4: Also define mbstate_t, if necessary. +1999-02-06 Jim Meyering - * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with - AC_LIBOBJ(function_name). - * m4/chown.m4: Likewise. + * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS. + * m4/fnmatch.m4: Likewise. + * m4/getgroups.m4: Likewise. + * m4/lstat.m4: Likewise. + * m4/malloc.m4: Likewise. + * m4/putenv.m4: Likewise. + * m4/realloc.m4: Likewise. + * m4/regex.m4: Likewise. + * m4/stat.m4: Likewise. + * m4/strftime.m4: Likewise. + Suggestion from Alain Magloire. + + * m4/chown.m4: Use `.$ac_objext', not `.o'. * m4/fnmatch.m4: Likewise. - * m4/ftruncate.m4: Likewise. * m4/getgroups.m4: Likewise. * m4/getline.m4: Likewise. - * m4/group-member.m4: Likewise. - * m4/jm-macros.m4: Likewise. * m4/lstat.m4: Likewise. * m4/malloc.m4: Likewise. * m4/memcmp.m4: Likewise. - * m4/nanosleep.m4: Likewise. * m4/putenv.m4: Likewise. * m4/realloc.m4: Likewise. * m4/regex.m4: Likewise. * m4/stat.m4: Likewise. * m4/strftime.m4: Likewise. + Suggestion from Alain Magloire. -2000-07-02 Jim Meyering + * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires + an argument. - * lib/quotearg.c (mbstate_t): Don't define here. + * m4/regex.m4: Add a run-time Test for proper operation of + re_compile_pattern. -2000-07-02 Jim Meyering +1999-01-31 Jim Meyering - * lib/nanosleep.c (SIGCONT): Define if not already defined. + * m4/getloadavg.m4: Check for locale.h and the function, setlocale. -2000-07-01 Jim Meyering +1999-01-30 Jim Meyering - * m4/uptime.m4: Put double quotes around use of $cross_compiling. + * m4/check-type.m4: Use 3-arg form of AC_DEFINE. -2000-07-01 Jim Meyering + * m4/jm-mktime.m4: Make this a wrapper around the official + AM_FUNC_MKTIME rather than my private copy, now that the official one + is up to date. + * m4/mktime.m4: Remove file. - * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated - problem. + * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE. + * m4/uptime.m4: Likewise. + * m4/uintmax_t.m4: Likewise. -2000-07-01 Bruno Haible +1999-01-28 Jim Meyering - * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific - macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV. + * m4/jm-macros.m4: Use jm_AFS. + * m4/afs.m4: New file (from fileutils' configure.in). -2000-07-01 Bruno Haible + * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros. + * m4/chown.m4: Likewise. + * m4/d-ino.m4: Likewise. + * m4/d-type.m4: Likewise. + * m4/fnmatch.m4: Likewise. + * m4/getgroups.m4: Likewise. + * m4/gettext.m4: Likewise. + * m4/jm-mktime.m4: Likewise. + * m4/jm-winsz2.m4: Likewise. + * m4/lcmessage.m4: Likewise. + * m4/ls-mntd-fs.m4: Likewise. + * m4/malloc.m4: Likewise. + * m4/memcmp.m4: Likewise. + * m4/putenv.m4: Likewise. + * m4/realloc.m4: Likewise. + * m4/st_mtim.m4: Likewise. + * m4/strftime.m4: Likewise. - * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV, - per change in ../m4/ls-mntd-fs.m4. - (read_filesystem_list): Ignore symbolic links. +1999-01-16 Jim Meyering -2000-06-29 Jim Meyering + * m4/jm-macros.m4 (ARGMATCH_DIE): Define. + (ARGMATCH_DIE_DECL): Define. - * lib/same.c: Include or , as appropriate, - for declaration of strcmp. +1999-01-12 Jim Meyering - * lib/long-options.c: Include , for declaration of exit. + * m4/Makefile.am.in: Rewrite to avoid using fmt. + Reported by Lars Hecking. - * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]: - Avoid warning by casting result to `char *' to remove `const'. +1999-01-10 Jim Meyering -2000-06-28 Jim Meyering + * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my + gross kludge. + * m4/inttypes_h.m4: Likewise. + * m4/lstat.m4: Likewise. + * m4/malloc.m4: Likewise. + * m4/readdir.m4: Likewise. + * m4/realloc.m4: Likewise. + * m4/st_dm_mode.m4: Likewise. + * m4/stat.m4: Likewise. + * m4/utimbuf.m4: Likewise. + * m4/utimes.m4: Likewise. - * m4/mbstate_t.m4: Use stdlib.h, not stdio.h. The latter is not - included by quotearg.c, for which we perform this test. From - Bruno Haible. + * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the + AC_CHECK_FUNCS hack. Now, it's still a hack, but at least the + comments in config.h.in are meaningful. -2000-06-27 Bruno Haible + * m4/jm-macros.m4: Require autoconf-2.13 here. - * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well. - * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either or - exists, put readutmp.o into LIBOBJS. + * m4/regex.m4: By default, don't use the included regex.c on systems + with glibc 2. Suggestion from Uli Drepper. -2000-06-27 Bruno Haible +1999-01-02 Jim Meyering - * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c. + * m4/jm-macros.m4: Replace strcasecmp and strncasecmp. -2000-06-26 Paul Eggert +1998-12-18 Jim Meyering - savedir now sets errno on failure and invokes xmalloc to get memory. - Fix a couple of other minor bugs while we're at it. + * m4/Makefile.am.in (Makefile.am): Simplify rule. + Based on a suggestion from Lars Hecking. - * lib/savedir.c (): Do not include; there's no need. - (NAMLEN): Remove macro. - (malloc, realloc): Remove decls. - (stpcpy): Likewise. - ("xalloc.h"): Include. - (NAME_SIZE_DEFAULT): New macro. - (savedir): Use xmalloc / xrealloc to allocate memory. - Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero. - Skip "" directory entries. - Use strlen to calculate directory entry length, since the old method - is rarely used these days and isn't worth supporting. - Don't use a pointer after freeing it. - Check for integer overflow when calculating allocation size. - Use memcpy to copy entries, instead of stpcpy. - Set errno properly when returning NULL. - Check for readdir error. +1998-11-16 Paul Eggert -2000-06-26 Jim Meyering + * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11. - * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort. +1998-11-16 Jim Meyering -2000-06-25 Jim Meyering + * m4/lfs.m4: Double-quote the `uname...` expression. - * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around - Linux header bug when _XOPEN_SOURCE is defined to 500. +1998-11-14 Jim Meyering -2000-06-25 Bruno Haible + * m4/lstat.m4: Correct comment. POSIX does not permit it to succeed. + * m4/stat.m4: Likewise. - * lib/unicodeio.c (print_unicode_char): Work around ansi2knr - deficiency. +1998-11-03 Jim Meyering -2000-06-25 Bruno Haible + * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG. + * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG. - * lib/getusershell.c (xmalloc, xrealloc): Remove functions. - Include xalloc.h. - Don't include . Don't declare malloc, realloc. +1998-10-18 Jim Meyering -2000-06-24 Jim Meyering + * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro. - * m4/strerror_r.m4: Revive this file -- to try out an experimental - version of AC_FUNC_STRERROR_R that may work even on BeOS, a system - for which strerror does return char*, but which lacks a conveniently - accessible declaration of the function. If the compile-test says - strerror_r doesn't work, then resort to a `run'-test that works on - BeOS and segfaults on DEC Unix. +1998-10-17 Jim Meyering -2000-06-24 Jim Meyering + * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to + include, though we still hard-code the `require'-like AC_CHECK_HEADERS + calls for those previously hard-coded headers. Instead, take a new + parameter. + (jm_CHECK_DECLARATIONS): Reflect interface change. + * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise. + (jm_CHECK_DECL_LOCALTIME_R): New macro. - * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r. + * m4/mktime.m4: Test for spring-forward gap before long-running test. -2000-06-23 Paul Eggert +1998-10-14 Jim Meyering - * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT. - * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it. Add check for iswprint. + * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0" + instead of "TZ=America/Vancouver". From Paul Eggert. -2000-06-23 Paul Eggert +1998-10-11 Jim Meyering - * lib/quotearg.c: Include after , for Solaris 2.5. - (mbrtowc, mbstate_t): Define substitutes if - HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT. - (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT, - not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H). + * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro. + This adds a test for a recently added compatibility fix for mktime.c. + * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME. -2000-06-23 Jim Meyering +1998-09-27 Jim Meyering - * m4/afs.m4: Add missing AC_MSG_RESULT. - Reported by Bruno Haible. + * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH. - * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/. - Suggestion from Bruno Haible. + * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro. Extracted from + ../configure.in, including a change from Gordon Matzigkeit to allow + cross-compiling for the Hurd. -2000-06-23 Jim Meyering + * m4/glibc.m4: New file/macro to test for the GNU C Library + versions 1 and 2. From Gordon Matzigkeit. + Indent. - * lib/getpass.c: New file, from Bruno Haible. Required for BeOS. +1998-09-21 Jim Meyering -2000-06-21 Jim Meyering + * m4/chown.m4: Declare locals: before, after. From Andries Brouwer. - * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass. +1998-08-18 Paul Eggert -2000-06-21 Jim Meyering + Port nanosecond-resolution times to UnixWare 2.1.2 and + pedantic Solaris 2.6. - * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c. - (noinst_HEADERS): Add getstr.h. + * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from + AC_STRUCT_ST_MTIM. + * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): + Generate name of ns member, instead of just 1 or undef. + Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode. - * lib/getline.c (getstr): Move into a separate file. - * lib/getstr.c (getstr): New file, extracted from getline.c, with - the following changes: new parameter, delim2; both delim[12] - parameters have type `int', not `char'. The latter would lose - with 8-bit delimiters. - * lib/getstr.h: New file. +1998-08-15 Jim Meyering -2000-06-21 Bruno Haible + * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file. + * m4/check-type.m4: New file. Replacement for AC_CHECK_TYPE. + * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int) + instead of jm_TYPE_SSIZE_T. - * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller - than 1024, return a memory chunk of least possible size, instead - of size PATH_MAX + 2. In the loop, increment the size proportionally. - Use free/xmalloc instead of xrealloc to avoid copying for very long - paths. +1998-08-12 Jim Meyering -2000-06-21 Bruno Haible + * m4/st_dm_mode.m4: New file. From Johan Danielsson. - * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is - the empty string. +1998-08-02 Jim Meyering -2000-06-21 Bruno Haible + * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM + in acconfig.h manually. - * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an - address, not strdup. Include and don't declare free(). +1998-07-31 Paul Eggert -2000-06-19 Jim Meyering + * m4/st_mtim.m4: New file. - * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define. +1998-07-28 Jim Meyering -2000-06-18 Jim Meyering + * m4/utimes.m4: Undef stat. - * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir. +1998-07-25 Jim Meyering - * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the - `checking whether...' message to be consistent with that of the - lstat test. + * m4/utime.m4 (jm_FUNC_UTIME): New file and macro. + * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro. -2000-06-18 Jim Meyering +1998-07-09 Manfred Hollstein - * lib/mkdir.c: Remove file, due mainly to copyright incompatibility. - Besides, these days every porting target provides a mkdir function. + * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the + uid and gid actually remain unchanged. - * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as - needed. (this snippet comes from src/system.h). +1998-07-07 Jim Meyering -2000-06-16 Bruno Haible + * m4/jm-glibc-io.m4: Remove fclose_unlocked. - * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C. +1998-07-04 Jim Meyering -2000-06-15 Paul Eggert + * m4/regex.m4: Use syscmd, ifelse, and sysval. Mainly as an exercise + to prove that this macro can be used in packages without regex.c. - * lib/human.c (adjust_value): New function. - (human_readable_inexact): Apply rounding style even when - printing approximate values. +1998-07-04 Andreas Schwab -2000-06-14 Paul Eggert + * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if + is to be used. - * lib/human.c (human_readable_inexact): Allow an input block - size that is not a multiple of the output block size, and vice versa. - Reported by Piergiorgio Sartor. +1998-07-03 Jim Meyering -2000-06-14 Paul Eggert + * m4/gettext.m4: Add -lintl if it's found to be necessary. - * lib/getdate.y (get_date): Apply relative times after time - zone indicator, not before. Reported by Todd A. Jacobs. + * m4/gettext.m4: New file -- from gettext-0.10.35. + * m4/lcmessage.m4: Likewise. + * m4/progtest.m4: Likewise. -2000-06-13 Jim Meyering + * m4/regex.m4 (jm_WITH_REGEX): New file and macro. + * m4/jm-macros.m4: Require the new macro. - * lib/Makefile.am (all-local): Depend on lstat.c and stat.c. +1998-06-29 Jim Meyering - * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c. + * m4/fstypename.m4: Include sys/param.h. NetBSD 1.3.1 requires this + for the definition of NGROUPS (used in a system header included + by sys/mount.h). -2000-06-12 Paul Eggert +1998-06-28 Jim Meyering - * lib/xstat.in: Include in lstat, to declare "free". + * m4/ls-mntd-fs.m4: New file. + * m4/fstypename.m4: New file. -2000-06-12 Jim Meyering + * m4/jm-macros.m4: Require the new macro. + * m4/jm-glibc-io.m4: New file. - * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with - AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an - optional argument. - * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply - the optional argument, `lib'. +1998-05-19 Jim Meyering -2000-06-08 Jim Meyering + * m4/jm-macros.m4: Add jm_FUNC_LCHOWN. + * m4/lchown.m4: New file. - * m4/largefile.m4: Remove file (now that it's part of autoconf). + * m4/Makefile.am.in: New file. + * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in. -2000-06-04 Paul Eggert +1998-05-14 Jim Meyering + + * m4/Makefile.am (EXTRA_DIST): Add them. + * m4/jm-macros.m4: New file. + * m4/utimbuf.m4: New file. + +1998-05-12 Jim Meyering + + * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4. + +1998-05-11 Jim Meyering + + * m4/isc-posix.m4: New file. + +1998-05-10 Jim Meyering + + * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date. + +1998-05-09 Jim Meyering + + * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4. + (EXTRA_DIST): Remove mktime.m4, now that the new version is included + with automake. + + * m4/ssize_t.m4: New file. + * m4/mktime.m4: Remove file -- the new automake has this now. + +1998-04-26 Jim Meyering + + * m4/assert.m4: New file. + * m4/Makefile.am (EXTRA_DIST): Add assert.m4. + +1998-04-05 Jim Meyering + + * m4/prereq.m4 (jm_PREREQ_REGEX): New macro. + (jm_PREREQ): Use it here. + +1998-03-23 Jim Meyering + + * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H + in acconfig.h. + +1998-03-15 Jim Meyering + + * m4/prereq.m4: New file. + * m4/error.m4: New file. + * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4. + +1998-02-07 Jim Meyering + + * m4/getline.m4: Don't set am_cv_func_working_getline before the + cache-check for the same variable -- that defeated the purpose of + the test; the test program was never run. This was a problem only + on systems with losing getline functions -- HP-UX 10.20 is one. + Reported by Bjorn Helgaas. + +1998-02-06 Jim Meyering + + * m4/Makefile.am (EXTRA_DIST): Add perl.m4. + +1998-01-10 Jim Meyering + + * m4/Makefile.am (EXTRA_DIST): Add const.m4. + + * m4/const.m4: New file. Use an initializer in this declaration + typedef int charset[2]; const charset x; + Reported by Bob Glickstein. + +1997-12-21 Jim Meyering + + * m4/chown.m4: Fix reversed types on -1 args to chown. + From Kaveh Ghazi. + +1997-12-14 Jim Meyering + + * m4/check-decl.m4: s/DECLARATION_/DECL_/g. + Add lseek and memchr. + + * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g. + T.E.Dickey said that some older preprocessors + have a 20-character limit on names. + +1997-11-30 Jim Meyering + + * m4/inttypes_h.m4: New file. + * m4/uintmax_t.m4: New file. + * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4. + +Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 + Free Software Foundation, Inc. +Copying and distribution of this file, with or without modification, +are permitted provided the copyright notice and this notice are preserved.