Merge glibc changes into lib/glob.c.
[gnulib.git] / ChangeLog
index 767a3e6..db487c7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,282 @@
+2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Merge glibc changes into lib/glob.c.
+
+       * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
+       2007-10-15 04:59:03 UTC.  Here are the changes:
+
+       2007-10-14  Ulrich Drepper  <drepper@redhat.com>
+
+       * lib/glob.c: Reimplement link_exists_p to use fstatat64.
+
+       * lib/glob.c: Add some branch prediction throughout.
+
+       2007-10-07  Ulrich Drepper  <drepper@redhat.com>
+
+       [BZ #5103]
+       * lib/glob.c (glob): Recognize patterns starting \/.
+
+       2007-02-14  Jakub Jelinek  <jakub@redhat.com>
+
+       [BZ #3996]
+       * lib/glob.c (attribute_hidden): Define if not defined.
+       (glob): Unescape dirname, filename or username when needed and not
+       GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
+       is NULL.  Handle unescaped [ in pattern without closing ].
+       Don't pass GLOB_CHECK down to recursive glob for directories.
+       (__glob_pattern_type): New function.
+       (__glob_pattern_p): Implement using __glob_pattern_type.
+       (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
+       characters and backslashes if not GLOB_NOESCAPE or unterminated [.
+       Remove unreachable code.
+
+       2006-09-30  Ulrich Drepper  <drepper@redhat.com>
+
+       * lib/glob.c (glob_in_dir): Add some comments and asserts to
+       explain why there are no leaks.
+
+       2006-09-25  Jakub Jelinek  <jakub@redhat.com>
+
+       [BZ #3253]
+       * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
+       time, rather allocate increasingly bigger arrays of pointers, if
+       possible with alloca, if too large with malloc.
+
+2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Check for 64-bit int errors in HP-UX 10.20 preprocessor.
+       Problem reported by H.Merijn Brand in
+       <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
+       * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
+       * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
+
+2007-10-15  Bruno Haible  <bruno@clisp.org>
+
+       * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
+       with explicit rpl_ prefix.
+       * lib/fopen.c (fopen): Likewise.
+       * lib/freopen.c (freopen): Likewise.
+       * lib/iconv.c (iconv): Likewise.
+       * lib/iconv_close.c (iconv_close): Likewise.
+
+2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
+
+2007-10-15  Bruno Haible  <bruno@clisp.org>
+
+       * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
+       <stddef.h> instead of <stdlib.h> since we only need NULL.
+       Reported by Ben Pfaff <blp@cs.stanford.edu>.
+
+2007-10-15  Bruno Haible  <bruno@clisp.org>
+
+       * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
+       Replace paragraph talking about LIBOBJS.
+       Reported by Colin Watson <cjwatson@debian.org>.
+
+2007-10-15  Bruno Haible  <bruno@clisp.org>
+
+       * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
+       <stdlib.h> before using NULL.
+
+2007-10-15  Simon Josefsson  <simon@josefsson.org>
+
+       * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
+       Reported by Albert Chin <china@thewrittenword.com>.
+
+2007-10-14  Bruno Haible  <bruno@clisp.org>
+
+       * modules/iconv_open-utf-tests: New file.
+       * tests/test-iconv-utf.c: New file.
+
+       Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
+       * modules/iconv_open-utf: New file.
+       * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
+       (iconv, iconv_close): New declarations.
+       * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
+       be defined.
+       (iconv_open): Add special handling of conversion between UTF-8 and
+       UTF-{16,32}{BE,LE}.
+       * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
+       * lib/iconv_close.c: New file.
+       * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
+       gl_FUNC_ICONV_OPEN.
+       (gl_FUNC_ICONV_OPEN): Use it.
+       (gl_FUNC_ICONV_OPEN_UTF): New macro.
+       * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
+       and REPLACE_ICONV_UTF.
+       * modules/iconv_open (Depends-on): Add c-strcase.
+       (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
+       ICONV_CONST.
+       * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
+
+2007-10-13  Albert Chin  <china@thewrittenword.com>
+            Bruno Haible  <bruno@clisp.org>
+
+       * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
+       through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
+
+2007-10-13  Bruno Haible  <bruno@clisp.org>
+
+       * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
+       defined, use the ISO C99 inline semantics.
+       * lib/argp.h (ARGP_EI): Likewise.
+
+2007-10-13  Bruno Haible  <bruno@clisp.org>
+
+       Handle 'inline' change in gcc 4.3.0.
+       * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
+       argp_fmtstream_write, argp_fmtstream_set_lmargin,
+       argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
+       argp_fmtstream_point): Disable 'extern' declaration if the function
+       definition is going to be provided inline.
+       (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
+       semantics, not the ISO C99 inline semantics.
+       * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
+       'extern' declaration if the function definition is going to be provided
+       inline.
+       (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
+       the GNU C inline semantics, not the ISO C99 inline semantics. With
+       GCC 4.2, avoid a warning.
+
+2007-10-13  Bruno Haible  <bruno@clisp.org>
+
+       * lib/freading.h (freading): Enable the use of __freading for
+       glibc >= 2.7.
+       * lib/freading.c (freading): Likewise.
+
+2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
+       "warning: C99 inline functions are not supported; using GNU89".
+
+2007-10-12  Bruno Haible  <bruno@clisp.org>
+
+       * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
+       of 2.
+       * tests/test-ceilf2.c: New file.
+       * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
+
+       * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
+       * modules/ceilf-tests: Update.
+
+2007-10-12  Bruno Haible  <bruno@clisp.org>
+
+       * lib/floor.c (FUNC): Avoid rounding errors for values near a power
+       of 2.
+       * tests/test-floorf2.c: New file.
+       * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
+
+       * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
+       * modules/floorf-tests: Update.
+
+2007-10-12  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-trunc2.c: New file.
+       * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
+
+       * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
+       * modules/trunc-tests: Update.
+
+2007-10-12  Bruno Haible  <bruno@clisp.org>
+
+       * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
+       of 2.
+       * tests/test-truncf2.c: New file.
+       * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
+
+       * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
+       * modules/truncf-tests: Update.
+
+2007-10-11  Eric Blake  <ebb9@byu.net>
+
+       Don't claim strerror is broken on Interix.
+       * doc/functions/strerror.texi (strerror): Known broken systems are
+       now Solaris 8, and not Interix.
+       * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
+       Interix on cross-compile.
+       Reported by Martin Koeppe in
+       http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
+
+2007-10-11  Bruno Haible  <bruno@clisp.org>
+
+       * modules/i-ring-tests: New file.
+       * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
+       instead of assert.
+
+2007-10-11  Bruno Haible  <bruno@clisp.org>
+
+       * modules/filenamecat-tests: New file.
+       * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
+       * lib/filenamecat.c: Remove test code.
+
+2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
+
+       * lib/strerror.c: Include <string.h> always, to test interface,
+       and to remove the need for the dummy.
+       Include intprops.h to compute width instead of doing it ourselves
+       and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
+       (strerror): Define it to return NULL if there's no system strerror.
+       (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
+       Omit !HAVE_STRERROR code.  We don't need to worry about supporting
+       ancient pre-strerror Unix systems well any more.  Saying "unknown
+       system error" is enough.
+       * lib/string.in.h (strerror): Simplify the ifdef to reflect the
+       simpler strerror.c implementation.
+       * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
+       Simplify the tests to reflect the simpler strerror implementation.
+       * modules/strerror (Depends-on): Add intprops.
+
+2007-10-09  Eric Blake  <ebb9@byu.net>
+
+       Silence test-fpending.
+       * modules/fpending-tests (Files): Add wrapper script.
+       * tests/test-fpending.sh: New file.
+
+2007-10-09  Bruno Haible  <bruno@clisp.org>
+
+       * MODULES.html.sh (func_module): Don't create a hyperlink for
+       function names like 'printf_frexp'.
+       (Misc): Add crc, memxor.
+       (Characteristics of floating types): New section.
+       (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
+       isnanf-nolibm, signbit, trunc, truncf, truncl.
+       (Enhancements for ISO C 99 functions): New subsection Input/output.
+       (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
+       fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
+       locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
+       (Compatibility checks for POSIX:2001 functions): Add clock-time.
+       (Enhancements for POSIX:2001 functions): Add chdir-long.
+       (File system functions): Add areadlink, chdir-safer, read-file.
+       Remove cycle-check.
+       (File system as inode set): New section.
+       (Date and time): Add gethrxtime.
+       (Multithreading): Add openmp.
+       (Internationalization functions): Add localename.
+       (Unicode string functions): Add unistr/u*-mbsnlen.
+       (Support for maintaining and releasing projects): Add git-version-gen.
+       (Lone files): Remove directories.
+
+2007-10-08  Ben Pfaff  <blp@gnu.org>
+
+       * lib/xmalloca.h: Fix typo in comment.
+
+2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
+       when avoiding problems with integer overflow.  Use a portable test
+       instead.
+
+2007-10-08  Simon Josefsson  <simon@josefsson.org>
+
+       * modules/dummy (License): Change to LGPLv2+.
+       * modules/float (License): Likewise
+       * modules/realloc (License): Likewise
+       * modules/stdlib (License): Likewise
+
 2007-10-07  Bruno Haible  <bruno@clisp.org>
 
        * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
        * doc/functions/floorf.texi: Mention the 'floorf' module.
 
 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
-            Bruno Haible  <bruno@clisp.org>
+           Bruno Haible  <bruno@clisp.org>
 
        Advertise for the Git server instead of the CVS server.
        * doc/gnulib-intro.texi (Steady Development): Mention the Git
        * lib/fseeko.c (rpl_fseeko): Likewise.
 
 2007-10-03  Bruno Haible  <bruno@clisp.org>
-            Jim Meyering  <jim@meyering.net>
-            Eric Blake  <ebb9@byu.net>
+           Jim Meyering  <jim@meyering.net>
+           Eric Blake  <ebb9@byu.net>
 
        * doc/relocatable.texi: Use @command instead of @program.