useless-if-before-free: efficiency tweak
[gnulib.git] / ChangeLog
index 1d68845..6efdd2d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,378 @@
+2008-05-25  Jim Meyering  <meyering@redhat.com>
+
+       useless-if-before-free: efficiency tweak
+       * build-aux/useless-if-before-free: Make the expression-matching
+       regexp "shy".
+
+       update code-in-comment to accept cast of free arg
+       * build-aux/useless-if-before-free: Update regexp.
+
+2008-05-25  Bruno Haible  <bruno@clisp.org>
+
+       * 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  <andreas.faerber@web.de>  (tiny change)
+
+       * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
+
+2008-05-23  Bruno Haible  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       * lib/acl.h: Don't include <sys/acl.h>.
+       (GETACLCNT): Move fallback to lib/acl-internal.h.
+       * lib/acl-internal.h: Include <sys/acl.h> here.
+       (GETACLCNT): New macro fallback, moved here from lib/acl.h.
+
+2008-05-22  Bruno Haible  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       * 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  <ebb9@byu.net>
+
+       Avoid gcc warning.
+       * tests/test-memcmp.c (main): Pass NULL indirectly.
+
+2008-05-21  Bruno Haible  <bruno@clisp.org>
+
+       Add reference doc about ACLs.
+       * doc/acl-resources.txt: New file.
+       * doc/acl-cygwin.txt: New file.
+
+2008-05-21  Bruno Haible  <bruno@clisp.org>
+
+       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  <meyering@redhat.com>
+
+       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  <simon@josefsson.org>
+
+       * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
+       declared.
+
+2008-05-20  Bruno Haible  <bruno@clisp.org>
+
+       * 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  <simon@josefsson.org>
+
+       * modules/memcmp-tests: New file.
+       * tests/test-memcmp.c: New file.
+
+2008-05-19  Bruno Haible  <bruno@clisp.org>
+
+       * 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  <marlam@marlam.de>  (tiny change)
+
+       * modules/getpass-gnu (Depends-on): Add fseeko.
+
+2008-05-19  Simon Josefsson  <simon@josefsson.org>
+
+       * modules/base64-tests: New file.
+
+2008-05-19  Bo Borgerson <gigabo@gmail.com>
+
+       * 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  <meyering@redhat.com>
+
+       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  <bruno@clisp.org>
+
+       * doc/glibc-functions/getpass.texi: Document limits of other
+       implementations.
+
+2008-05-19  Simon Josefsson  <simon@josefsson.org>
+           Bruno Haible <bruno@clisp.org>
+
+       * doc/glibc-functions/getpass.texi: Document gnulib implementation.
+
+2008-05-18  Bruno Haible  <bruno@clisp.org>
+
+       * 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  <meyering@redhat.com>
+           Bruno Haible  <bruno@clisp.org>
+
+       Avoid some warnings from "gcc -Wshadow".
+       * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
+
+2008-05-15  Eric Blake  <ebb9@byu.net>
+
+       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  <bruno@clisp.org>
+
+       * 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  <bruno@clisp.org>
+
+       * MODULES.html.sh (Internationalization functions): Remove linebreak.
+       (Unicode string functions): Add unilbrk/*.
+       Reported by Karl Berry.
+
+2008-05-15  Eric Blake  <ebb9@byu.net>
+
+       Fix violation of <stdbool.h> 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 <Heinrich.Mislik@univie.ac.at>.
+
+2008-05-15  Jim Meyering  <meyering@redhat.com>
+
+       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  <ebb9@byu.net>
+
+       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  <bonzini@gnu.org>
+
+       * 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  <bruno@clisp.org>
+
+       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  <lasse.collin@tukaani.org>
+
+       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  <meyering@redhat.com>
+
+       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  <ebb9@byu.net>
+
+       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  <ebb9@byu.net>
+
+       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  <ebb9@byu.net>
+           Bruno Haible  <bruno@clisp.org>
+
+       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) <gl_LIBSOURCES>: ...rather than in one
+       m4_syscmd per file.
+       <m4_foreach_w>: Move...
+       * m4/gnulib-common.m4 (m4_foreach_w): ...here.
+
+2008-05-13  Eric Blake  <ebb9@byu.net>
+
+       * gnulib-tool: Fix various comment typos.
+
+2008-05-12  Bruno Haible  <bruno@clisp.org>
+
+       Tailor the linebreaking algorithm.
+       * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
+
+2008-05-12  Bruno Haible  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
+
+2008-05-11  Bruno Haible  <bruno@clisp.org>
+
+       * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
+       * modules/unilbrk/gen-lbrk: New file.
+
+2008-05-11  Bruno Haible  <bruno@clisp.org>
+
+       * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
+       * m4/sha512.m4 (gl_SHA512): Likewise.
+
+2008-05-11  Jim Meyering  <meyering@redhat.com>
+
+       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  <bruno@clisp.org>
+
+       * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
+       (Input/Output <stdio.h>): Add xprintf.
+       (Signal handling <signal.h>): Add strsignal.
+       (Cryptographic computations (high-level)): Add crypto/gc-camellia.
+       (Core language properties): Add func.
+       (Mathematics <math.h>): 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  <bruno@clisp.org>
 
        * modules/unictype/gen-ctype: New file.
 
        avoid a warning from gcc
        * lib/getndelim2.c (IF_LINT): Define.
-       (getndelim2): Use it to void a "may be used uninitialized" warning.
+       (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