Merge glibc changes into lib/glob.c.
[gnulib.git] / ChangeLog
index e2ec18d..db487c7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,191 @@
+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.