X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=ChangeLog;h=97aec20e88ff540237640c26601600a4966d23df;hb=72a9261fccc4b028260431b1b4dd6246086aba52;hp=3560f031442c16102267bfafb6cc709ced26ce1a;hpb=1aa76c542e037b9f5f333bb851f1d6fea4b219f0;p=gnulib.git diff --git a/ChangeLog b/ChangeLog index 3560f0314..97aec20e8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,1100 @@ +2008-06-10 Bruno Haible + + * tests/test-memmem.c (main): Reset SIGALRM to default handling before + using alarm(). + * tests/test-strcasestr.c (main): Likewise. + * tests/test-strstr.c (main): Likewise. + +2008-06-09 Bruno Haible + + Work around the Solaris 10 ACE ACLs ABI change. + * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't + declare if ACL_NO_TRIVIAL is present. + (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE, + NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE, + NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros. + * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't + define if ACL_NO_TRIVIAL is present. + (acl_ace_nontrivial): Detect whether the old or new ABI is in use, + and use the current ABI. + (file_has_acl): Use same #if condition as elsewhere. + * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is + in use, and use the current ABI. + * doc/acl-resources.txt: More doc about newer Solaris 10 versions. + Reported by Jim Meyering. + +2008-06-09 Eric Blake + + Work around environments that (stupidly) ignore SIGALRM. + * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling + before using alarm(). + * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise. + * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise. + Reported by Ian Beckwith . + + Produce autobuild blurb earlier in log. + * modules/autobuild (configure.ac-early): Move AB_INIT here. + +2008-06-09 Jim Meyering + and Ondřej Vašík + + utimens.c: correct kernel bug work-around + Ondřej Vašík found that the invalid return value of 280 indicates + failure, not success, and the kernel bug we're trying to work + around affects not just the utimensat call, but also the fallback + futimens call. + * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure, + not success. + [HAVE_FUTIMENS]: Use the same work-around, here. + +2008-06-09 Jim Meyering + + add more guards around definition of ACE_-related code + * lib/file-has-acl.c (acl_ace_nontrivial): Define only if + ALLOW and ACE_OWNER are also defined. + +2008-06-08 Bruno Haible + + * lib/acl-internal.h: Add me as co-author. + * lib/file-has-acl.c: Likewise. + * lib/set-mode-acl.c: Likewise. + * lib/copy-acl.c: Likewise. + +2008-06-08 Bruno Haible + + Add support for AIX ACLs. + * lib/acl-internal.h (acl_nontrivial): New declaration. + * lib/file-has-acl.c (acl_nontrivial): New function. + (file_has_acl): Add implementation using AIX 4 ACL API. + * lib/set-mode-acl.c (qset_acl): Likewise. + * lib/copy-acl.c (qcopy_acl): Likewise. + +2008-06-08 Bruno Haible + + Add support for HP-UX ACLs. + * lib/acl-internal.h (acl_nontrivial): New declaration. + * lib/file-has-acl.c (acl_nontrivial): New function. + (file_has_acl): Add implementation using HP-UX 11 ACL API. + * lib/set-mode-acl.c (qset_acl): Likewise. + * lib/copy-acl.c (qcopy_acl): Likewise. + +2008-06-08 Bruno Haible + + Add support for Cygwin ACLs. + * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API. + * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away + the chmod_or_fchmod call. + * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise. + +2008-06-08 Bruno Haible + + Fix bug with setuid modes in Solaris 10+ code. + * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set + succeeded, when the mode contains some special bits. + +2008-06-08 Bruno Haible + + Add support for Solaris 7..10 ACLs. + * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New + declarations. + * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New + functions. + (file_has_acl): Add implementation using Solaris 7..10 ACL API. + * lib/set-mode-acl.c (qset_acl): Likewise. + * lib/copy-acl.c (qcopy_acl): Likewise. + +2008-06-08 Bruno Haible + + * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New + declaration. + * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function. + (acl_access_nontrivial): Remove MacOS X case. + (file_has_acl): Use acl_extended_nontrivial. + * lib/copy-acl.c (qcopy_acl): Likewise. + +2008-06-08 Bruno Haible + + * lib/set-mode-acl.c (qset_acl): Trivial code simplifications. + +2008-06-08 Jim Meyering + + * modules/acl (Maintainer): Add Bruno Haible. + +2008-06-07 Bruno Haible + + Improve support for Tru64 ACLs. + * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT + ACL on OSF/1. + +2008-06-07 Bruno Haible + + Add support for MacOS X ACLs. + * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of + ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT. + * lib/set-mode-acl.c (qset_acl): Likewise. + * lib/copy-acl.c (qcopy_acl): Likewise. + +2008-06-07 Bruno Haible + + Fix memory leak introduced on 2008-05-22. + * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after + use. + +2008-06-07 Bruno Haible + + * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(), + to construct an empty ACL. + +2008-06-07 Bruno Haible + + * lib/set-mode-acl.c (chmod_or_fchmod): Document return value + precisely. + * lib/copy-acl.c (qcopy_acl): Trivial code simplifications. + +2008-06-07 Bruno Haible + + * lib/copy-acl.c (qcopy_acl): Make the #if branches independent. + * lib/set-mode-acl.c (qset_acl): Choose better local variable names. + +2008-06-07 Bruno Haible + + * doc/posix-functions/_setjmp.texi: Explain the use of this function + regardless of POSIX. + * doc/posix-functions/_longjmp.texi: Likewise. + * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a + SystemV platform in this case. + +2008-06-06 Eric Blake + + Document abort() bugs. + * doc/posix-functions/abort.texi (abort): Mention anomalies. + + * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp. + * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has + sigsetjmp. + * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has + siglongjmp, but only as a macro. + * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this + is obsolete. + * doc/posix-functions/_setjmp.texi (_setjmp): Likewise. + + Tweak documentation to cover cygwin argz bugs. + * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin + argz bug fix; no code change needed since no cygwin releases + occurred between the last fix and the bug being tested. + * doc/glibc-functions/argz_add.texi (argz_add): Document the argz + module and recently fixed cygwin bugs. + * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise. + * doc/glibc-functions/argz_append.texi (argz_append): Likewise. + * doc/glibc-functions/argz_count.texi (argz_count): Likewise. + * doc/glibc-functions/argz_create.texi (argz_create): Likewise. + * doc/glibc-functions/argz_create_sep.texi (argz_create_sep): + Likewise. + * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise. + * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise. + * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise. + * doc/glibc-functions/argz_next.texi (argz_next): Likewise. + * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise. + * doc/glibc-functions/argz_stringify.texi (argz_stringify): + Likewise. + + Avoid gcc warning on cygwin. + * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE && + !ACL_NO_TRIVIAL]: Avoid unused variable. + +2008-06-05 Eric Blake + + Be tolerant of UNKNOWN version in gnulib-tool test dir. + * top/GNUmakefile (_dummy): Warn rather than reconfigure if + git-version-gen fails to come up with a version. + Reported by Simon Josefsson. + +2008-06-05 Jim Meyering + Paul Eggert + + utimens.c: work around a probable Linux kernel bug + * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what + appears to be a kernel bug that causes utimensat to return 280 + instead of 0, indicating success. + +2008-06-04 Bruno Haible + + * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes + 2008-06-01 commit. + +2008-06-04 Bruno Haible + + * lib/acl-internal.h (acl_access_nontrivial): New declaration. + * lib/file-has-acl.c (acl_access_nontrivial): New function. + (file_has_acl): Use it. Save errno afterwards. + * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial. + +2008-06-03 Bruno Haible + + * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX- + draft code. Simplify #ifs. + * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL. + Put Solaris code after POSIX-draft code. Fix comments regarding + Solaris 10, HP-UX. Mention Cygwin. + * lib/copy-acl.c (qcopy_acl): Simplify #ifs. + +2008-06-03 Eric Blake + + Provide fallback for older kernels. + * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]: + Provide runtime fallback if kernel lacks support. + Reported by Mike Frysinger. + +2008-06-02 Bruno Haible + + * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if + it exists. + +2008-06-02 Bruno Haible + + * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry. + * lib/copy-acl.c (qcopy_acl): Update comment. + +2008-06-02 Bruno Haible + + * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft + like ACL APIs. + +2008-06-02 Bruno Haible + + * tests/test-file-has-acl.sh: Use different code for Cygwin. + * tests/test-set-mode-acl.sh: Likewise. + * tests/test-copy-acl.sh: Likewise. + * tests/test-copy-file.sh: Likewise. + +2008-06-02 Bruno Haible + + * tests/test-file-has-acl.sh: Remove unused code. + +2008-06-01 Bruno Haible + + * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl. + (copy_acl): Just a wrapper around qcopy_acl that emits the error + messages. + * lib/set-mode-acl.c (qset_acl): Document return value precisely. + +2008-06-01 Bruno Haible + + * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris + tests. Test for libpacl, needed for OSF/1. Test for extended ACLs, + needed for MacOS X. Test for HP-UX API. Test for newer and older AIX + APIs. + * modules/acl-tests (configure.ac): Remove tests now contained in + m4/acl.m4. + +2008-06-02 Jim Meyering + + announce-gen: use a better key-server host name + * build-aux/announce-gen (main): Recommend keys.gnupg.net, since + it may be more consistently reliable. Suggested by Werner Koch + in . + +2008-06-01 Bruno Haible + + * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD. + Reported by Voroskoi Andras . + +2008-06-01 Voroskoi Andras (tiny change) + + * lib/stdio-impl.h [__DragonFly__]: Fix typo. + +2008-06-01 Bruno Haible + + New ACL tests. + * tests/test-file-has-acl.sh: New file. + * tests/test-file-has-acl.c: New file. + * tests/test-set-mode-acl.sh: New file. + * tests/test-set-mode-acl.c: New file. + * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh. + * tests/test-copy-acl.c: New file. + * modules/acl-tests: New file, based on modules/copy-file-tests. + * modules/copy-file-tests (Files): Remove tests/test-sameacls.c. + (Depends-on): Add acl-tests. + (configure.ac): Remove checks. + (Makefile.am): Don't create test-sameacls program here any more. + +2008-06-01 Bruno Haible + + * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX. + * tests/test-sameacls.c: Include progname.h. + (main): Invoke set_program_name. Portability fixes for MacOS X, + Solaris, HP-UX. + +2008-06-01 Bruno Haible + + * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead + function. + Reported by VOROSKOI Andras . + +2008-06-01 Bruno Haible + + * modules/rpmatch (Depends-on): Add strdup. + +2008-06-01 Bruno Haible + + * lib/pipe.c: Include unistd-safer.h. + (create_pipe): Ensure the returned file descriptors are not in {0,1,2}. + * modules/pipe (Depends-on): Add unistd-safer. + +2008-05-30 Simon Josefsson + + * modules/autobuild (configure.ac): Call AB_INIT. + +2008-05-30 Simon Josefsson + + * tests/test-getaddrinfo.c: Don't print debug messages by default. + Suggested by Bruno Haible . + +2008-05-30 Simon Josefsson + + * tests/test-base64.c: Cast size_t to unsigned long when invoking + printf. Use %lu instead of %d. Reported by Bruno Haible + . + +2008-05-29 Eric Blake + + Prefer new POSIX 200x interfaces over futimesat. + * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat. + * lib/utimens.c (gl_futimens): Use them for nanosecond resolution + when available. + [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation. + +2008-05-28 Bruno Haible + + * modules/stpcpy (License): Change to LGPLv2+. + Requested by David Lutterkort . + +2008-05-27 Bruno Haible + + * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for + current mingw. + Reported by Jose E. Marchesi . + +2008-05-27 Bruno Haible + + * modules/iconv_open (Link): New section, from module 'iconv'. + * modules/striconv (Link): Likewise. + * modules/striconveh (Link): Likewise. + * modules/xstriconv (Link): Likewise. + * modules/unicodeio (Link): Likewise. + * modules/propername (Link): Likewise. + Reported by Jim Meyering. + +2008-05-26 Jim Meyering + + sha256: do not artificially restrict buffer length to be < 2^32 + * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from + uint32_t to size_t. + * lib/sha256.c (sha256_conclude_ctx): Change type of a local + to match. + + avoid unaligned access errors, e.g., on sparc + * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than + direct access through a possibly-unaligned uint64* pointer. + * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than + direct access through a possibly-unaligned uint32* pointer. + Prompted by this patch from Tom "spot" Callaway: + http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638 + + sha512.c: fix typo in comment + * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit. + +2008-05-25 Bruno Haible + + * lib/set-mode-acl.c: Renamed from lib/acl.c. + * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c. + (Makefile.am): Update lib_SOURCES. + +2008-05-25 Bruno Haible + + * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL. + +2008-05-25 Jim Meyering + + useless-if-before-free: freed expr may have white-space differences + * build-aux/useless-if-before-free: Recognize cases in which the + freed expression differs from the tested one in embedded white + space, e.g., if (p[i + 1]) free(p[i+1]). Correct thinko in prev: + $1 was used, so we can't make any regexp shy. Improved tests now + detect this. + + useless-if-before-free: accept white space in the expression. + * build-aux/useless-if-before-free: For now, any white space + in the expression must be identical in the free argument. + + useless-if-before-free: efficiency tweak + * build-aux/useless-if-before-free: Make the expression-matching + regexp "shy". + Make the *outer* regexp shy, not the expr-matching one. + + update code-in-comment to accept cast of free arg + * build-aux/useless-if-before-free: Update regexp. + +2008-05-25 Bruno Haible + + * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c. + * modules/copy-file-tests (Files, Makefile.am): Update. + * tests/test-copy-file.c (func_test_copy): Update. + +2008-05-24 Andreas Färber (tiny change) + + * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds. + +2008-05-23 Bruno Haible + + Improve support for ACLs on OSF/1. + * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma. + Remove fallback for unknown flavors of ACLs. + +2008-05-22 Bruno Haible + + Add support for ACLs on OSF/1. + * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function + replacements. + (acl_free_text): New macro fallback. + * lib/acl_entries.c (acl_entries): Use acl_free_text instead of + acl_free. + * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for + acl_free_text function. Require AC_C_INLINE. + +2008-05-22 Bruno Haible + + Make copy_acl work on MacOS X 10.5. + * lib/acl-internal.h (MODE_INSIDE_ACL): New macro. + (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT. + * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL. + If MODE_INSIDE_ACL, don't assume that every system has the same text + representation for ACLs as FreeBSD. + * lib/copy-acl.c (copy_acl): Add support for platforms with + !MODE_INSIDE_ACL. + * lib/file-has-acl.c (file_has_acl): Likewise. + * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of + FreeBSD, MacOS X, or IRIX, respectively. + +2008-05-22 Bruno Haible + + * lib/acl.h: Don't include . + (GETACLCNT): Move fallback to lib/acl-internal.h. + * lib/acl-internal.h: Include here. + (GETACLCNT): New macro fallback, moved here from lib/acl.h. + +2008-05-22 Bruno Haible + + Split off copy_acl function to separate file. + * lib/copy-acl.c: New file, extracted from lib/acl.c. + * lib/acl.c (copy_acl): Moved function to separate file. + * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs. + * modules/acl (Files): Add lib/copy-acl.c. + (Makefiles.am): Augment lib_SOURCES. + +2008-05-22 Bruno Haible + + * modules/copy-file-tests: New file. + * tests/test-copy-file.sh: New file. + * tests/test-copy-file.c: New file. + * tests/test-copy-file-sameacls.c: New file. + +2008-05-22 Eric Blake + + Avoid gcc warning. + * tests/test-memcmp.c (main): Pass NULL indirectly. + +2008-05-21 Bruno Haible + + Add reference doc about ACLs. + * doc/acl-resources.txt: New file. + * doc/acl-cygwin.txt: New file. + +2008-05-21 Bruno Haible + + Avoid one more warning from gcc. + * lib/vasnprintf.c (IF_LINT): Update comments. + (VASNPRINTF): Use it also for the 'prefix' array initializer. + +2008-05-21 Jim Meyering + + avoid a warning from gcc + * lib/vasnprintf.c (IF_LINT): Define. + (scale10_round_decimal_long_double): + Use it to avoid a "may be used uninitialized" warning. + (scale10_round_decimal_double): Likewise. + +2008-05-21 Simon Josefsson + + * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is + declared. + +2008-05-20 Bruno Haible + + * tests/test-memcmp.c (main): Test also the sign of the result. Test + against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP. + +2008-05-20 Simon Josefsson + + * modules/memcmp-tests: New file. + * tests/test-memcmp.c: New file. + +2008-05-19 Bruno Haible + + * modules/propername (Notice, configure.ac): Put quoted "..." into + --keyword option. + * lib/propername.h: Update comments accordingly. + Reported by Eric Blake. + +2008-05-19 Martin Lambers (tiny change) + + * modules/getpass-gnu (Depends-on): Add fseeko. + +2008-05-19 Simon Josefsson + + * modules/base64-tests: New file. + +2008-05-19 Bo Borgerson + + * lib/base64.c (base64_decode_ctx): If a decode context structure + was passed in use it to ignore newlines. If a context structure + was _not_ passed in, continue to treat newlines as garbage (this + is the historical behavior). Formerly base64_decode. + (base64_decode_alloc_ctx): Formerly base64_decode_alloc. Now + takes a decode context structure. + * lib/base64.h (base64_decode): Macro for four-argument calls. + (base64_decode_alloc): Likewise. + * lib/base64.c (base64_decode_ctx): If a decode context structure + was passed in use it to ignore newlines. If a context structure + was _not_ passed in, continue to treat newlines as garbage (this + is the historical behavior). Formerly base64_decode. + (base64_decode_alloc_ctx): Formerly base64_decode_alloc. Now + takes a decode context structure. + * lib/base64.h (base64_decode): Macro for four-argument calls. + (base64_decode_alloc): Likewise. + +2008-05-19 Jim Meyering + + avoid a warning from gcc + * lib/trim.c (IF_LINT): Define. + (trim2): Use it to avoid a "may be used uninitialized" warning. + + Fix doc typo. + * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/. + +2008-05-19 Bruno Haible + + * doc/glibc-functions/getpass.texi: Document limits of other + implementations. + +2008-05-19 Simon Josefsson + Bruno Haible + + * doc/glibc-functions/getpass.texi: Document gnulib implementation. + +2008-05-18 Bruno Haible + + * modules/propername: New file, from GNU gettext. + * lib/propername.h: New file, from GNU gettext. + * lib/propername.c: New file, from GNU gettext. + * MODULES.html.sh (Internationalization functions): Add propername. + +2008-05-16 Jim Meyering + Bruno Haible + + Avoid some warnings from "gcc -Wshadow". + * lib/vasnprintf.c (exp, remainder): Define to different identifiers. + +2008-05-15 Eric Blake + + Extend previous patch to cygwin 1.7.0. + * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a + fast implementation in cygwin >= 1.7.0. + * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise. + * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise. + +2008-05-15 Bruno Haible + + * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast + implementation in glibc >= 2.9. + * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise. + * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise. + +2008-05-15 Bruno Haible + + * MODULES.html.sh (Internationalization functions): Remove linebreak. + (Unicode string functions): Add unilbrk/*. + Reported by Karl Berry. + +2008-05-15 Eric Blake + + Fix violation of replacement in regex. + * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool. + * lib/regexec.c (re_search_internal): Likewise. + Reported by Heinrich Mislik . + +2008-05-15 Jim Meyering + + avoid distracting test output when git or cvs is not found + * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output. + * tests/test-vc-list-files-git.sh: Likewise. + +2008-05-15 Eric Blake + + Glibc finally accepted the memmem speedup code, bugzilla #5514. + * doc/glibc-functions/memmem.texi (memmem): Mention last broken + glibc version. + * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise. + * doc/posix-functions/strstr.texi (strstr): Likewise. + * lib/str-two-way.h (MAX): Sychronize with glibc. + +2008-05-15 Paolo Bonzini + + * lib/regcomp.c (optimize_utf8): Add a note on why we test + opr.ctx_type. + (calc_first): Initialize constraint field. + (duplicate_node_closure): Use it instead of special casing ANCHORS. + Fix grammar. + (duplicate_node): Merge constraint field for all node types. + (calc_eclosure_iter): Look at constraint field for all node types. + * lib/regex_internal.c (create_cd_newstate): Don't look at + opr.ctx_type. + +2008-05-14 Bruno Haible + + Help GCC to do better code generation. + * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'. + * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise. + * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro. + (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc): + Declare with attribute 'malloc' if supported. + +2008-05-14 Lasse Collin + + use "echo STR|wc -c" rather than unportable "expr length STR" + * build-aux/mktempd (mktempd): Vendor-supplied expr from at least + OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function. + +2008-05-14 Jim Meyering + + use dd ibs=$n count=1 ... rather than less-portable head -c$n + * build-aux/mktempd (rand_bytes): head's -cN option is not accepted + by Solaris 10's /bin/head or by the one from HP-UX 11.x. + Reported in http://sourceforge.net/forum/message.php?msg_id=4960334 + via Collin Lasse. + +2008-05-14 Eric Blake + + Avoid quadratic growth in gl_LIBSOURCES. + * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/. + Suggested by Bruno Haible. + + Test xmemdup0. + * modules/xmemdup0-tests: New file. + * tests/test-xmemdup0.c: Likewise. + +2008-05-13 Eric Blake + + Split xmemdup0 into its own module. + * modules/xmemdup0: New file. + * lib/xmemdup0.h: Likewise. + * lib/xmemdup0.c: Likewise. + * MODULES.html.sh (Memory management functions): Add xmemdup0. + * lib/xalloc.h (xmemdup0): Remove. + * lib/xmalloc.c (xmemdup0): Likewise. + +2008-05-13 Eric Blake + Bruno Haible + + Reduce number of forks required during autoconf. + * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST + and gl_LIBSOURCES_DIR. + (func_emit_initmacro_end): Use them here in a single m4_syscmd... + (func_emit_initmacro_done) : ...rather than in one + m4_syscmd per file. + : Move... + * m4/gnulib-common.m4 (m4_foreach_w): ...here. + +2008-05-13 Eric Blake + + * gnulib-tool: Fix various comment typos. + +2008-05-12 Bruno Haible + + Tailor the linebreaking algorithm. + * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry. + +2008-05-12 Bruno Haible + + Update to Unicode 5.0.0. + * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL, + LBP_JV, LBP_JT. Redistribute values. + (unilbrk_table): Change size. + * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match + Unicode TR#14 rev. 22. + * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL, + LBP_JV, LBP_JT. Redistribute values. + (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0. + (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp): + Update. + * lib/unilbrk/lbrkprop1.h: Regenerated. + * lib/unilbrk/lbrkprop2.h: Regenerated. + * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks): + Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK. + * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks): + Likewise. + * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks): + Likewise. + * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected + result. + * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise. + * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise. + * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise. + * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise. + * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise. + * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise. + +2008-05-11 Bruno Haible + + * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace. + +2008-05-11 Bruno Haible + + * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c). + * modules/unilbrk/gen-lbrk: New file. + +2008-05-11 Bruno Haible + + * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE. + * m4/sha512.m4 (gl_SHA512): Likewise. + +2008-05-11 Jim Meyering + + New modules: crypto/sha256, crypto/sha512 (from coreutils) + * modules/crypto/sha256: New file. + * modules/crypto/sha512: Likewise. + * lib/sha256.c: Likewise. + * lib/sha256.h: Likewise. + * lib/sha512.c: Likewise. + * lib/sha512.h: Likewise. + * lib/u64.h: Likewise. + * m4/sha256.m4: Likewise. + * m4/sha512.m4: Likewise. + * MODULES.html.sh (Cryptographic computations (low-level)): List them. + +2008-05-10 Bruno Haible + + * MODULES.html.sh (Environment variables ): Add unsetenv. + (Input/Output ): Add xprintf. + (Signal handling ): Add strsignal. + (Cryptographic computations (high-level)): Add crypto/gc-camellia. + (Core language properties): Add func. + (Mathematics ): Add ceil, floor, frexp-nolibm. + (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW, + strings. + (Enhancements for POSIX:2001 functions): Add iconv_open-utf. + (Input/output): New section. + (File system functions): Add openat-die, stat-macros. + (Networking functions): Add sockets. + (Unicode string functions): Add unictype/*. + (Support for building libraries and executables): Add gperf. + (Support for building documentation): Add agpl-3.0. + (Misc): Add nocrash. + +2008-05-10 Bruno Haible + + * modules/unictype/gen-ctype: New file. + +2008-05-10 Jim Meyering + + Make chdir-safer.c more efficient on a system with no symlinks. + * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls + also if ELOOP is zero. Suggested by Bruno Haible. + + Make chdir-safer.c slightly safer. + * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW, + not O_NOFOLLOW, in case the latter is nonzero and open ignores it. + + Avoid compile failure on systems without ELOOP (like mingw). + * lib/chdir-safer.c (ELOOP): Define if not already defined. + Reported by Bruno Haible. + +2008-05-10 Bruno Haible + + * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h. + (is_utf8_encoding): Use a case-insensitive comparison. + * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove + streq. + +2008-05-10 Bruno Haible + + * lib/unilbrk/ulc-common.c: Don't include . + (iconv_string_length, iconv_string_keeping_offsets): Remove functions. + * lib/unilbrk/ulc-common.h (iconv_string_length, + iconv_string_keeping_offsets): Remove declarations. + * lib/unilbrk/ulc-possible-linebreaks.c: Include , uniconv.h. + Don't include , streq.h, xsize.h. + (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the + conversion. + * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include + , streq.h, xsize.h. + (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the + conversion. + * modules/unilbrk/ulc-common (Depends-on): Remove iconv. + * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add + uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize. + * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise. + +2008-05-10 Bruno Haible + + * modules/unilbrk/ulc-width-linebreaks-tests: New file. + * tests/unilbrk/test-ulc-width-linebreaks.c: New file. + + * modules/unilbrk/u32-width-linebreaks-tests: New file. + * tests/unilbrk/test-u32-width-linebreaks.c: New file. + + * modules/unilbrk/u16-width-linebreaks-tests: New file. + * tests/unilbrk/test-u16-width-linebreaks.c: New file. + + * modules/unilbrk/u8-width-linebreaks-tests: New file. + * tests/unilbrk/test-u8-width-linebreaks.c: New file. + + * modules/unilbrk/ulc-possible-linebreaks-tests: New file. + * tests/unilbrk/test-ulc-possible-linebreaks.c: New file. + + * modules/unilbrk/u32-possible-linebreaks-tests: New file. + * tests/unilbrk/test-u32-possible-linebreaks.c: New file. + + * modules/unilbrk/u16-possible-linebreaks-tests: New file. + * tests/unilbrk/test-u16-possible-linebreaks.c: New file. + + * modules/unilbrk/u8-possible-linebreaks-tests: New file. + * tests/unilbrk/test-u8-possible-linebreaks.c: New file. + +2008-05-10 Bruno Haible + + Split up 'linebreak' module. + * lib/unilbrk.h: New file, based on lib/linebreak.h. + * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h. + * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with + modifications. + * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c. + * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c. + * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from + lib/linebreak.c. + * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from + lib/linebreak.c. + * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from + lib/linebreak.c. + * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c. + * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c. + * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from + lib/linebreak.c. + * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from + lib/linebreak.c. + * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from + lib/linebreak.c. + * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from + lib/linebreak.c. + * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from + lib/linebreak.c. + * modules/unilbrk/base: New file. + * modules/unilbrk/tables: New file. + * modules/unilbrk/u8-possible-linebreaks: New file. + * modules/unilbrk/u16-possible-linebreaks: New file. + * modules/unilbrk/u32-possible-linebreaks: New file. + * modules/unilbrk/ulc-common: New file. + * modules/unilbrk/ulc-possible-linebreaks: New file. + * modules/unilbrk/u8-width-linebreaks: New file. + * modules/unilbrk/u16-width-linebreaks: New file. + * modules/unilbrk/u32-width-linebreaks: New file. + * modules/unilbrk/ulc-width-linebreaks: New file. + * lib/linebreak.h: Remove file. + * lib/linebreak.c: Remove file. + * m4/linebreak.m4: Remove file. + * modules/linebreak: Remove file. + * NEWS: Mention the changes. + +2008-05-09 Eric Blake + + Add xmemdup0. + * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe + implementation. + * lib/xmalloc.c (xmemdup0): New C implementation. + +2008-05-08 Bruno Haible + + * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation. + +2008-05-07 Eric Blake + + Support cross-compilation of . + * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in + AC_CACHE_CHECK. + +2008-05-06 Soren Hansen (tiny change) + + * build-aux/vc-list-files: Add support for bzr. + +2008-05-03 Jim Meyering + + avoid failed assertion with tight malloc + * tests/test-getndelim2.c: Correct an off-by-one assertion. + +2008-05-03 Simon Josefsson + + * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations + are needed from arpa/inet.h. + * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP. + Reported by Bruno Haible. + +2008-05-02 Jim Meyering + + avoid compilation error on FreeBSD 6 + * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define. + +2008-05-01 Jim Meyering + + useless-if-before-free: correct --help's exit status description + * build-aux/useless-if-before-free (usage): Like grep, exit 0 + for one or more matches, etc. Reported by Bruno Haible. + + vc-list-files: make the stand-alone gnulib test work + * modules/vc-list-files-tests (configure.ac): + Define and AC_SUBST abs_aux_dir. + (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing + $(abs_top_srcdir) to each script and having each of them + duplicate the work of setting PATH, set PATH here, using + the new variable, abs_aux_dir instead. + * tests/test-vc-list-files-cvs.sh: Don't set PATH here. + * tests/test-vc-list-files-git.sh: Likewise. + Reported by Bruno Haible. + +2008-05-01 Bruno Haible + + * lib/getndelim2.c (getndelim2): Fix newsize computation during + reallocation. Rename 'done' to 'found_delimiter'. + +2008-05-01 Jim Meyering + + vc-list-files: accommodate /bin/sh like the one from Solaris 10 + * build-aux/vc-list-files: Use `...`, not $(...). + +2008-04-30 Jim Meyering + + add tests for vc-list-files + * modules/vc-list-files-tests: New module. + * tests/test-vc-list-files-cvs.sh: New file. + * tests/test-vc-list-files-git.sh: New file. + + avoid a warning from gcc + * lib/getndelim2.c (IF_LINT): Define. + (getndelim2): Use it to avoid a "may be used uninitialized" warning. + + vc-list-files: work properly with build-aux/cvsu, too + * build-aux/vc-list-files: Hoist the "./"-removing code to apply + to all cvs-based clauses. + + vc-list-files: work properly in the CVS+awk case, too + * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix. + + vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash + * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer + take more than one file argument, so . Add quotes, just in case $dir + ever contains a shell meta-character. Prompted by Soren Hansen in + . + +2008-04-29 Eric Blake + + Optimize getndelim2 to use block operations when possible. + * modules/getndelim2 (Depends-on): Add stdbool, freadptr, + freadseek, and memchr2. + * lib/getndelim2.c (getndelim2): Use them for block reads. + +2008-04-29 Bruno Haible + + * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS. + * m4/inet_pton.m4 (gl_INET_PTON): Likewise. + * modules/inet_ntop (Depends-on): Add extensions. + * modules/inet_pton (Depends-on): Likewise. + Reported by Simon Josefsson. + +2008-04-29 Jim Meyering + + When the is more than one match in a block, match all of them. + * build-aux/useless-if-before-free: Iterate through each block + until there are no more matches. + + Fix broken useless-if-before-free script. + * build-aux/useless-if-before-free: Fix typo: missing "?" after + the expression to match cast of argument to free-like function. + +2008-04-29 Eric Blake + + Use new header. + * lib/getaddrinfo.c (includes): s/"inet_ntop.h"//. + +2008-04-29 Jim Meyering + + Avoid test segfault on x86_64 due to lack of inet_ntop declaration. + * tests/test-getaddrinfo.c: Include , now guaranteed + by gnulib to exist and to declare e.g., inet_ntop. + Don't include "inet_ntop.h", now removed. + + * m4/arpa_inet_h.m4: Remove trailing blanks. + +2008-04-29 Eric Blake + + Silence valgrind on safe reads beyond potential array bounds. + * lib/rawmemchr.valgrind: New file. + * lib/strchrnul.valgrind: Likewise. + * modules/rawmemchr (Files): Distribute new file. + * modules/strchrnul (Files): Likewise. + Suggested by Bruno Haible. + +2008-04-29 Bruno Haible + + * lib/arpa_inet.in.h: Include system's if it exists. + (inet_ntop, inet_pton): Change portability warning's wording. + * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H. + Invoke gl_CHECK_NEXT_HEADERS. + (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H. + * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and + set ARPA_INET_H. + * m4/inet_pton.m4 (gl_INET_PTON): Likewise. + * modules/arpa_inet (Description): No longer only for systems that + lack it. + (Depends-on): Add include_next. + (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H, + HAVE_ARPA_INET_H. + +2008-04-29 Jim Meyering + + * modules/mkdir (License): Re-license as LGPLv2+. + +2008-04-29 Bruno Haible + + * modules/rawmemchr (Maintainer): Set to Eric. + * modules/strchrnul (Maintainer): Likewise. + +2008-04-29 Simon Josefsson + + * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set + HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON. + + * modules/arpa_inet (arpa/inet.h): Use them. + +2008-04-28 Eric Blake + + Test getndelim2. + * modules/getndelim2-tests: New file. + * tests/test-getndelim2.c: Likewise. + * lib/getndelim2.c (getndelim2): Never return 0. Lock the + stream. + * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions. + + * MODULES.html.sh: Document new module. + 2008-04-20 Bruno Haible * lib/c-stack.c (die): Use raise.