* lib/mempcpy.c: Include <config.h> before <string.h>.
[gnulib.git] / ChangeLog
index f0bae7e..e66395c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,387 @@
+2007-01-27  Jim Meyering  <jim@meyering.net>
+
+       * lib/mempcpy.c: Include <config.h> before <string.h>.
+       This fixes a compilation error on HP-UX, due to the system's
+       "restrict"-using mempcpy prototype.
+
+2007-01-26  Bruno Haible  <bruno@clisp.org>
+
+       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-01-26  Bruno Haible  <bruno@clisp.org>
+
+       * MODULES.html.sh (Unicode string functions): Add the new modules.
+
+       * modules/uniconv/u32-strconv-to-locale: New file.
+       * lib/uniconv/u32-strconv-to-locale.c: New file.
+
+       * modules/uniconv/u16-strconv-to-locale: New file.
+       * lib/uniconv/u16-strconv-to-locale.c: New file.
+
+       * modules/uniconv/u8-strconv-to-locale: New file.
+       * lib/uniconv/u8-strconv-to-locale.c: New file.
+
+       * modules/uniconv/u32-strconv-from-locale: New file.
+       * lib/uniconv/u32-strconv-from-locale.c: New file.
+
+       * modules/uniconv/u16-strconv-from-locale: New file.
+       * lib/uniconv/u16-strconv-from-locale.c: New file.
+
+       * modules/uniconv/u8-strconv-from-locale: New file.
+       * lib/uniconv/u8-strconv-from-locale.c: New file.
+
+       * 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.
+
+       * 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.
+
+       * 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/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.
+
+       * 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.
+
+       * 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.
+
+       * 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.
+
+       * 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.
+
+       * 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.
+
+       * modules/uniconv/base: New file.
+       * lib/uniconv.h: New file.
+
+2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * 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 <string.h>.
+       * 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 <string.h> 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 <string.h>, 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 "stdup.h", since
+       <string.h> now suffices.
+       * tests/test-memmem.c: Don't include "memmem.h", since
+       <string.h> now suffices.
+
+2007-01-25  Bruno Haible  <bruno@clisp.org>
+
+       * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
+       *resultp is 0.
+
+       * 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.
+
+       * 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.
+
+2007-01-24  Bruno Haible  <bruno@clisp.org>
+
+       Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
+       <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
+       * 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.
+
+2007-01-24  Bruno Haible  <bruno@clisp.org>
+
+       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.
+
+2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * 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.
+
+       * lib/fnmatch_.h: Readjust white space and comments to match
+       glibc, to avoid spurious diffs.
+
+2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * 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-01-23  Bruno Haible  <bruno@clisp.org>
+
+       * lib/striconveh.c: Include c-strcaseeq.h.
+       (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
+       * modules/striconveh (Depends-on): Add c-strcaseeq.
+
+2007-01-23  Bruno Haible  <bruno@clisp.org>
+
+       * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
+
+       * modules/c-strcaseeq: New file.
+       * lib/c-strcaseeq.h: New file.
+
+       * modules/streq: New file.
+       * lib/streq.h: New file.
+
+2007-01-23  Bruno Haible  <bruno@clisp.org>
+
+       * modules/striconveha-tests: New file.
+       * tests/test-striconveha.c: New file.
+
+       * lib/striconveha.h: Include <stdbool.h>.
+       (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-01-23  Bruno Haible  <bruno@clisp.org>
+
+       * 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.
+
+2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Import the following changes from libc.
+
+       2005-10-14  Ulrich Drepper  <drepper@redhat.com>
+
+       * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
+
+       2004-12-01  Jakub Jelinek  <jakub@redhat.com>
+
+       * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
+       normal_bracket label.
+
+       2004-09-01  Jakub Jelinek  <jakub@redhat.com>
+
+       [BZ #361]
+       * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
+       to normal_bracket after fetching the next character.
+
+2007-01-22  Bruno Haible  <bruno@clisp.org>
+
+       * 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.
+
+2007-01-22  Bruno Haible  <bruno@clisp.org>
+
+       * 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.
+
+2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * modules/gettimeofday (License): Change from GPL to LGPL, since
+       gettimeofday is a library function.
+
+2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
+
+       * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
+
+2007-01-21  Bruno Haible  <bruno@clisp.org>
+
+       * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
+
+2007-01-21  Bruno Haible  <bruno@clisp.org>
+
+       * 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.
+
+2007-01-21  Bruno Haible  <bruno@clisp.org>
+
+       * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
+       * lib/striconveh.c (str_iconveh): Likewise.
+
+2007-01-21  Bruno Haible  <bruno@clisp.org>
+
+       * lib/striconveh.h (mem_iconveh): New declaration.
+       * lib/striconveh.c (mem_iconveh): New function.
+       * tests/test-striconveh.c (main): Add tests for mem_iconveh.
+
+2007-01-21  Bruno Haible  <bruno@clisp.org>
+
+       * lib/xstriconv.h (xmem_cd_iconv): Change specification.
+
+       * 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.
+
+       * 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.
+
+2007-01-21  Bruno Haible  <bruno@clisp.org>
+
+       * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
+
+2007-01-20  Jim Meyering  <jim@meyering.net>
+
+       * 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 "+".
+
 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
 
        * lib/poll.c: Include sys/time.h and time.h unconditionally,