Fix typo, from Jim Hyslop <jhyslop@dreampossible.ca>.
[gnulib.git] / lib / ChangeLog
index 341580d..2dbf6cf 100644 (file)
+2006-06-30  Jim Hyslop <jhyslop@dreampossible.ca>  (tiny change)
+
+       * getaddrinfo.c: fixed typo
+
+2006-06-29  Eric Blake  <ebb9@byu.net>
+
+       * stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
+       unused static function.
+
+2006-06-29  Eric Blake  <ebb9@byu.net>
+
+       * stat_.h: New file.
+
+2006-06-29  Derek R. Price  <derek@ximbiot.com>
+
+       * strftime.c: Assume strftime() exists.
+
+2006-06-28  Bruno Haible  <bruno@clisp.org>
+
+       * getaddrinfo.h: Fix POSIX URL.
+       * getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of _WIN32.
+       (use_win32_p): Make static.
+       (getaddrinfo): Reject service name if it is empty or does not consist
+       solely of decimal digits, or if its value is > 65535.
+       (getnameinfo): Remove useless casts.
+
+2006-06-28  Derek R. Price  <derek@ximbiot.com>
+
+       * savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
+       Autoconf 2.60 says this stuff was obsolete.
+
+2006-05-12  Bruno Haible  <bruno@clisp.org>
+
+       * mkdtemp.c [MINGW]: Include <io.h>.
+       (mkdir): Define using _mkdir.
+
+2006-06-28  Bruno Haible  <bruno@clisp.org>
+
+       * wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
+       declaration for wcwidth.
+       * mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
+
+2006-06-28  Eric Blake  <ebb9@byu.net>
+
+       * xvasprintf.h: Fix comments.
+
+2006-06-28  Eric Blake  <ebb9@byu.net>
+
+       * mbchar.h (wcwidth): Include wcwidth.h.
+       * mbswidth.c (wcwidth): Move from here...
+       * wcwidth.h: ...to this new file.
+
+2006-06-28  Simon Josefsson  <jas@extundo.com>
+
+       * getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
+       functions there.  It will succeed on Windows XP, but on Windows
+       2000 and (presumably) earlier, it will fail, and use the internal
+       re-implementation.
+       (use_win32_p): New function.
+       (getaddrinfo): Use strtoul on servname, to support numeric ports.
+       Support AI_NUMERICSERV to disable getservbyname.
+       (getnameinfo): New function, only supports
+       NI_NUMERICHOST|NI_NUMERICSERV for now.
+
+       * getaddrinfo.h: Test and check for AI_* flags separately, MinGW
+       only have some of them.  Add AI_NUMERICSERV.  Add prototype for
+       getnameinfo.
+
+2006-06-27  Bruno Haible  <bruno@clisp.org>
+
+       * stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
+
+2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * base64.c (B64): Use _ as the formal parameter, not x, to avoid
+       bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
+
+2006-06-26  Bruno Haible  <bruno@clisp.org>
+
+       * stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
+       WCHAR_MAX.
+       Reported by Mark D. Baushke and Larry Jones.
+
+2006-06-26  Bruno Haible  <bruno@clisp.org>
+
+       * stdint_.h: Don't include <stdint.h> when using the SGI C compiler
+       in pre-C99 mode.
+       Suggested by Mark D. Baushke and Larry Jones.
+
+2006-06-23  Mark D. Baushke  <mdb@gnu.org>
+
+       * stdint_.h: Treat BSD/OS like OpenBSD.
+
+2006-06-23  Bruno Haible  <bruno@clisp.org>
+
+       * stdint_.h: Treat IRIX like OpenBSD.
+
+2006-06-23  Bruno Haible  <bruno@clisp.org>
+
+       * stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
+       ISO C 99 Technical Corrigendum 1.
+
+2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * glob.c (collated_compare): Remove 'const' uses that weren't needed.
+       Some compiler complained about some of them.  Problem reported by
+       Larry Jones in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
+
+2006-06-21  Simon Josefsson  <jas@extundo.com>
+
+       * getaddrinfo.c (getaddrinfo): Set ai_family in the return
+       variable.
+
+       * socket_.h: Don't define WINVER.
+
+       * inet_pton.h, inet_pton.c: New file, taken from glibc but
+       slightly modified to work in gnulib.
+
+2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * read-file.c (fread_file): Start with buffer allocation of
+       0 bytes rather than 1 byte; this simplifies the code.
+       Don't invoke feof; it's not needed.  Refactor to avoid duplicate
+       code to free buffer and save/restore errno.
+       (internal_read_file): Remove unused local.
+
+2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * openat.c (openat): Use ?:, not if, to work around GCC bug 4210
+       <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
+       Problem reported by Denis Excoffier in
+       <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
+
+2006-06-19  Simon Josefsson  <jas@extundo.com>
+
+       * inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
+
+2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * alloca_.h (alloca) [defined alloca]: Don't define or declare.
+
+2006-06-17  Bruno Haible  <bruno@clisp.org>
+
+       * stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
+
+2006-06-17  Bruno Haible  <bruno@clisp.org>
+
+       * stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
+       problem on Solaris 2.5.1.
+
+2006-06-16  Eric Blake  <ebb9@byu.net>
+
+       * unsetenv.c [!defined errno]: Assume errno.h declares errno.
+       * unicodeio.c [!defined errno]: Likewise.
+       * strtol.c [!defined errno]: Likewise.
+       * strtod.c [!defined errno]: Likewise.
+
+2006-06-15  Bruno Haible  <bruno@clisp.org>
+
+       * stdint_.h: Rewritten to be fully auto-configured.
+       Fixes bug on HP-UX/IA64.
+
+2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * getdate.y (__attribute__): Don't define if already defined.
+       Problem reported by Larry Jones.
+       * utimens.c (__attribute__): Likewise.
+
+2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
+       reported by Andreas Schwab.
+
+2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+           Bruno Haible  <bruno@clisp.org>
+
+       * strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
+
+2006-05-26  Martin Lambers  <marlam@marlam.de>
+
+       * getpass.c: Updates the test for the native W32 API, and adds
+       missing includes, thus fixing compilation warnings.
+
+2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * tempname.c (small_open, large_open): New macros.
+       (__open, __open64) [!_LIBC]: Remove.
+       (__gen_tempname): Use small_open and large_open instead of __open
+       and __open64.  This fixes a portability bug on HP-UX 11.11i
+       reported by Simon Wing-Tang in
+       <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
+
+2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * exclude.c (exclude_fnmatch): New function.
+       (excluded_file_name): Call exclude_fnmatch.
+       * exclude.h (excluded_file_name): New prototype
+
+2006-05-24  Bruno Haible  <bruno@clisp.org>
+
+       * printf-args.c (printf_fetchargs): Turn NULL pointers for
+       TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
+       Reported by Thorsten Maerz <torte@netztorte.de> via
+       Aaron Stone <aaron@serendipity.cx>.
+
+2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
+       Use the usual Autoconf way to include <time.h> and/or sys/time.h.
+       (my_usleep): Don't mishandle maximum value.
+
+2006-05-19  Jim Meyering  <jim@meyering.net>
+
+       * getugroups.c: Correct an outdated comment.  From Bruno Haible.
+
+2006-05-17  Bruno Haible  <bruno@clisp.org>
+
+       Cygwin portability.
+       * classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
+
+2006-05-17  Bruno Haible  <bruno@clisp.org>
+
+       * stdint_.h: Fix recognition of Cygwin.
+
+2006-05-11  Jim Meyering  <jim@meyering.net>
+
+       * sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From James Lemley.
+
+2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * crc.c (crc32_update): Remove unnecessary L suffix.
+       * md4.c (rol): Cast right-shift arg to uint32_t to prevent
+       unwanted sign propagation, e.g., on hosts with 64-bit int.
+       There still are some problems with reeelly weird theoretical hosts
+       (e.g., 33-bit int) but it's not worth worrying about now.
+       * sha1.c (rol): Likewise.
+       (K1, K2, K3, K4): Remove unnecessary L suffix.
+
+2006-05-10  Bruno Haible  <bruno@clisp.org>
+
+       * des.c: Cast to avoid warnings.
+
+2006-05-10  Simon Josefsson  <jas@extundo.com>
+
+       * md4.c: Typo fix, update copyright years.
+       (K1, K2): Don't use L because it turn computations into 64-bit on
+       64-bit platforms.
+
+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
+       coreutils no longer futzes with rounding modes.
+
+2005-11-14  Jim Meyering  <jim@meyering.net>
+
+       * mkstemp-safer.c: Include <config.h>, required for possible
+       replacement of mkstemp.
+
+2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * gethrxtime.c: Include "timespec.h" rather than the sys/time / time
+       business.
+       (gethrxtime) [! (HAVE_NANOUPTIME
+       || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
+       || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
+       our own approximation.
+
+2005-11-10  Simon Josefsson  <jas@extundo.com>
+
+       * readline.c: Remove EOL.
+
+2005-11-08  Eric Blake  <ebb9@byu.net>
+
+       * inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
+
+2005-11-08  Eric Blake  <ebb9@byu.net>
+
+       * getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
+
+2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix porting problem reported by Theodoros V. Kalamatianos.
+       * utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
+       Don't assume that futimes failing means we must fail.
+
+2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * getcwd.c (__getcwd): Don't assume that system calls after readdir
+       leave errno alone.  Problem reported by Dmitry V. Levin.
+
+2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * savedir.c (savedir): Don't assume that xrealloc etc. leave
+       errno alone.  Problem reported by Frederic Jolliton.
+
+2005-10-28  Simon Josefsson  <jas@extundo.com>
+
+       * inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
+       "restrict" keywords, as per POSIX.  Protect the function
+       declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
+       Don't use K&R prototypes.  Check the sprintf return values.
+       Re-define EAFNOSUPPORT if not present.  Indent.
+
+       * md5.h, md5.c: Simplify buffer handling visavi alignment,
+       suggested by Bruno Haible <bruno@clisp.org>.
+
+       * gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
+
+       * gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
+
+       * gc-libgcrypt.c: Add MD2 (which is not available through
+       libgcrypt).
+
+       * gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
+
+       * md2.h, md2.c: New files.
+
+2005-10-24  Simon Josefsson  <jas@extundo.com>
+
+       * md4.h: Shrink buffer size, now that we changed the type.
+
+2005-10-22  Simon Josefsson  <jas@extundo.com>
+
+       * arcfour.h, arcfour.c: Use fixed size indices in the
+       arcfour_context struct (simplify test vector testing in GNU
+       Shishi).
+
+2005-10-22  Simon Josefsson  <jas@extundo.com>
+
+       * md4.h, md4.c: Simplify buffer handling visavi alignment,
+       suggested by Bruno Haible <bruno@clisp.org>.
+
+2005-10-22  Simon Josefsson  <jas@extundo.com>
+
+       * crc.h: Include stddef.h, for size_t.
+
+2005-10-21  Simon Josefsson  <jas@extundo.com>
+
+       * arctwo.h (arctwo_setkey): Protect variable in CPP macro,
+       suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
+
+2005-10-21  Simon Josefsson  <jas@extundo.com>
+
+       * rijndael-api-fst.c: Fix bugs in CBC mode for more than one
+       block.
+
+2005-10-21  Simon Josefsson  <jas@extundo.com>
+
+       * gc-gnulib.c: Support ARCTWO in CBC mode.
+
+2005-10-21  Simon Josefsson  <jas@extundo.com>
+
+       * hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
+       <bruno@clisp.org>.
+
+       * hmac-sha1.c (hmac_sha1): Likewise.
+
+       * crc.c (crc32_update): Actually use crc parameter, suggested by
+       Bruno Haible <bruno@clisp.org>.
+
+       * crc.h: Include stdint.h directly, suggested by Bruno Haible
+       <bruno@clisp.org>.
+
+2005-10-21  Simon Josefsson  <jas@extundo.com>
+
+       * des.h, des.c: New files.
+
+       * gc-gnulib.c: Support DES.c
+
+2005-10-21  Simon Josefsson  <jas@extundo.com>
+
+       * arctwo.h, arctwo.c: New files.
+
+       * gc-gnulib.c: Support ARCTWO.
+
+2005-10-21  Simon Josefsson  <jas@extundo.com>
+
+       * gc-libgcrypt.c (gc_cipher_open): Handle ECB.
+
+2005-10-19  Simon Josefsson  <jas@extundo.com>
+
+       * gc-gnulib.c: Support ARCFOUR.
+
+2005-10-19  Simon Josefsson  <jas@extundo.com>
+
+       * gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
+       support.
+
+       * gc.h: Add ECB enum type.
+
+       * hmac-md5.c, hmac-sha1.c: Include memxor.h.
+
+2005-10-19  Simon Josefsson  <jas@extundo.com>
+
+       * gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
+
+2005-10-18  Simon Josefsson  <jas@extundo.com>
+
+       * md4.h, md4.c: New files, based on md5.?.
+
+2005-10-17  Simon Josefsson  <jas@extundo.com>
+
+       * gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
+
+       * gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
+
+2005-10-17  Simon Josefsson  <jas@extundo.com>
+
+       * gc.h, gc-libgcrypt.c: Add more hash types/functions.
+
+2005-10-17  Simon Josefsson  <jas@extundo.com>
+
+       * gc.h, gc-libgcrypt.c: Add ciphers.
+
+2005-10-17  Simon Josefsson  <jas@extundo.com>
+
+       * sha1.c: Use uint32_t instead of md5_uint32.t
+
+       * sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
+       md5.h.
+
+       * md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
+
+       * md5.h: Use stdint.h and uint32_t.  Doc fix.
+
+2005-10-15  Simon Josefsson  <jas@extundo.com>
+
+       * rijndael-api-fst.h, rijndael-api-fst.c: New files.
+
+       * rijndael-alg-fst.h, rijndael-alg-fst.c: New files.
+
+2005-10-14  Simon Josefsson  <jas@extundo.com>
+
+       * arcfour.h, arcfour.c: New files.
+
+2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
+       include <wchar.h>; no longer needed.
+
+2005-10-14  Jakub Jelinek  <jakub@redhat.com>
+       and  Ulrich Drepper  <drepper@redhat.com>
+
+       Import from libc.
+       * obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
+       instead of inline stream orientation test and two separate
+       function calls.  Pay no attention to USE_IN_LIBIO.
+
+2005-10-14  Roland McGrath  <roland@redhat.com>
+
+       Import from libc.  [BZ #1331]
+       * obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
+       macro argument.
+       Reported by Matej Vela <vela@debian.org>.
+
+2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * mkdir-p.c (make_dir_parents): Don't report an error if an
+       intermediate directory is in a read-only file system.  Problem
+       reported by Eric Blake.
+
+2005-10-13  Simon Josefsson  <jas@extundo.com>
+
+       * gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
+       Move memory allocation outside of loop.
+
+2005-10-12  Simon Josefsson  <jas@extundo.com>
+
+       * gc-pbkdf2-sha1.c: New file.
+
+       * gc.h: Add gc_pbkdf2_sha1 prototype.
+
+2005-10-12  Simon Josefsson  <jas@extundo.com>
+
+       * gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
+       suggested by Bruno Haible <bruno@clisp.org>.
+
+2005-10-12  Simon Josefsson  <jas@extundo.com>
+
+       * gc-libgcrypt.c (gc_hmac_sha1): New function.
+
+       * gc-gnulib.c (gc_hmac_sha1): New function.
+
+2005-10-12  Simon Josefsson  <jas@extundo.com>
+
+       * gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
+
+2005-10-12  Simon Josefsson  <jas@extundo.com>
+
+       * gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
+       GC_USE_HMAC_MD5, respectively.
+
+       * gc-libgcrypt.c (gc_md5): Fix assert call.
+       (gc_md5): Fix typo.
+
+       * gc.h (gc_hash_buffer): Use gc_hash in prototype.
+
+       * gc-libgcrypt.c (gc_hash_buffer): Ditto.
+
+       * gc-gnulib.c (gc_hash_buffer): Ditto.
+
+2005-10-11  Bruno Haible  <bruno@clisp.org>
+
+       * c-strcasestr.h: New file, from GNU gettext.
+       * c-strcasestr.c: New file, from GNU gettext.
+
+2005-10-11  Bruno Haible  <bruno@clisp.org>
+
+       * c-strcase.h: New file, from GNU gettext.
+       * c-strcasecmp.c: New file, from GNU gettext.
+       * c-strncasecmp.c: New file, from GNU gettext.
+
+2005-10-11  Simon Josefsson  <jas@extundo.com>
+
+       * crc.h, crc.c: New files.
+
+       * gc.h (gc_hash_buffer): Add doc.
+
+2005-10-08  Simon Josefsson  <jas@extundo.com>
+
+       * gc.h: Add gc_hash and gc_hash_buffer.
+
+       * gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
+
+       * gc-libgcrypt.c (gc_hash_buffer): Add.
+
+2005-10-11  Bruno Haible  <bruno@clisp.org>
+
+       * strcasecmp.c: Include limits.h.
+       (strcasecmp): Avoid integer overflow on exotic platforms.
+       * strncasecmp.c: Include limits.h.
+       (strncasecmp): Avoid integer overflow on exotic platforms.
+       Reported by Paul Eggert.
+
+2005-10-06  Simon Josefsson  <jas@extundo.com>
+
+       * hmac-md5.c: New file.
+
+       * hmac.h: New file.
+
+2005-10-06  Simon Josefsson  <jas@extundo.com>
+
+       * memxor.c (memxor): Avoid casts and warnings.
+
+2005-10-05  Derek Price  <derek@ximbiot.com>
+
+       * getdelim.c (SIZE_MAX): New macro, if not already defined.
+
+2005-10-05  Simon Josefsson  <jas@extundo.com>
+
+       * memxor.c (memxor): Fix compiler error.
+
+       * md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
+       <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
+
+       * memxor.h, memxor.c: New files.
+
+       * getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
+       we assume all systems have it, suggested by Jim Meyering
+       <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
+       any systems lack sys/socket.h; mingw32 is known to lack it, but we
+       don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
+       same reasons.
+
+2005-10-04  Bruno Haible  <bruno@clisp.org>
+
+       * verify.h (verify_true): Provide alternative definition for C++.
+
+2005-10-04  Simon Josefsson  <jas@extundo.com>
+
+       * getaddrinfo.h: Move sys/types.h include first, reported by "Mark
+       D. Baushke" <mdb@gnu.org>.
+
+2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * getdelim.c: Include getdelim.h first.  Include <limits.h>.
+       (SSIZE_MAX): New macro, if not already defined.
+       (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
+       than 2 GiB.
+
+2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * exclude.c: Include verify.h.
+       (verify): Remove.  All callers changed to use verify.h's version.
+       * strtoimax.c: Likewise.
+       * utimecmp.c: Likewis.e
+
+       Sync from coreutils.
+       * .cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h, getpass.c
+       mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
+       * .cvsignore: Add fts.h, search.h, t-fpending.
+       * settime.c (settime): Fix { typo in previous patch.  Also, don't
+       bother returning ENOSYS if settimeofday or stime fails; just let
+       them return whatever errno they want to return.
+       * utimens.c: Include unistd.h, for dup2.
+       (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
+       (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
+
+2005-10-02  Jim Meyering  <jim@meyering.net>
+
+       Sync from coreutils.
+       * fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
+       * openat-die.c: Use `#ifdef HAVE_CONFIG_H', not `#if HAVE_CONFIG_H'.
+       * openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
+       Remove AT_FDCWD test.
+       Do not consume the fd unless successful.
+       * openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
+       * settime.c (settime): Move the HAVE_STIME block `up' into an #elif
+       block, so that we don't even try to compile it if settimeofday is
+       available.  This works around a compilation failure on OSF1 V5.1,
+       due to stime requiring a `long int*' while tv_sec is `int'.
+
+2005-09-30  Eric Blake  <ebb9@byu.net>  (tiny change)
+
+       * getdelim.c (getdelim): Remove unused variables.
+
+2005-10-01  Simon Josefsson  <jas@extundo.com>
+
+       * getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
+       Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
+       AI_* and EAI_* definitions.  Protect function declarations.
+
+2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * xtime.h (XTIME_PRECISION): Now of type int, not long long int,
+       so that the code works even with ancient cpp.  Portability problem
+       with GCC 2.7.2.1 reported by Thomas M.Ott.
+
+2005-09-27  Jim Meyering  <jim@meyering.net>
+
+       * getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef HAVE_CONFIG_H.
+
+       * intprops.h (signed_type_or_expr__): Define.
+       (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
+       for unsigned types.
+
+2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * verify.h (verify_expr): Remove, replacing with:
+       (verify_true): New macro that returns true instead of void.
+       (verify_type__): Remove.
+       (verify): Use verify_true rather than verify_type__.
+
+2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * utimens.c (ENOSYS): Define if not already defined.
+       (futimens): Support having a null PATH if the file descriptor
+       is nonnegative.
+
+       * regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
+       Remove.
+       (__attribute): Define to empty unless GCC 3.1 or later.
+       This works around a core dump on OpenBSD 3.4, which has GCC
+       2.95.3, which dumps core when given __attribute__(()).  It also
+       simplifies other tests, since we really don't want to bother with
+       worrying about which ancient version of GCC supported what.
+       Original problem reported by Yoann Vandoorselaere, with part of
+       the fix suggested by Derek Price.
+
+2005-09-24  Jim Meyering  <jim@meyering.net>
+
+       * verify.h (verify_type__): Use `unsigned int' as the bitfield type
+       so we can once again use a positive bitfield width of 1 -- now we
+       don't have to explain why we were using a bitfield width of 2.
+
+2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
+       Problem reported by Eric Blake.
+       (getaddrinfo): Initialize se so that it's not garbage.
+       Redo internal storage allocation so that it doesn't make unportable
+       assumptions about alignment.
+       Fix a memory leak.
+
+       * utimens.c (futimens): Use futimesat if available.
+       Prefer it to futimes since it doesn't have the futimes bug.
+
+       * verify.h (GL_CONCAT0, GL_CONCAT): Remove.
+       (verify): Don't use the __LINE__ trick, as it doesn't work in general.
+       Instead, declare a function that returns a pointer to an array,
+       and use verify_type__ to declare the size of the array.
+       Problem and germ of a solution reported by Bruno Haible.
+       (verify_type__): Use 2, not 1, for bitfield size, to avoid
+       a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
+
+2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Sync from coreutils.
+
+       * .cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
+       stat-time.h.
+       * argmatch.h: Include verify.h
+       (ARGMATCH_VERIFY): Use verify rather than rolling our own.
+       (ARGMATCH_ASSERT): Remove; unused.
+       * canonicalize.c: Assume STDC_HEADERS.
+       * exclude.c: Include "strcase.h".
+       * regex_internal.h [!defined _LIBC]: Likewise.
+       * getusershell.c: Include stdio--.h rather than stdio.h
+       and stdio-safer.h.
+       (getusershell): Call fopen, not fopen_safer.
+       * save-cwd.c: Include fcntl--.h rather than fcntl.h.
+       Do not include unistd-safer.h.
+       (save_cwd): Don't call fd_safer; no longer needed
+       now that we include fcntl--.h.
+
+       * getdate.y (relative_time): New type.
+       (RELATIVE_TIME_0): New constant.
+       (parser_control): Use relative_time instead of doing it ourselves.
+       (%union): Add new relative_time rel member.
+       (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
+       Now typeless.
+       (relunit, relunit_snumber): Now of type rel.
+       (zone, rel, relunit, get_date): Adjust to above changes.
+
+       * getloadavg.c: Include fcntl--.h rather than fcntl.h.
+       Do not include unistd-safer.h.
+       (getloadavg): Don't call fd_safer; no longer needed
+       now that we include fcntl--.h.
+
+       * mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
+       (make_dir_parents): Treat ENOSYS like EEXIST.
+
+       Improve quality of diagnostics on restore_cwd failure.
+       * mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
+       (make_dir_parents): Last arg is now int * (for errno), not bool *.
+       * mkdir-p.c (make_dir, make_dir_parents): Likewise.
+       Rewrite "mkdir -p" algorithm to avoid the need for "stat"
+       each time through the loop.  Do not diagnose restore_cwd failure;
+       that is the caller's job (and perhaps the caller does not care).
+
+       * mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
+       (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
+       If the file already exists but is not a directory, don't bother
+       to try to make its parents.
+       Close potential file descriptor leak if we can't chdir("/") (!).
+       Don't always return true if chdir($PWD) fails; return true only
+       if the requested action was done successfully (except for the
+       chdir($PWD)).
+       Don't log final directory unless we actually made it.
+       Refactor to avoid duplicate code to fix up permissions.
+       Don't attempt to fix up parent permissions if chdir($PWD) fails.
+
+       * strftime.c (my_strftime): Rewrite the previous change slightly,
+       to make it a bit faster and (I hope) clearer.
+       * strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
+       Fix bug in formats like %2N.
+
+       * verify.h: New file.
+
+2005-09-22  Jim Meyering  <jim@meyering.net>
+
+       Sync from coreutils.
+
+       * backupfile.c: Use ARGMATCH_VERIFY, just in case.
+
+       * posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
+       the .tm_year member, since otherwise gcc-4.0 would now warn about
+       tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
+
+       * quotearg.c (quotearg_n_options): Change code to be suboptimal, in
+       order to avoid an unsuppressible warning from gcc on 64-bit systems.
+
+       * getdate.y (get_date): Undo part of the 2005-04-04 change, so that
+       the command "date -d'2005-03-27 +1 day'" succeeds once again, even
+       when run in a time zone for which daylight savings time is in effect
+       for the starting date.
+
+       * mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
+       stop us from restricting permissions of just-created absolute-named
+       directories.
+       * mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
+       to restore initial working directory.
+       * mkdir-p.c (make_dir_parents): New parameter: different_working_dir,
+       to tell caller if/when we change the working directory and are
+       unable to return to the initial one.
+       * mkdir-p.h (make_dir_parents): Update prototype.
+       * mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
+       `return false'.  This fixes a bug introduced on 2004-07-30.
+
+       * openat.c (fdopendir): Be sure to close the supplied
+       file descriptor before returning.  This makes our replacement
+       implementation a little closer to Solaris's, where fdopendir
+       ties the file descriptor to the returned DIR* pointer.
+       * openat.c (unlinkat): New function.
+       * openat.h (unlinkat): Add prototype.
+       * openat-die.c (openat_save_fail): Rename from openat_save_die.
+       (openat_restore_fail): Rename from openat_restore_die.
+       * openat.c, openat.h: Reflect s/_die/_fail/ renaming.
+
+       Provide an alternative to exiting immediately upon save_cwd or
+       restore_cwd failure.  Now, an application can arrange e.g.,
+       to perform a longjump in that case.
+       * openat.c: Include dirname.h.
+       Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
+       (rpl_openat, fdopendir, fstatat): Call openat_save_die
+       and openat_restore_die rather than calling error directly.
+       Don't include "error.h" or "exitfail.h"; they're no longer needed.
+
+       * openat-die.c (openat_save_die, openat_restore_die): New file.
+       * openat.h (openat_save_die, openat_restore_die): Declare and define.
+
+       * strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
+       size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
+                           int utc, int nanoseconds);
+       Background:
+       date should not have to allocate a megabyte of virtual memory to
+       handle a format argument like +%1048575T.  When implemented with
+       strftime, it must allocate such a buffer, use strftime to fill it
+       in, print it, then free it.
+       With fprintftime, it simply prints everything and exits.
+       With no need for memory allocation, that's one fewer way to fail.
+       * strftime.c (my_strftime): Parse the colons of %:::z *after* the
+       optional field width, not before, so we accept %9:z, not %:9z.
+       (my_strftime): Be sure to use L_('x') for literals.
+
+       * backupfile.c, canon-host.c, canonicalize.c, chown.c, cloexec.c:
+       * dup-safer.c, dup2.c, euidaccess.c, fd-safer.c, fileblocks.c:
+       * fopen-safer.c, fsusage.c, ftruncate.c, getcwd.c, getcwd.h:
+       * getloadavg.c, getopt_.h, getpagesize.h, getugroups.c, group-member.c:
+       * human.h, idcache.c, mkdir-p.c, mountlist.c, nanosleep.c, pathmax.h:
+       * physmem.c, posixver.c, putenv.c, raise.c, safe-read.c, same.c:
+       * save-cwd.c, setenv.c, settime.c, tempname.c, unlinkdir.c:
+       * unsetenv.c, userspec.c, xgethostname.c, xreadlink.c:
+       Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
+
+       * chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
+       * getloadavg.c, mountlist.c, openat.h, save-cwd.c, tempname.c:
+       Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
+       and don't include <sys/file.h>).
+
+2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
+
+       Sync from coreutils.
+
+       * getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
+       [__linux__]: Allocate a big enough buffer for /proc/loadavg.
+       [!LDAV_DONE]: Avoid unused variable warning.
+
+2005-09-21  Bruno Haible  <bruno@clisp.org>
+
+       * unicodeio.h (unicode_to_mb): New declaration.
+
+2005-09-20  Derek Price  <derek@ximbiot.com>
+
+       * getaddrinfo.c: Don't include <netdb.h> included from getaddrinfo.h.
+
+2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       Use a consistent style for including <config.h>.
+       * __fpending.c, acl.c, argmatch.c,
+       argp-help.c, argp-parse.c,
+       argp-pvh.c, backupfile.c, basename.c, c-stack.c,
+       calloc.c, check-version.c, cloexec.c, closeout.c, copy-file.c,
+       creat-safer.c, cycle-check.c, dirfd.c, dirname.c, dup-safer.c,
+       dup2.c, euidaccess.c, exclude.c, exitfail.c, fatal-signal.c,
+       fd-safer.c, file-type.c, fileblocks.c, filemode.c,
+       filenamecat.c, findprog.c, fnmatch.c, fopen-safer.c, free.c,
+       fsusage.c, ftruncate.c, full-write.c, fwriteerror.c,
+       getaddrinfo.c, getcwd.c, getdelim.c, getline.c, getlogin_r.c,
+       getndelim2.c, getnline.c, getopt1.c, getpass.c, group-member.c,
+       hard-locale.c, hash-pjw.c, hash.c, human.c, idcache.c,
+       inet_ntop.c, isdir.c, long-options.c, malloc.c, memcasecmp.c,
+       memcmp.c, memcoll.c, memcpy.c, memmove.c, mkdir-p.c,
+       modechange.c, mountlist.c, open-safer.c, physmem.c,
+       pipe-safer.c, pipe.c, poll.c, posixver.c, progname.c,
+       progreloc.c, putenv.c, quote.c, quotearg.c, readline.c,
+       readlink.c, realloc.c, regex.c, rename.c, rmdir.c, rpmatch.c,
+       safe-read.c, same.c, save-cwd.c, savedir.c, sig2str.c,
+       strcspn.c, strerror.c, stripslash.c, strncasecmp.c, strndup.c,
+       strnlen.c, strnlen1.c, strsep.c, strstr.c, strtod.c,
+       strtoimax.c, strtol.c, strverscmp.c, tempname.c, time_r.c,
+       userspec.c, utimecmp.c, version-etc-fsf.c,
+       version-etc.c, wait-process.c, xalloc-die.c, xgetcwd.c,
+       xmalloc.c, xmemcoll.c, xnanosleep.c, xreadlink.c, xsetenv.c,
+       xstrndup.c, xstrtoimax.c, xstrtol.c, xstrtoumax.c, yesno.c:
+       Standardize inclusion of config.h.
+       * __fpending.h, dirfd.h, getdate.h, human.h,
+       inttostr.h:  Removed inclusion of config.h from header files.
+       * inttostr.c:  Adjusted in-tree users.
+       * timespec.h: Remove superfluous warning to include config.h.
+       * atexit.c, chdir-long.c chown.c, fchown-stub.c, getgroups.c,
+       gettimeofday.c, lchown.c, lstat.c, mkdir.c, mkstemp.c,
+       nanosleep.c, openat.c, raise.c, readtokens0.c, readutmp.c,
+       unlinkdir.c: Guard inclusion of config.h with HAVE_CONFIG_H.
+
+2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * stat-time.h: New file.
+       * timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
+       (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
+       in a different way.
+       (timespec_cmp): New function.
+       * utimecmp.c: Include stat-time.h.
+       (SYSCALL_RESOLUTION): Depend on whether various struct stat
+       members exist, not on the obsolescent ST_MTIM_NSEC.
+       (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
+
+2005-09-15  Derek Price  <derek@ximbiot.com>
+           Paul Eggert  <eggert@cs.ucla.edu>
+
+       * regcomp.c, regexec.c, regex_internal.c: Back out previous
+       changes, consolidating in...
+       * regex_internal.h: ...this file.
+
+2005-09-15  Derek Price  <derek@ximbiot.com>
+
+       * regex_internal.h: Blank `pure' for GNUC < 3.
+       * regex_internal.c: Ditto, using this...
+       (__GNUC_PREREQ): ...new macro.
+       * regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1 using...
+       (__GNUC_PREREQ): ...this new macro.
+
+       * strstr.h: Include string.h. Define strstr as a macro here.
+
+2005-09-13  Derek Price  <derek@ximbiot.com>
+
+       * canon-host.c (canon_host_r): Set *cherror on memory allocation
+       failure.
+       Reported by Jim Meyering  <jim@meyering.net>.
+
+2005-09-13  Jim Meyering  <jim@meyering.net>
+
+       * canon-host.c: Filter through gnu indent and reword comments slightly.
+       * canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
+
+2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
+
+       * lib/base64.c: Typo.
+       (base64_encode): Put b64str in initialized data section.
+
+2005-09-12  Derek Price  <derek@ximbiot.com>
+
+       Return usable errors from canon-host.
+       * canon-host.h: New file.
+       * canon-host.c (canon_host): Wrap...
+       (canon_host_r): ...this new function, which now relies exclusively on
+       getaddrinfo.
+       (ch_strerror): New function.
+       (last_cherror): New global.
+       * getaddrinfo.c: Move include of getaddrinfo.h first to test interface.
+       (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
+       void *.
+       (freeaddrinfo): Free ai->ai_canonname when set.
+
+2005-09-12  Derek Price  <derek@ximbiot.com>
+           Paul Eggert  <eggert@cs.ucla.edu>
+
+       * glob-libc.h: Renamed from glob_.h.  The new version is
+       taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
+       protecting things that should be done only in gnulib contexts.
+       * glob_.h: New file, containing only the glob things needed for
+       gnulib.
+       (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
+       (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
+       (glob, globfree, glob_pattern_p): Now defined simply in terms of
+       rpl_glob, rpl_globfree, rpl_glob_pattern_p.
+       (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
+       and to respect the namespace rules better.
+
+2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Merge glibc and coreutils changes into gnulib, plus a few
+       extra fixes.
+       * md5.c: Use #error rather than a string.
+       (CYCLIC): New macro, from glibc source.  Use it instead of rol.
+       * md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
+       (__attribute__): Define to empty for non recent-GCC.
+       (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
+       (__md5_process_bytes, __md5_read_ctx, __md5_stream):
+       Renamed from their non-__ counterparts, with new macros replacing
+       them if not _LIBC.  Add __THROW attribute.
+       (rol): Remove.
+       (struct md5_ctx): Align buffer if using GCC.
+       * sha1.h (struct sha1_ctx): Likewise.
+       * sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
+       The old name was backwards.
+       (NOTSWAP): Remove; not used.
+       (rol): New macro, moved here from md5.h.
+       (sha1_process_block): Remove a FIXME that doesn't make sense.
+
+2005-09-12  Derek Price  <derek@ximbiot.com>
+
+       * gai_strerror.c: Include config.h when available.  Include
+       getaddrinfo.h before other headers to test interface.
+       Reported by Larry Jones <lawrence.jones@ugs.com>.
+
+2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * glob.c (glob, globfree, __glob_pattern_p): Use old-style function
+       definitions, since that's the preferred style in glibc.
+       Fix a minor spacing issue, and update copyright notice to match glibc's.
+
+2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * regex_internal.h (bitset_not): Add parens to avoid gcc -Wall warning.
+
+2005-09-06  Simon Josefsson  <jas@extundo.com>
+
+       * getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
+       TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
+
+2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Change bitset word type from unsigned int to unsigned long int,
+       as this has better performance on typical 64-bit hosts.
+       Port bitset code to hosts with unusual word sizes.
+       * regcomp.c (build_equiv_class, build_charclass, build_range_exp):
+       (build_collating_symbol):
+       Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
+       argument is a bitset.  This is merely a style issue, but it makes
+       it clearer that an entire array is expected.
+       (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
+       * regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
+       Port to the case where bitset_word is not the same as unsigned int.
+       * regex_internal.h (bitset_set, bitset_clear, bitset_contain):
+       (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
+       Likewise.
+       * regexec.c (check_dst_limits_calc_pos_1, check_subexp_matching_top):
+       (build_trtable, group_nodes_into_DFAstates):
+       Likewise.
+       * regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
+       Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
+       * regex_internal.h (bitset_set_all, bitset_not): Likewise.
+       * regexec.c (group_nodes_into_DFAstates): Likewise.
+       * regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
+       * regcomp.c (optimize_subexps, lower_subexp):
+       Work even if bitset_word has holes in its bitwise representation.
+       * regex_internal.h (BITSET_WORD_BITS): Likewise.
+       * regexec.c (check_dst_limits_calc_pos_1, check_subexp_matching_top):
+       Likewise.
+       * regex_internal.c (re_string_reconstruct):
+       Don't assume UCHAR_MAX == 255.
+       * regex_internal.h (bitset_set_all): Likewise.
+       * regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
+       All uses changed.
+       (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
+       (bitset_word): New type, replacing 'unsigned int' for bitset uses.
+       All uses changed.
+       (BITSET_WORD_MAX): New macro.
+       (bitset_set, bitset_clear, bitset_contain, bitset_empty):
+       (bitset_set_all, bitset_copy):  Now inline functions, not macros.
+       (bitset_empty, bitset_copy):
+       Prefer sizeof (bitset) to multiplying it out ourselves.
+       (bitset_not_merge): Remove; unused.
+       (bitset_contain): Return bool, not unsigned int with one bit on.
+       All callers changed.
+       * regexec.c (build_trtable): Don't assume bitset has no stricter
+       alignment than re_node_set; do this by defining a new internal
+       type struct dests_alloc and using it to allocate memory.
+
+2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Check for arithmetic overflow when calculating sizes, to prevent
+       some buffer-overflow issues.  These patches are conservative, in the
+       sense that when I couldn't determine whether an overflow was possible,
+       I inserted a run-time check.
+       * regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New macros.
+       (SIZE_MAX) [!defined SIZE_MAX]: New macro.
+       (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
+       (re_xnrealloc, re_x2nrealloc): New inline functions.
+       * lib/regcomp.c (init_dfa, analyze, build_range_exp, parse_bracket_exp):
+       (build_equiv_class, build_charclass): Check for arithmetic overflow
+       in size expression calculations.
+       * lib/regex_internal.c (re_string_realloc_buffers):
+       (build_wcs_upper_buffer, re_node_set_add_intersect):
+       (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
+       (re_dfa_add_node, register_state): Likewise.
+       * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
+       (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
+       (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
+       (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
+
+2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
+       to avoid a collision with bits/local_lim.h in glibc.
+       All uses changed.  Problem reported by Dmitry V. Levin in
+       <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
+
+       * regex_internal.c (build_wcs_upper_buffer): Fix portability
+       bugs in int versus size_t comparisons.
+       (re_string_context_at): Fix bug where the code assumed that
+       Idx is signed.
+
+       Use bool where appropriate.
+       * regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
+       All callers changed.
+       (calc_eclosure_iter): Likewise, for ROOT arg.
+       (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
+       (build_charclass_op): Likewise, for NON_MATCH arg.
+       * regex_internal.c (re_string_allocate, re_string_construct):
+       (re_string_construct_common): Likewise, for ICASE arg.
+       * regexec.c (re_search_2_stub, re_search_stub):
+       Likewise, for RET_LEN arg.
+       (check_matching): Likewise, for FL_LONGEST_MATCH arg.
+       (set_regs): Likewise, for FL_BACKTRACK arg.
+       * regcomp.c (re_compile_fastmap_iter, optimize_utf8):
+       (duplicate_node_closure, calc_inveclosure, calc_eclosure):
+       (calc_eclosure_iter, parse_bracket_exp):
+       Use bool for internal variables that are booleans.
+       * regexec.c (re_search_internal, check_matching, proceed_next_node):
+       (set_regs, build_sifted_states, sift_states_bkref):
+       (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
+       (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
+       (find_collation_sequence_value):
+       Likewise.
+       * regex_internal.c (re_node_set_insert, re_node_set_insert_last):
+       (re_node_set_compare):
+       Return bool, not int. All callers changed.
+       * regexec.c (check_halt_node_context, check_dst_limits):
+       (build_trtable, check_node_accept): Likewise.
+       * regex_internal.h: Include stdbool.h.
+
+       Fix bugs uncovered when converting to bool.
+       * regcomp.c (calc_eclosure_iter): Check for storage allocation
+       failure instead of charging ahead blindly.
+       * regex_internal.c (register_state): Likewise.
+       * regexec.c (re_search_2_stub): Use simpler method than boolean
+       for freeing internal storage.
+       (group_nodes_into_DFA_states): Use unsigned int, not int, for
+       bitset pieces used as boolean, to avoid undefined behavior
+       on hosts that do int overflow checking.
+
+2005-08-31  Derek Price  <derek@ximbiot.com>
+
+       * getdelim.c (getdelim): Return EOF on EOF.
+       Reported by Larry Jones <lawrence.jones@ugs.com>.
+
+2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * regex_internal.c (re_string_reconstruct): Don't assume buffer
+       lengths fit in regoff_t; this isn't true if regoff_t is the same
+       width as size_t.
+       * regex.c (re_search_internal): 5th arg is LAST_START
+       (= START + RANGE) instead of RANGE.  This avoids overflow
+       problems when regoff_t is the same width as size_t.
+       All callers changed.
+       (re_search_2_stub): Check for overflow when adding the
+       sizes of the two strings.
+       (re_search_stub): Check for overflow when adding START
+       to RANGE; if it occurs, substitute the extreme value.
+
+2005-08-31  Jim Meyering  <jim@meyering.net>
+
+       * regcomp.c (search_duplicated_node): Make first pointer arg
+       a pointer-to-const.
+       * regex_internal.c (create_ci_newstate, create_cd_newstate):
+       (register_state): Likewise.
+       * regexec.c (search_cur_bkref_entry, check_dst_limits):
+       (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
+       (group_nodes_into_DFAstates): Likewise.
+
+2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
+
+       On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
+       old glibc regex code mishandles strings longer than 2**31 bytes.
+       This patch fixes this when the regex code is used in gnulib
+       (i.e., outside glibc).
+
+       This patch should not affect the use of the regex code inside
+       glibc.  No doubt this problem also needs to be handled for glibc
+       as well, but the result will be an incompatible change to the
+       glibc ABI, and the old ABI will have to be supported too.  That
+       can be the the subject for another patch.
+
+       * regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
+       governing whether the rest of this patch is active.  By default,
+       the macro is disabled and the patch has no effect.
+       (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
+       (__re_idx_t, __re_size_t, __re_long_size_t): New types.
+       (struct re_pattern_buffer, re_search, re_search_2, re_match):
+       (re_match_2, re_set_registers): Use the new types.
+       * regex_internal.h (Idx, re_hashval_t): New types.
+       (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
+       New macros.
+       (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
+       (re_string_context_at, bin_tree_t, re_dfastate_t):
+       (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
+       (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
+       (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
+       (re_string_char_size_at, re_string_wchar_at):
+       (re_string_elem_size_at):
+       Use the new types and macros to port to 64-bit hosts.
+       Use unsigned types for internal values, so that the code
+       mostly works even for arrays larger than SSIZE_MAX.
+       * regcomp.c (re_compile_internal, init_dfa, duplicate_node):
+       (search_duplicated_node, calc_eclosure_iter, fetch_number):
+       (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
+       (build_equiv_class, build_charclass, re_compile_fastmap_iter):
+       (free_dfa_content, create_initial_state, optimize_utf8, analyze):
+       (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
+       (calc_inveclosure, parse_dup_op, build_range_exp):
+       (build_collating_symbol, parse_bracket_exp, build_charclass_op):
+       (fetch_number, create_token_tree, mark_opt_subexp):
+       Likewise.
+       * regex_internal.c (re_string_construct_common, create_ci_newstate):
+       (create_cd_newstate, re_string_allocate, re_string_construct):
+       (re_string_realloc_buffers, build_wcs_upper_buffer):
+       (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
+       (re_string_reconstruct, re_string_peek_byte_case):
+       (re_string_fetch_byte_case, re_string_context_at):
+       (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
+       (re_node_set_init_copy, re_node_set_add_intersect):
+       (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
+       (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
+       (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
+       (re_acquire_state, re_acquire_state_context, register_state):
+       Likewise.
+       * regex.c (match_ctx_init, match_ctx_add_entry, search_cur_bkref_entry):
+       (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
+       (re_search_internal, re_search_2_stub, re_search_stub)
+       (re_copy_regs, check_matching, check_halt_state_context, update_regs):
+       (push_fail_stack, sift_states_iter_mb, build_sifted_states):
+       (update_cur_sifted_state, check_dst_limits):
+       (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
+       (check_subexp_limits, sift_states_bkref, merge_state_array):
+       (check_subexp_matching_top, get_subexp, get_subexp_sub):
+       (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
+       (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
+       (expand_bkref_cache, check_node_accept_bytes):
+       (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
+       (re_search, re_match_2, re_search_2, prune_impossible_nodes):
+       (acquire_init_state_context, check_halt_node_context):
+       (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
+       (sift_states_backward, clean_state_log_if_needed):
+       (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
+       (find_recover_state, transit_state_sb, transit_state_mb):
+       (transit_state_bkref, build_trtable, match_ctx_clean):
+       Likewise.
+       * regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
+       to work around an assumption that REG_MISSING is negative.
+
+       * regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
+       (seek_collating_symbol_entry) [defined _LIBC]:
+       (lookup_collation_sequence_value) [defined _LIBC]:
+       (build_range_exp, build_collating_symbol) [defined _LIBC]:
+       Use prototypes rather than old-style function definitions.
+       * regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
+       (transit_state_sb) [0]:
+       (find_collation_sequence_value) [defined _LIBC]: Likewise.
+
+       * regexec.c (re_search_internal): Simplify update of rm_so and
+       rm_eo.
+
+       * regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
+       (optimize_subexps, lower_subexp):
+       Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
+       since the signed shift might overflow.  Use 1u<<31 instead.
+       * regex_internal.h (bitset_set, bitset_clear, bitset_contain): Likewise.
+       * regexec.c (check_dst_limits_calc_pos_1, check_subexp_matching_top):
+       Likewise.
+
+       * regcomp.c (optimize_subexps, lower_subexp):
+       Use CHAR_BIT rather than 8, for clarity.
+       * regexec.c (check_dst_limits_calc_pos_1):
+       (check_subexp_matching_top): Likewise.
+       * regcomp.c (init_dfa): Make table_size unsigned, so that we don't
+       have to worry about portability issues when shifting it left.
+       Remove no-longer-needed test for table_size > 0.
+       * regcomp.c (parse_sub_exp): Do not shift more bits than there are
+       in a word, as the resulting behavior is undefined.
+       * regexec.c (check_dst_limits_calc_pos_1): Likewise;
+       in one case, a <= should have been an <, and in another case the
+       whole test was missing.
+       * regex_internal.h (BYTE_BITS): Remove.  All uses changed to
+       the standard name CHAR_BIT.
+       * regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
+       this is not true on one's complement and signed-magnitude hosts.
+
+       * regex_internal.h (re_sub_match_top_t): Remove unused member
+       next_last_offset.
+       (struct re_dfa_t): Remove unused member states_alloc.
+       * regcomp.c (init_dfa): Don't initialize unused members.
+
+2005-08-31  Bruno Haible  <bruno@clisp.org>
+
+       * strstr.c: Include <stddef.h>, for NULL.
+       * strcasestr.c: Likewise.
+       Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
+
+2005-08-30  "Oskar Liljeblad" <oskar@osk.mine.nu>
+
+       * iconvme.h: Add prototype for iconv_alloc.
+
+2005-08-29  Simon Josefsson  <jas@extundo.com>
+
+       * iconvme.c: Fix errno.
+
+2005-08-29  "Oskar Liljeblad" <oskar@osk.mine.nu>
+
+       * iconvme.c: Split iconv_string into iconv_alloc.
+
+2005-08-27  Jim Meyering  <jim@meyering.net>
+
+       * fopen-safer.c: Merge minor changes from coreutils.
+       * dup-safer.c: Likewise.
+       * fd-safer.c: Likewise.
+
+       Merge from coreutils.
+       * stdio--.h: New file.
+       * stdlib--.h: New file.
+       * mkstemp-safer.c: New file.
+
+       GNU tar needs these.
+       * pipe-safer.c: New file.
+       * creat-safer.c: New file.
+       * fcntl--.h (creat): Define to creat_safer.
+       * fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
+       * unistd--.h (pipe): Define to pipe_safer.
+       * unistd-safer.h: Declare pipe_safer.
+
+2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * regex_internal.h: Remove all references to
+       RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
+       or better.
+       (bitset_not, bitset_merge, bitset_not_merge):
+       (bitset_mask, re_string_allocate, re_string_construct):
+       (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
+       (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
+       (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
+       (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
+       (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
+       (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
+       (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
+       (re_acquire_state_context):
+       Remove unnecessary forward decls.
+       (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
+       Put __attribute at function definition,
+       now that the function decl has been removed.
+       * lib/regex_internal.c (re_string_peek_byte_case):
+       (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
+       Likewise.
+
+2005-08-26  Simon Josefsson  <jas@extundo.com>
+
+       * getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
+       Haible <bruno@clisp.org>.
+
+2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * regexec.c (set_regs): Don't alloca with an unbounded size.
+
+       alloca modernization/simplification for regex.
+       * regex.c: Remove portability cruft for alloca.  This no longer
+       needs to be at the start of the file, and can be moved into
+       regex_internal.h and simplified.
+       * regex_internal.h: Include <alloca.h>.
+       (__libc_use_alloca) [!defined _LIBC]: New macro.
+       * regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
+       now works outside glibc.
+
+2005-08-24  Simon Josefsson  <jas@extundo.com>
+
+       * getpass.c: Add WIN32 implementation.  Conditionalize use of
+       termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
+       GLIBC specific code.
+
+2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Make regex safe for g++.  This fixes one real bug (an "err"
+       that should have been "*err").  g++ problem reported by
+       Sam Steingold.
+       * regex_internal.h (re_calloc): New macro, consistent with
+       re_malloc etc.  All callers of calloc changed to use re_calloc.
+       * regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
+       not int.  All callers changed.
+       * regcomp.c (re_compile_fastmap_iter): Don't use alloca (mb_cur_max);
+       just use an array of size MB_LEN_MAX.
+       * regexec.c (push_fail_stack): Use re_realloc, not realloc.
+       (find_recover_state): Change "err" to "*err"; this fixes what
+       appears to be a real bug.
+       (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
+       versus int.
+
+2005-08-25  Jim Meyering  <jim@meyering.net>
+
+       * open-safer.c: Include <config.h>.
+       Otherwise, we'd lose LARGEFILE support in any file using
+       e.g. "fcntl--.h"
+
+2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
+       * regex.h (regerror): Likewise.
+
+       * regex.c: Do not include <sys/types.h>, as POSIX no longer
+       requires this.  (The code never needed it.)
+
+       * regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
+       All uses of recently-renamed identifiers changed to use the new,
+       POSIX-compliant names.  The code will build and run just fine
+       without these changes, but it's better to eat our own dog food
+       and use the standard-conforming names.
+
+       * regex.h: Fix a multitude of POSIX name space violations.
+       These changes have an effect only for programs that define
+       _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
+       do not change anything for programs compiled in the normal way.
+       Also, there is no effect on the ABI.
+
+       (_REGEX_SOURCE): New macro.
+       Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
+       defined and _GNU_SOURCE is not; this fixes a name space violation.
+
+       Rename the following macros to obey POSIX requirements.
+       The old names are still visible as macros if _REGEX_SOURCE is defined.
+       (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
+       RE_BACKSLASH_ESCAPE_IN_LISTS.
+       (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
+       (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
+       (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
+       (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
+       (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
+       (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
+       (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
+       (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
+       (REG_INTERVALS): renamed from RE_INTERVALS.
+       (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
+       (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
+       (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
+       (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
+       (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
+       (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
+       (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
+       (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
+       RE_UNMATCHED_RIGHT_PAREN_ORD.
+       (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
+       (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
+       (REG_DEBUG): renamed from RE_DEBUG.
+       (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
+       (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
+       unusual, since we can't clash with the POSIX REG_ICASE.
+       (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
+       (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
+       (REG_NO_SUB): renamed from RE_NO_SUB.
+       (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
+       (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
+       (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
+       (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
+       (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
+       (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
+       (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
+       (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
+       (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
+       (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
+       (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
+       (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
+       RE_SYNTAX_POSIX_MINIMAL_BASIC.
+       (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
+       (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
+       RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
+       (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
+       (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
+       (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
+       (REG_FIXED): Renamed from REGS_FIXED.
+       (REG_NREGS): Renamed from RE_NREGS.
+
+       (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
+       of other REG_* macros, since POSIX says the user is allowed to
+       #undef these macros selectively.
+
+       (reg_errcode_t): Update comment stating what other tables need
+       to be consistent.
+
+       Rename the following enum values to obey POSIX requirements.
+       The old names are still visible as macros.
+       (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
+       is not defined, since GNU is supposed to be a superset of POSIX as
+       much as possible, and since we want reg_errcode_t to be a signed
+       type for implementation consistency.
+       (_REG_NOERROR): Renamed from REG_NOERROR.
+       (_REG_NOMATCH): Renamed from REG_NOMATCH.
+       (_REG_BADPAT): Renamed from REG_BADPAT.
+       (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
+       (_REG_ECTYPE): Renamed from REG_ECTYPE.
+       (_REG_EESCAPE): Renamed from REG_EESCAPE.
+       (_REG_ESUBREG): Renamed from REG_ESUBREG.
+       (_REG_EBRACK): Renamed from REG_EBRACK.
+       (_REG_EPAREN): Renamed from REG_EPAREN.
+       (_REG_EBRACE): Renamed from REG_EBRACE.
+       (_REG_BADBR): Renamed from REG_BADBR.
+       (_REG_ERANGE): Renamed from REG_ERANGE.
+       (_REG_ESPACE): Renamed from REG_ESPACE.
+       (_REG_BADRPT): Renamed from REG_BADRPT.
+       (_REG_EEND): Renamed from REG_EEND.
+       (_REG_ESIZE): Renamed from REG_ESIZE.
+       (_REG_ERPAREN): Renamed from REG_ERPAREN.
+       (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
+       (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
+       (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
+       (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
+
+       (_REG_RE_NAME, _REG_RM_NAME): New macros.
+       (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
+       changed.  But support the old name if the new one is not defined
+       and if _REGEX_SOURCE.
+
+       Change the following member names in struct re_pattern_buffer.
+       The old names are still supported if !_REGEX_SOURCE.
+       The new names are always supported, regardless of _REGEX_SOURCE.
+       (re_buffer): Renamed from buffer.
+       (re_allocated): Renamed from allocated.
+       (re_used): Renamed from used.
+       (re_syntax): Renamed from syntax.
+       (re_fastmap): Renamed from fastmap.
+       (re_translate): Renamed from translate.
+       (re_can_be_null): Renamed from can_be_null.
+       (re_regs_allocated): Renamed from regs_allocated.
+       (re_fastmap_accurate): Renamed from fastmap_accurate.
+       (re_no_sub): Renamed from no_sub.
+       (re_not_bol): Renamed from not_bol.
+       (re_not_eol): Renamed from not_eol.
+       (re_newline_anchor): Renamed from newline_anchor.
+
+       Change the following member names in struct re_registers.
+       The old names are still supported if !_REGEX_SOURCE.
+       The new names are always supported, regardless of _REGEX_SOURCE.
+       (rm_num_regs): Renamed from num_regs.
+       (rm_start): Renamed from start.
+       (rm_end): Renamed from end.
+
+       (re_set_syntax, re_compile_pattern, re_compile_fastmap):
+       (re_search, re_search_2, re_match, re_match_2, re_set_registers):
+       Prepend __ to parameter names.
+
+       Undo yesterday's changes.
+
+2005-08-24  Jim Meyering  <jim@meyering.net>
+
+       Sync from coreutils.
+       * fcntl--.h, fcntl-safer.h, open-safer.c: New files.
+
+2005-08-21  Bruno Haible  <bruno@clisp.org>
+
+       * lock.h: Add multiple inclusion guard.
+       * tls.h: Add multiple inclusion guard.
+
+2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * regex.h (REG_NOSYS)
+       [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
+       Define, since POSIX requires it as of 2001.
+       (_REG_ENOSYS) [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
+       New private symbol, used to keep the enum signed in all cases.
+       * regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James Youngman
+       in <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
+
+       * regex_internal.c (re_string_skip_chars, register_state):
+       (calc_state_hash):
+       Remove forward decls; no longer needed now that we use prototypes.
+       * regexec.c (acquire_init_state_context, check_halt_node_context):
+       (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
+       (clean_state_log_if_needed): Likewise.
+
+2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix problems reported by Sam Steingold in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
+       * regexec.c (sift_states_bkref): Fix portability bug: the code
+       assumed that reg_errcode_t is a signed type, which is not
+       necessarily true if _XOPEN_SOURCE is not defined.
+       * regex_internal.c (calc_state_hash): Put 'inline' before type, since
+       some compilers warn about it otherwise.
+
 2005-08-20  Jim Meyering  <jim@meyering.net>
 
        * regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
 
 2004-09-08  Bruno Haible  <bruno@clisp.org>
 
-       * stdint_.h.in: New file, taken from GNU clisp.
+       * stdint_.h: New file, taken from GNU clisp.
 
 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
 
        * exclude.c (bool): Declare, perhaps by including stdbool.h.
        (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
        (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
-       Include if available.
+       Include if available.
        (<xalloc.h>): Include
        (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
        (verify): New macro.  Use it to verify that EXCLUDE macros do not
        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.