striconveh: Simplify last commit.
[gnulib.git] / ChangeLog
index cb30336..3ffe6b5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,427 @@
+2010-07-13  Bruno Haible  <bruno@clisp.org>
+
+       striconveh: Don't malloc memory if the result buffer is sufficient.
+       * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
+       buffer if its size is sufficient.
+       Reported by Ludovic Courtès <ludo@gnu.org>.
+
+2010-07-13  Bruno Haible  <bruno@clisp.org>
+
+       strtod: Add safety check.
+       * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
+
+2010-07-12  Bruno Haible  <bruno@clisp.org>
+
+       Unify tests that set gl_cv_func_ldexpl_no_libm.
+       * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
+       gl_FUNC_LDEXPL.
+       (gl_FUNC_LDEXPL): Invoke it.
+       * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
+
+2010-07-12  Bruno Haible  <bruno@clisp.org>
+
+       Unify tests that set gl_cv_func_ldexp_no_libm.
+       * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
+       * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
+       * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
+       (configure.ac): Simply invoke gl_FUNC_LDEXP.
+       * modules/strtod (Files): Add m4/ldexp.m4.
+
+2010-07-12  Bruno Haible  <bruno@clisp.org>
+
+       Unify tests that set gl_cv_func_frexpl_no_libm.
+       * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
+       gl_FUNC_FREXPL_NO_LIBM.
+       (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
+       * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
+
+2010-07-12  Bruno Haible  <bruno@clisp.org>
+
+       Unify tests that set gl_cv_func_frexp_no_libm.
+       * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
+       gl_FUNC_FREXP_NO_LIBM.
+       (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
+       * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
+
+2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
+
+       memcoll: clarify sizes versus lengths, document better, and tweak perf
+       * lib/memcoll.c (strcoll_loop, memcoll0):
+       Improve quality of descriptive comments.  Name variables
+       consistently as to whether they are lengths (which do not include
+       terminating null) versus sizes (which do).
+       * lib/xmemcoll.c (xmemcoll0): Likewise.
+       * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
+       returned when s1size == 0; this is easier to compile and saves
+       about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
+
+2010-07-12  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module '_Exit'.
+       * modules/_Exit-tests: New file.
+       * tests/test-_Exit.sh: New file.
+       * tests/test-_Exit.c: New file.
+
+       New module '_Exit'.
+       * lib/stdlib.in.h (__attribute__): New macro.
+       (_Exit): New declaration.
+       * lib/_Exit.c: New file.
+       * m4/_Exit.m4: New file.
+       * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
+       (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
+       * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
+       * modules/_Exit: New file.
+       * tests/test-stdlib-c++.cc (_Exit): Check signature.
+       * doc/posix-functions/_Exit_C99.texi: Mention the new module.
+
+2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
+
+       strtod: make it more-accurate typically, and don't require libm
+       * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
+       Include limits.h.  Don't include string.h.
+       (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
+       (locale_isspace): New function, so that no casts are needed to
+       check whether *s is a space.
+       (ldexp): Provide an unused dummy if not available.
+       (scale_radix_exp, parse_number, underlying_strtod): New functions.
+       (strtod): Use them.  This implementation prefers to use the
+       underlying strtod if available, falling back on our own code
+       only to fix known bugs.  This is more likely to produce an
+       accurate result.  Also, it avoids the use of libm functions.
+       * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
+       no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
+       was absent, but it caused a test failure with coreutils.
+       (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
+       with libm.
+       * modules/strtod (Makefile.am, Link): libm is no longer needed.
+       * modules/strtod-tests (Makefile.am): Likewise.
+
+2010-07-11  Pádraig Brady  <P@draigBrady.com>
+            Bruno Haible  <bruno@clisp.org>
+
+       unistr/u8-strchr: Optimize ASCII argument case.
+       * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
+
+2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+       (x)memcoll: minor tweaks
+       * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
+       is after the type that it qualifies.
+       (memcoll0): Likewise.
+       * lib/memcoll.h (memcoll0): Likewise.
+       * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
+       * lib/xmemcoll.h (xmemcoll0): Likewise.
+       * lib/memcoll.c (memcoll0): Correct the comment.  This function
+       differs from memcoll in that the NUL byte is part of the argument.
+       Omit the abort-checks, as performance is a real issue here.  Plus,
+       the checks were wrong anyway (an off-by-one error).  Omit local
+       variable 'diff', as it's a bit clearer that way.
+       * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
+       no longer needed.
+
+2010-07-08  Chen Guo <chenguo4@yahoo.com>
+
+       (x)memcoll: speedup when input is known to be NUL delimited
+       * lib/memcoll.c: Include stdlib.
+       (memcoll0) New function.
+       (strcoll_loop) New function, refactored for use in both memcoll
+       and memcoll0.
+       * lib/memcoll.h: Add prototype for memcoll0.
+       * lib/xmemcoll.c: (xmemcoll0) New function.
+       (collate_error) New function, refactored for use in both xmemcoll
+       and xmemcoll0.
+       * lib/xmemcoll.h: Add prototype for xmemcoll0.
+       * m4/memcoll.m4: add inline invocation.
+
+2010-07-06  Pádraig Brady  <P@draigBrady.com>
+
+       * build-aux/bootstrap: Remove any local translations
+       from the translation project synchronization directory,
+       so that local only translations are not distributed.
+
+2010-07-04  Bruno Haible  <bruno@clisp.org>
+
+       fsusage: Clarify which code applies to which platforms.
+       * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
+       platform.
+       * lib/fsusage.c (get_fs_usage): Likewise.
+
+2010-07-04  Bruno Haible  <bruno@clisp.org>
+
+       havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
+       * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
+       Reported by Martin Lambers <marlam@marlam.de>.
+
+2010-07-04  Jim Meyering  <meyering@redhat.com>
+
+       hash: once again explicitly disallow insertion of NULL
+       * lib/hash.c (hash_insert0): Reinstate just-removed test:
+       inserting a NULL pointer cannot work with these functions.
+       Add a comment with details.
+       This reverts part of the 2010-07-01 commit, 5bef1a35
+       "hash: extend module to deal with non-pointer keys".
+
+2010-07-01  Bruno Haible  <bruno@clisp.org>
+
+       stdbool: Update doc.
+       * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
+       Info from Christian Weisgerber <naddy@mips.inka.de>.
+
+2010-07-01  Jim Meyering  <meyering@redhat.com>
+
+       hash: extend module to deal with non-pointer keys
+       * lib/hash.c (hash_insert0): New interface, much like hash_insert
+       but that allows insertion of non-pointer entries.
+       Do not disallow an ENTRY value of NULL.
+       (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
+       * lib/hash.h (hash_insert0): Declare.
+
+2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
+
+       gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
+       * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
+       not present (i.e. with autoconf 2.59 and when using gettextize, not
+       gnulib), require AC_GNU_SOURCE instead.
+
+2010-07-01  Ian Beckwith  <ianb@erislabs.net>
+
+       idpriv-drop: Fix tests.
+       * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
+       not to the test-idpriv-droptemp program.
+
+2010-06-29  Bruno Haible  <bruno@clisp.org>
+
+       string: Fix syntax error with g++ 2.96.
+       * lib/string.in.h (__pure__): Remove definition.
+       (_GL_ATTRIBUTE_PURE): New macro.
+       (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
+       strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
+       Reported by Christian Weisgerber <naddy@mips.inka.de>.
+
+2010-06-28  Ian Beckwith  <ianb@erislabs.net>
+
+       unitypes: Fix bug introduced on 2010-05-18.
+       * modules/unitypes (Files): Really add m4/libunistring-base.m4.
+
+2010-06-22  Eric Blake  <eblake@redhat.com>
+
+       memmem: slight optimization
+       * lib/str-two-way.h (critical_factorization): Update comments.
+       Reduce work during factorization phase.
+       Reported by Carlos Bueno <carlos@bueno.org>.
+
+2010-06-21  Bruno Haible  <bruno@clisp.org>
+
+       Fix HAVE_CALLOC_POSIX misnomer.
+       * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
+       !HAVE_CALLOC_POSIX.
+       * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
+       HAVE_CALLOC_POSIX.
+       * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
+       instead of HAVE_CALLOC_POSIX.
+       * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
+       HAVE_CALLOC_POSIX.
+
+       Use modern idiom for calloc() replacement.
+       * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
+       AC_FUNC_CALLOC.
+       * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
+       Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
+       (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
+       HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
+       (gl_REPLACE_CALLOC): New macro.
+
+2010-06-21  Bruno Haible  <bruno@clisp.org>
+
+       Fix HAVE_REALLOC_POSIX misnomer.
+       * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
+       !HAVE_REALLOC_POSIX.
+       * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
+       HAVE_REALLOC_POSIX.
+       * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
+       instead of HAVE_REALLOC_POSIX.
+       * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
+       HAVE_REALLOC_POSIX.
+
+       Use modern idiom for realloc() replacement.
+       * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
+       AC_FUNC_REALLOC.
+       * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
+       Autoconf's AC_FUNC_REALLOC.
+       (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
+       HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
+       (gl_REPLACE_REALLOC): New macro.
+       Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
+
+2010-06-21  Bruno Haible  <bruno@clisp.org>
+
+       Fix HAVE_MALLOC_POSIX misnomer.
+       * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
+       !HAVE_MALLOC_POSIX.
+       * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
+       HAVE_MALLOC_POSIX.
+       * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
+       instead of HAVE_MALLOC_POSIX.
+       * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
+       HAVE_MALLOC_POSIX.
+
+       Use modern idiom for malloc() replacement.
+       * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
+       AC_FUNC_MALLOC.
+       * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
+       Autoconf's AC_FUNC_MALLOC.
+       (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
+       HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
+       (gl_REPLACE_MALLOC): New macro.
+       Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
+
+2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
+
+       stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
+       * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
+       This macro takes 3 arguments, not 4.
+
+2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
+
+       ipv6: fix detection under mingw
+       * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
+       in6_addr.
+
+2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
+
+       * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
+       that strtod() works when cross-compiling to a glibc version known
+       to work.
+
+2010-06-15  Bruno Haible  <bruno@clisp.org>
+
+       * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
+
+2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
+
+       select: Correct timeout.
+       * lib/select.c (rpl_select): Compute wait_timeout correctly.
+
+2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
+
+       git-version-gen: init shell var to avoid env var influence
+       * build-aux/git-version-gen (v): Init shell var to empty.
+
+2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+       priv-set: Don't assume that priv.h exists merely because getppriv does.
+       See Jan Andersen's bug report about AIX 5L in
+       http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
+       * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
+       * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
+       * lib/priv-set.h: Likewise.
+       * tests/test-priv-set.c: Likewise.
+
+2010-06-13  Bruno Haible  <bruno@clisp.org>
+
+       relocatable: Make it easier to test whether to install wrappers.
+       * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
+       RELOCATABLE_VIA_WRAPPER.
+
+2010-06-13  Bruno Haible  <bruno@clisp.org>
+
+       gnulib-tool: Display specified modules and dependencies differently.
+       * gnulib-tool (func_show_module_list): New function.
+       (func_import, func_create_testdir): Invoke it.
+       Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
+
+2010-06-13  Bruno Haible  <bruno@clisp.org>
+
+       gnulib-tool: Align code of func_import and func_create_testdir.
+       * gnulib-tool (func_create_testdir): Rename variable saved_modules to
+       specified_modules.
+
+2010-06-12  Jim Meyering  <meyering@redhat.com>
+
+       test-inttostr: avoid spurious failure on Solaris 9
+       * tests/test-inttostr.c (main): Skip the test when snprintf fails
+       to accept "%ju".  Reported by Bruno Haible.
+
+2010-06-11  Jim Meyering  <meyering@redhat.com>
+
+       test-sys_socket: mark variables as used more readably
+       * tests/test-sys_socket.c (main): Mark otherwise unused variables
+       as "used" explicitly via (void) statement casts.  This is more
+       readable than using them in an artificial return expression.
+       Suggestion from Bruno Haible.
+
+2010-06-11  Bruno Haible  <bruno@clisp.org>
+
+       Avoid some more warnings from "gcc -Wwrite-strings".
+       * tests/test-argp.c (test_optional): Change 5th and 6th argument type
+       to 'const char *'.
+       * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
+       * tests/test-c-strcasestr.c (main): Likewise.
+       * tests/test-mbscasestr1.c (main): Likewise.
+       * tests/test-mbscasestr2.c (main): Likewise.
+       * tests/test-memmem.c (main): Likewise.
+       * tests/test-strstr.c (main): Likewise.
+       * tests/test-strcasestr.c (main): Likewise.
+
+2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       init.sh: change framework_failure_ to fail with status 99, not 1
+       * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
+       automake's parallel-tests rule that this is an unexpected failure,
+       even if the test is listed in XFAIL_TESTS.
+
+2010-06-11  Jim Meyering  <meyering@redhat.com>
+
+       test-inttostr: avoid warnings about 4-6KB literal strings
+       * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
+       Include "macros.h", for its definition of ASSERT.
+       (CK): s/assert/ASSERT/
+       * modules/inttostr-tests (Files): Add macros.h.
+
+       init.sh: don't use $ME_ or skip_ before they are defined
+       * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
+       their first uses.  Also hoist their companions: warn_, fail_,
+       framework_failure_, $stderr_fileno.  Prompted by a patch from
+       Stefano Lattarini.
+
+       test-sys_socket: avoid set-but-not-used warnings from gcc
+       * tests/test-sys_socket.c (main): Use "i" and "x", in order to
+       avoid warning about set-but-not-used variables.
+
+       test-xvasprintf: avoid 'const' discard warnings
+       * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
+       "const" when assigning from literal strings.
+       (test_xasprintf): Add "void" in function argument list to placate
+       -Wstrict-prototypes and to be consistent with test_xvasprintf above.
+
+       tests: avoid compilation warnings in argmatch and exclude tests...
+       in packages that define ARGMATCH_DIE_DECL, like coreutils.
+       * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
+       Since it always exits, declare with the "noreturn" attribute.
+       * tests/test-argmatch.c: Likewise.
+
+       tests: avoid 'const' discard warnings in mbsstr tests
+       * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
+       * tests/test-mbsstr2.c (main): Likewise.
+
+       test-verify: avoid warning from gcc's -Wmissing-declarations
+       * tests/test-verify.c (function): Declare to be static.
+
+       test-inttostr.c: include <string.h> for use of strcmp
+       * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
+
+       test-linkat: avoid failed assertion on "other" architectures
+       * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
+       lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
+       sparc: https://bugs.launchpad.net/bugs/591968
+
+2010-06-11  Jim Meyering  <meyering@redhat.com>
+
+       printf.m4: avoid autoconf's "Expanded Before Required" warning
+       * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
+       rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
+       autoconf warning.
+
 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
 
        Replacement header templates are now named with ".in", not "_".