Recognize the special case of a string concatenation in xvasprintf.
[gnulib.git] / lib / ChangeLog
index 5c8eb7a..bc3eb6f 100644 (file)
@@ -1,3 +1,840 @@
+2006-05-09  Bruno Haible  <bruno@clisp.org>
+
+       * xvasprintf.c: Include limits.h, string.h, xsize.h.
+       (EOVERFLOW): Define fallback value.
+       (xstrcat): New function.
+       (xvasprintf): Recognize the special case of a string concatenation.
+
+2006-05-01  Bruno Haible  <bruno@clisp.org>
+
+       * stdint_.h: Shorter URL.
+       * inttypes.h: Likewise.
+
+2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * verify.h: Document the internals better.  Most of this change
+       was written by Bruno Haible.
+
+2006-04-29  Bruno Haible  <bruno@clisp.org>
+
+       * gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
+       Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
+
+2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * getdate.y (get_date): When adding relative date, start with the
+       initial time, not with the result of the first mktime call.
+
+2006-04-23  Bruno Haible  <bruno@clisp.org>
+
+       * copy-file.c: Include <unistd.h> unconditionally.
+       * execute.c: Likewise.
+       * fatal-signal.c: Likewise.
+       * findprog.c: Likewise.
+       * mkdtemp.c: Likewise.
+       * pipe.h: Likewise.
+       * pipe.c: Likewise.
+       * wait-process.h: Likewise.
+
+2006-04-23  Bruno Haible  <bruno@clisp.org>
+
+       * fwriteerror.c (fwriteerror): Call fclose also when an error
+       condition was already detected.
+       Reported by Ben Pfaff <blp@cs.stanford.edu>.
+
+2006-04-19  Derek Price  <derek@ximbiot.com>
+           Eric Blake  <ebb9@byu.net>
+
+       * inttypes.h: Correct grammar in comment.
+
+2006-04-18  Derek Price  <derek@ximbiot.com>
+           Paul Eggert  <eggert@cs.ucla.edu>
+
+       * inttypes.h: New file.
+       * strtoimax.c: Assume <inttypes.h>.
+
+2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * utimens.c (futimens): glibc futimesat messes up if /proc
+       isn't mounted.  Problem reported by Kir Kolyshkin.
+
+2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * regcomp.c (init_dfa): Don't use wchar_t or wctype_t if RE_ENABLE_I18N
+       is not defined.  Problem reported by Mark D. Baushke via Derek R. Price.
+       * regex.h (RE_DUP_MAX): Update comment to match current implementation.
+
+2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Merge regex changes from libc, removing some of our
+       POSIX-conformance changes that were rejected and redoing them in a
+       less-intrusive way.
+
+       * regcomp.c (re_compile_internal, init_dfa):
+       Length arg is now size_t, not Idx.  All uses changed.
+       (peek_token): Forward decl now says internal_function.
+       (__re_error_msgid, __re_error_msgid_idx):
+       Now static rather than extern with attribute_hidden.
+       (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
+       For some reason libc prefers K&R style defns for external functions.
+       (regerror) [!defined _LIBC]: Likewise.
+       (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
+       (seek_collating_symbol_entry, lookup_collation_sequence_value):
+       (build_range_exp, build_collating_symbol):
+       Use K&R-style defn.
+       (re_compile_fastmap): Use '\0' to memset, not 0.
+       (utf8_sb_map): Make the calculations more obvious.
+       (init_dfa, parse_bracket_exp, build_charclass_op):
+       Call calloc and cast result, as glibc does.
+       (init_word_char, fetch_token, peek_token, peek_token_bracket):
+       (build_range_exp, build_collating_symbol):
+       Now internal functions.
+
+       * regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
+
+       * regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
+       _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
+       Don't depend on VMS; depend on __VMS instead, for POSIX
+       namespace cleanness.
+       (regoff_t): Define to ssize_t, not long int.
+
+       Remove the REG_ macros named below.  Instead, make the old names
+       (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
+       __USE_GNU_REGEX.
+       (REG_BACKSLASH_ESCAPE_IN_LISTS):
+       (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
+       (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
+       (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
+       (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
+       (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
+       (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
+       (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
+       (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
+       (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
+       (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
+       (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
+       (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
+       (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
+       (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
+       (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
+       (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
+       (REG_NREGS):
+       Remove.  All uses replaced by the old RE_* names.
+       (RE_BACKSLASH_ESCAPE_IN_LISTS):
+       (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
+       (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
+       (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
+       (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
+       (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
+       (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
+       (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
+       (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
+       (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
+       (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
+       Don't bother having these macros be independent of each others'
+       values, since they no longer exist in the POSIX name space.
+
+       Rename the following member names back to their old names,
+       unless !__USE_GNU_REGEX.  All uses changed back.
+       (buffer): Renamed from re_buffer.
+       (allocated): Renamed from re_allocated.
+       (used): Renamed from re_used.
+       (syntax): Renamed from re_syntax.
+       (fastmap): Renamed from re_fastmap.
+       (translate): Renamed from re_translate.
+       (can_be_null): Renamed from re_can_be_null.
+       (regs_allocated): Renamed from re_regs_allocated.
+       (fastmap_accurate): Renamed from re_fastmap_accurate.
+       (no_sub): Renamed from re_no_sub.
+       (not_bol): Renamed from re_not_bol.
+       (not_eol): Renamed from re_not_eol.
+       (newline_anchor): Renamed from re_newline_anchor.
+       (num_regs): Renamed from rm_num_regs.
+       (start): Renamed from rm_start.
+       (end): Renamed from rm_end.
+
+       (free_state): Move up a bit.
+
+       * regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
+       #define to be empty.
+       (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
+       when that is what is intended.
+       (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
+       (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
+       (MAX): New macro.
+       (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
+       All uses changed back to re_malloc, etc.  It's now the caller's
+       responsibility to check for overflow; all callers changed.
+       (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
+       (re_x2nrealloc): Remove.
+       (free_state): Remove decl.
+
+       * regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
+       (re_set_registers, re_exec):
+       Use K&R-style defn.
+
+       2006-01-31  Roland McGrath  <roland@redhat.com>
+
+       * regcomp.c (calc_eclosure_iter): Remove dead variables.
+       Reported by Mike Frysinger <vapier@gentoo.org>.
+
+       2006-01-15  Andreas Jaeger  <aj@suse.de>
+
+       [BZ #1950]
+       * regex_internal.c (re_string_reconstruct): Adjust for
+       build_wcs_upper_buffer change.
+       (build_wcs_upper_buffer): Change return type.
+
+       2005-12-10  Ulrich Drepper  <drepper@redhat.com>
+
+       * regex_internal.h: Include <stdint.h> if available.
+
+       2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
+
+       * regex_internal.h (SIZE_MAX): Provide a default definition.
+
+       2005-10-14  Ulrich Drepper  <drepper@redhat.com>
+
+       * regcomp.c: Adjust for changed secondary hash function.
+
+       2005-09-30  Ulrich Drepper  <drepper@redhat.com>
+
+       * regex.h: Pretty printing.
+       Clean up namespace a bit.
+
+       2005-09-30  Jakub Jelinek  <jakub@redhat.com>
+
+       * regexec.c (update_cur_sifted_state, check_arrival,
+       check_arrival_add_next_nodes): Avoid using uninitialized variable.
+
+       2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
+                   Ulrich Drepper  <drepper@redhat.com>
+
+       [BZ #1302]
+       * regex_internal.h (bitset_t): Renamed from bitset.  All uses changed.
+       (bitset_word_t): Renamed from bitset_word.  All uses changed.
+
+       2005-09-22  Ulrich Drepper  <drepper@redhat.com>
+
+       [BZ #281]
+       * regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
+       * regcomp.c: Remove unnecessary uses of
+       unsigned RE_TRANSLATE_TYPE.
+       * regex_internal.h: Likewise.
+       * regex_internal.c: Likewise.
+       * regexec.c: Likewise.
+       Based on a patch by Stepan Kasal <kasal@ucw.cz>.
+
+       2005-09-07  Ulrich Drepper  <drepper@redhat.com>
+
+       * regexec.c (find_recover_state): Remove unnecessary
+       initialization.
+       (transit_state_bkref): Make DFA a const pointer.
+       (get_subexp): Likewise.
+       (check_arrival): Likewise.
+       (update_cur_sifted_state): Likewise.
+       (re_search_internal): Likewise.
+       (prune_impossible_nodes): Likewise.
+       (acquire_init_state_context): Likewise.
+       (proceed_next_node): Likewise.
+       (set_regs): Likewise.
+       (free_fail_stack_return): Likewise.
+       (check_arrival_expand_ecl): Mark DFA parameter as const.
+       (check_arrival_expand_ecl_sub): Likewise.
+       (check_subexp_limits): Likewise.
+       (sub_epsilon_src_nodes):  Likewise.
+       (add_epsilon_src_nodes):  Likewise.
+       (merge_state_array): Likewise.
+       (update_regs): Likewise.
+       (build_trtable): Likewise.
+       (sift_states_backward): Mark MCTX parameter as const.
+       (build_sifted_states): Likewise.
+       (update_cur_sifted_state): Likewise.
+       (sift_states_mkref): Likewise.
+       (check_arrival_expand_ecl): Mark eclosure as const.
+       (check_dst_limits_calc_pos_1): Likewise.
+       * regex_internal.h (re_match_context_t): Make dfa a const
+       pointer.
+
+       2005-09-06  Ulrich Drepper  <drepper@redhat.com>
+
+       * regexec.c (merge_state_with_log): Define dfa as const pointer.
+       (transit_state_sb): Likewise.
+       (transit_state_mb): Likewise.
+       (sift_states_iter_mb): Likewise.
+       (check_arrival_add_next_nodes): Likewise.
+       (check_node_accept_bytes): Change first parameter to pointer-to-const.
+       [_LIBC] (re_search_2_stub): Use mempcpy.
+
+       * regex_internal.c (re_string_reconstruct): Avoid calling
+       mbrtowc for very simple UTF-8 case.
+
+       * regex_internal.c (re_acquire_state): Make DFA pointer arg
+       a pointer-to-const.
+       (re_acquire_state_context): Likewise.
+       * regex_internal.h: Adjust prototypes.
+
+       * regex.c: Prevent using C++ compilers.
+
+       * regex_internal.c (re_acquire_state): Minor code rearrangement.
+       (re_acquire_state_context): Likewise.
+
+2006-03-29  Mark D. Baushke  <mdb@gnu.org>
+            Bruno Haible  <bruno@clisp.org>
+
+       * stdint_.h: On OpenBSD, don't redefine types already included in
+       <sys/types.h> and <inttypes.h>.
+
+2006-03-24  Eric Blake  <ebb9@byu.net>
+
+       * time_r.c (copy_string_result): Remove, as it is no longer used.
+
+2006-03-24  Simon Josefsson  <jas@extundo.com>
+
+       * base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
+       including some doc fixes.
+       (base64_encode_alloc): Fix +1 bug on allocation failures.
+
+2006-03-24  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+       * base64.c (base64_encode): Do not read past end of array with
+       unsanitized input on systems with CHAR_BIT > 8.
+
+2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
+       Typedef to long int, not to off_, as POSIX will likely change
+       in that direction.
+
+2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * argp-help.c (validate_uparams): Fix typo
+       * argp-parse.c (argp_default_options): Consistently begin help
+       messages with a lowercase letter.
+
+2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * time_r.h (asctime_r, ctime_r): Remove.  These functions can
+       overrun buffers and shouldn't be used (much as gets shouldn't be
+       used).
+       * time_r.c (asctime_r, ctime_r): Likewise.
+
+2006-03-08  Simon Josefsson  <jas@extundo.com>
+
+       * gc-gnulib.c (randomize): Don't open files called 'no', they
+       signal that configure disabled the device.
+
+2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * c-stack.c: Include unistd.h unconditionally, since we now assume
+       the unistd module.
+       * getlogin_r.c: Likewise.
+       * getlogin_r.h: Likewise.
+       * glob.c: Likewise.
+       * pagealign_alloc.c: Likewise.
+       * unistd_.h: Remove; no longer needed.
+
+2006-03-07  Simon Josefsson  <jas@extundo.com>
+
+       * unistd_.h: New file.
+
+2006-03-07  Simon Josefsson  <jas@extundo.com>
+
+       * gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
+
+2006-03-01  Simon Josefsson  <jas@extundo.com>
+
+       * readline.c: Fix typo, tiny patch from Stepan Kasal
+       <kasal@ucw.cz>.
+
+2006-02-28  Simon Josefsson  <jas@extundo.com>
+
+       * getopt.c: Protect #include of unistd.h, for MSVS.
+
+2006-02-27  Simon Josefsson  <jas@extundo.com>
+
+       * base64.h: Indent #define's.  From Jim Meyering
+       <jim@meyering.net>.
+
+2006-02-27  Jim Meyering  <jim@meyering.net>
+
+       Revert the change of 2006-02-24, so these files can continue
+       to be sync'd from gettext.
+       * mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
+       of `config.h'.
+
+2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * glob.c: Say "invalid" rather than "illegal" in comments.
+
+2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * mkdtemp.c, setenv.c, unsetenv.c: Normalize inclusion of `config.h'.
+
+2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
+       AT_FDCWD exceeds INT_MAX.
+       * openat.h (AT_FDCWD): Likewise.
+
+2006-02-14  Jim Meyering  <jim@meyering.net>
+
+       Sync from coreutils.
+
+       Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
+       failure on deficient systems, and simplify gnulib lgpl dependencies.
+       * lstat.c (rpl_lstat): Rewrite to use stat() in place of the
+       xmalloc/lstat combination.  Based on a patch from Bruno Haible.
+
+       * xalloc-die.c: Remove unused definition of N_.
+
+2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
+
+2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * closeout.c (close_stdout): Don't assume 'bool' converts nonzero
+       ints to 0 or 1, as this isn't true for the stdbool.h substitute.
+
+2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * argp-namefrob.h: Restore changes accidentally lost during the
+       "autoupdate" on 2005-12-12.
+
+2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * fnmatch.c (L_): Renamed from L, to work around a bug in
+       Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
+       All uses changed.
+
+2006-01-26  Simon Josefsson  <jas@extundo.com>
+
+       * socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
+       prototype is visible on mingw32.
+
+       * getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
+       for mingw32.
+
+       * gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
+       mingw32).
+
+2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
+       attempt to open for write; this always fails, at least on POSIX
+       hosts.  This reinstates the 2006-01-09 change, which was
+       inadvertently removed.
+
+2006-01-26  Bruno Haible  <bruno@clisp.org>
+           Paul Eggert  <eggert@cs.ucla.edu>
+
+       * stdbool_.h (_Bool)
+       [(! (defined __cplusplus || defined __BEOS__)
+         && !defined __GNUC__
+         && !(defined __HP_cc || defined __xlc__
+              || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
+              || defined __sgi))]:
+       #define to signed char in these cases too; this simplifies
+       the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
+       etc., separately) and makes it more conservative.
+
+2006-01-21  Jim Meyering  <jim@meyering.net>
+
+       Sync from the stable (b5) branch of coreutils:
+
+       * fts.c (fts_children): Don't let close() clobber errno from
+       failed fchdir().
+
+       * fts.c (fts_stat): When following a symlink-to-directory,
+       don't necessarily interpret stat-fails+lstat-succeeds as indicating
+       a dangling symlink.  That can also happen at least for ELOOP.
+       The fix: return FTS_SLNONE only when the stat errno is ENOENT.
+       FYI, this bug predates the inclusion of fts.c in coreutils.
+
+       * fts.c (fts_open): Put new maxarglen declaration and uses
+       in their own block, so pre-c99 compilers don't object.
+
+       Avoid the double-free (first in fts_read, second in fts_close) that
+       would occur when an `active' directory is made inaccessible (e.g.,
+       via chmod a-x) during a traversal.
+       * fts.c (fts_read): After a failed fchdir, update sp->fts_cur
+       before returning.  Reproduce this failure by
+       mkdir -p a/b; cd a; chmod a-x . b
+       Reported by Stavros Passas.
+
+2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * argp-namefrob.h: Bugfix. Remove stray #
+
+2006-01-25  Bruno Haible  <bruno@clisp.org>
+
+       * stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
+       warnings.
+       Reported by Paul Eggert.
+
+2006-01-25  Jim Meyering  <jim@meyering.net>
+
+       * fileblocks.c: Remove more useless parentheses.
+       * readutmp.h: Likewise.
+
+2006-01-24  Bruno Haible  <bruno@clisp.org>
+
+       * stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler already
+       has it.
+       Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
+       2005-11-26.
+
+       * stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as 'signed char'
+       to avoid problems with the built-in _Bool type.
+       Reported by Paul Eggert on 2005-11-26.
+
+2006-01-24  Jim Meyering  <jim@meyering.net>
+
+       * socket_.h: Remove useless parentheses in uses of cpp `defined'.
+
+2006-01-24  Simon Josefsson  <jas@extundo.com>
+
+       * socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
+       Bruno.
+
+2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Work around porting bugs reported by Dieter in
+       <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
+       * getopt.c (_NOPROTO): Remove; no longer needed.
+       Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
+       Include "getopt.h" first, to check interface.
+       (getenv): Declare only if defined HAVE_DECL_GETENV &&
+       !HAVE_DECL_GETENV.
+       * strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
+       (__strndup): Revert to K&R-style function dfns, the glibc style.
+       * strnlen.c: Don't claim it's taken from glibc; it's not.
+       (strnlen, __strnlen): Remove #defines and #undefs; not needed.
+       Include strnlen.h first, to get prototype properly.
+       (strnlen): Renamed from __strnlen.
+       Remove weak alias.
+
+2006-01-23  Ulrich Drepper  <drepper@redhat.com>
+
+       These changes imported from libc.
+       * getopt.c: Use __fxprintf instead of inline stream orientation
+       test and two separate function calls.
+       * strndup.c (__strndup): Add libc_hidden_def.
+
+2006-01-22  Bruno Haible  <bruno@clisp.org>
+
+       * vasnprintf.c (VASNPRINTF): In the computation of the size of the
+       temporary buffer for sprintf, take into account the precision also
+       for 'd', 'i', 'u', 'o', 'x', 'X'.
+
+2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * quotearg.c (quotearg_buffer_restyled): Add "default: break;"
+       to pacify gcc -Wswitch-default.
+
+2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * argp-help.c (usage_long_opt): Do not print DOC options.
+       (__argp_base_name): Removed
+       * argp-namefrob.h (__argp_basename): Removed definition. Was a
+       typo.
+       (__argp_base_name): Provide macro definition or extern declaration
+       depending on the configuration
+
+2006-01-20  Simon Josefsson  <jas@extundo.com>
+
+       * inet_ntop.h: Unconditionally include sys/socket.h.
+
+2006-01-19  Simon Josefsson  <jas@extundo.com>
+
+       * socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
+
+2006-01-12  Simon Josefsson  <jas@extundo.com>
+
+       * base64.c: Fix warning, reported by Bruno Haible
+       <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
+
+2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Sync from coreutils.
+       * md5.c: Fix commentary typos.
+       (alignof, UNALIGNED_P): No need for a GCC-specific version.
+       * md5.h (__attribute__): Remove; unused.
+       * sha1.c: Fix commentary to match md5 better.
+       * sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
+       so that we don't need to worry about alignment.  All uses changed.
+       This merges the 2005-10-28 md5 change into sha1.
+
+2006-01-11  Jim Meyering  <jim@meyering.net>
+
+       Sync from coreutils.
+       * md5.c (OP): Fix spacing.
+
+2006-01-11  Simon Josefsson  <jas@extundo.com>
+
+       * stdint_.h (SIZE_MAX): Add missing (.
+
+2006-01-10  Bruno Haible  <bruno@clisp.org>
+
+       * argp.h (__const): Remove macro. Use const instead.
+       * argp-fmtstream.h (__const): Likewise.
+       * glob_.h (__const): Remove macro.
+       * glob-libc.h: Use const instead of __const.
+
+2006-01-10  Jim Meyering  <jim@meyering.net>
+
+       Avoid the double-free (first in fts_read, second in fts_close) that
+       would occur when an `active' directory is made inaccessible (e.g.,
+       via chmod a-x) during a traversal.
+       * fts.c (fts_read): After a failed fchdir, update sp->fts_cur
+       before returning.  Reproduce this failure by
+       mkdir -p a/b; cd a; chmod a-x . b
+       Reported by Stavros Passas.
+
+       Sync from coreutils.
+       * sha1.c: Tweak grammar in a comment.
+
+2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * regex_internal.h (BITSET_WORD_BITS):
+       Work around a bug in 64-bit PGC (before version 6.1-2), where the
+       preprocessor mishandles large unsigned values as if they were signed.
+       Problem reported by Claudio Fontana in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
+
+2006-01-10  Simon Josefsson  <jas@extundo.com>
+
+       * socket_.h: New file.
+
+2006-01-10  Bruno Haible  <bruno@clisp.org>
+
+       * localcharset.c: Update from GNU gettext.
+
+2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Sync from coreutils.
+       * chdir-long.c (cdb_free): Don't bother trying to open directory
+       for write access: POSIX says that must fail.
+       * fts.c (diropen): Likewise.
+       * save-cwd.c (save_cwd): Likewise.
+       * chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
+       well, for minor improvements on hosts that lack O_DIRECTORY.
+       * chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
+       Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
+       Fall back on chown if open failed with EACCES.
+
+       * gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
+       Report an error at compile-time if only a 1-second nominal clock
+       resolution is found.
+
+       * lchmod.h: New file.
+       * mkdir-p.c: Include lchmod.h, lchown.h.
+       (make_dir_parents): Use lchown rather than chown, and
+       lchmod rather than chmod.
+
+       * mountlist.c (ME_DUMMY): "none" and "proc" file systems are dummies
+       too.  Problem with "none" reported by Bob Proulx.  Problem with
+       "proc" reported by n0dalus.
+
+       * mountlist.c: Include <limits.h>.
+       (dev_from_mount_options)
+       [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
+       New function.  It no longer assumes "dev=" has the System V meaning
+       on Linux (since it doesn't).  It also parses "dev=" more carefully.
+       (read_file_system_list)
+       [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
+       MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
+       dev= in that case.
+
+       * posixtm.h (PDS_PRE_2000): New macro.
+       * posixtm.c (year): Arg is now syntax_bits rather than allow_century.
+       All usages changed.  Reject dates outside the range 1969-1999 if
+       PDS_PRE_2000 is used.
+
+2006-01-09  Jim Meyering  <jim@meyering.net>
+
+       Sync from coreutils.
+
+       * version-etc.c (COPYRIGHT_YEAR): Update to 2006.
+
+       * chdir-safer.h, chdir-safer.c: New files.
+
+       * modechange.c (mode_compile): Reject an invalid mode string
+       that starts with an octal digit.  From Andreas Gruenbacher.
+
+       * openat.c: Include "fcntl--.h" and "unistd--.h", to map open
+       and dup to open_safer and dup_safer, respectively.
+       (openat_permissive): Fix typo in comment.
+
+       * openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
+       "gettext.h"; either no longer needed or are guaranteed by openat.h.
+       (_): Remove; no longer needed.
+       (openat): Renamed from rpl_openat; no need for rpl_openat
+       since openat.h renames openat for us.
+       Replace most of the body with a call to openat_permissive,
+       to avoid duplicate code.
+       Port to (probably hypothetical) environments were mode_t is
+       wider than int.
+       (openat_permissive): Require mode arg, so that we can check
+       types better.  Put it just after flags.  Change cwd failure
+       indicator from pointer-to-bool to pointer-to-errno-value.
+       All callers changed.
+       Invoke openat_save_fail and/or openat_restore_fail if
+       cwd_errno is null, so that openat can call us.
+       (openat_permissive, fdopendir, fstatat, unlinkat):
+       Simplify errno handling to avoid some duplicate code,
+       as it's OK to set errno on success.
+       * openat.h: Revamp code so that function macros depend on
+       __OPENAT_PREFIX only, not also on AT_FDCWD.
+       (openat_ro): Remove.  Caller changed to use openat_permissive.
+       (openat_permissive): Now a macro, if not a function.
+       (openat_restore_fail, openat_save_fail): Now always functions,
+       since mkdirat needs them even if __OPENAT_PREFIX is defined.
+
+       * openat-priv.h: New file, defining macros used by mkdirat.c
+       and openat.c.
+       * mkdirat.c: Include openat-priv.h.
+       Remove definitions of macros defined therein.
+       * openat.c: Likewise.
+
+       * mkdirat.c (mkdirat): New file and function.
+       * openat.h (mkdirat): Declare.
+
+       * openat.c (fdopendir): Don't change errno when returning non-NULL.
+
+       * openat.h (openat_permissive): Declare.
+       (openat_ro): Define.
+
+       * openat.c (EXPECTED_ERRNO): New macro.
+       (openat_permissive): New function -- used in remove.c rewrite.
+       (all functions): Set errno just before returning, only if there
+       was an actual failure.
+       Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
+
+       Emulate openat-family functions using Linux's procfs, if possible.
+       Idea and some code based on Ulrich Drepper's glibc changes.
+
+       * openat.c: (BUILD_PROC_NAME): New macro.
+       Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
+       (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
+       before falling back on save_cwd and restore_cwd.
+       (fdopendir, fstatat, unlinkat): Likewise.
+
+       * openat.c (fstatat, unlinkat): Perform the syscall directly,
+       skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
+
+       * openat.c (rpl_openat): Use the promoted type (int), not mode_t,
+       as second argument to va_arg.  Otherwise, some versions of gcc
+       warn that `if this code is reached, the program will abort'.
+
+2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
+
+       Sync from coreutils.
+
+       Add POSIX ACL support
+       * acl.h (copy_acl, set_acl): Add declarations.
+       * acl.c (acl_entries): Add fallback implementation for POSIX ACL
+       systems other than Linux.
+       (chmod_or_fchmod): New function: use fchmod when possible,
+       and chmod otherwise.
+       (file_has_acl): Add a POSIX ACL implementation, with a
+       Linux-specific subcase.
+       (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
+       S_ISVTX from one file to another.  Fall back to fchmod/chmod when
+       acls are unsupported.
+       (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
+       S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
+       are unsupported.
+
+2006-01-09  Bruno Haible  <bruno@clisp.org>
+
+       * sysexit_.h (EX_OK): New macro.
+       Suggested by Martin Lambers <marlam@marlam.de>.
+
+2006-01-09  Bruno Haible  <bruno@clisp.org>
+
+       * javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
+       * javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
+       * csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
+       * csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
+
+2006-01-09  Bruno Haible  <bruno@clisp.org>
+
+       * stdint_.h (SIZE_MAX): Write the value without involving negative
+       numbers.
+
+2005-10-16  Bruno Haible  <bruno@clisp.org>
+
+       * stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
+       don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
+
+2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * strftime.c (tzname): Don't declare if it is already #defined.
+       Problem reported for Mingw by Mark Junker.
+
+2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
+       long int, not int, for nanosecond counts, so that people who are
+       used to POSIX struct timespec won't be surprised.  Reported by Jim
+       Meyering.
+
+2005-12-16  Jim Meyering  <jim@meyering.net>
+
+       * fprintftime.c, fprintftime.h: New files.
+
+2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
+       * argp-help.c (fill_in_uparams): Check if the constructed
+       struct uparams is valid. Fall back to the default values if it is
+       not.
+
+2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * argp-help.c (__argp_base_name): New function
+       (__argp_short_program_name): Rewrite using __argp_base_name
+       * argp-namefrob.h: Define program_invocation_name and
+       program_invocation_short_name if requested
+       (__argp_base_name): Add prototype
+       * argp-parse.c (argp_def): Use gettext wrappers
+       (argp_default_parser): Use __argp_base_name
+       * argp-pin.c: New file. Defines program_invocation_name and
+       program_invocation_short_name on systems that lack them.
+
+2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
+       TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
+       porting problem reported by Georg Schwarz in
+       <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
+
+2005-07-09  Bruno Haible  <bruno@clisp.org>
+
+       * csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
+       * csharpcomp.c (compile_csharp_using_sscli): Likewise.
+       Reported by Mark Junker <mjscod@gmx.de>.
+
+2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
+       (uintmax_t) [defined uintmax_t]: Do not declare.
+       (SIZE_MAX) [defined SIZE_MAX]: Do not define.
+       This works around a problem if intmax_t.m4 and/or uintmax_t.m4
+       and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
+       (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
+       sake of portability to weird hosts that C allows (though we don't
+       know of any practical examples).
+
+       * savedir.h (fdsavedir): New decl.
+       * savedir.c (fdsavedir, savedirstream): New functions; the latter
+       contains most of the former guts of savedir.
+       (savedir): Use savedirstream.
+       Include "openat.h".
+
 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
 
        * xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
        include <wchar.h>; no longer needed.
 
 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
-       and  Ulrich Drepper  <drepper@redhat.com>
+       and  Ulrich Drepper  <drepper@redhat.com>
 
        Import from libc.
        * obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
        shell quoting style.
 
 
-Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 Free Software Foundation, Inc.
 Copying and distribution of this file, with or without modification,
 are permitted provided the copyright notice and this notice are preserved.