+2006-06-27 Bruno Haible <bruno@clisp.org>
+
+ Assume ANSI C header files and <ctype.h> functions.
+ * mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
+ (mbsnwidth): Use isprint, iscntrl instead.
+
+2006-07-03 Jim Meyering <jim@meyering.net>
+
+ * cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
+ macro is used before the first cycle_check call.
+
+2006-07-03 Paul Eggert <eggert@cs.ucla.edu>
+
+ * stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
+ MacOS X 10.4.6. Don't mention <sys/int_types.h>. Problems
+ reported by Mark D. Baushke, one in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
+
+ Merge from coreutils.
+
+ * .cppi-disable: Add stdint_.h.
+ * .cvsignore: Add stdint.h.
+
+ 2006-06-30 Paul Eggert <eggert@cs.ucla.edu>
+
+ * xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
+ both double and long double versions.
+ (XSTRTOD): Renamed from xstrtod. Use DOUBLE internally.
+ * xstrtold.c: New file.
+ * xstrtod.h (xstrtold): New decl.
+
+ 2006-05-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ * filemode.c (setst): Remove.
+ (strmode): Rewrite to avoid setst. This makes the code shorter,
+ (arguably) clearer, and the generated code is a bit smaller on my
+ Debian GNU/Linux stable x86 host.
+
+ 2006-04-17 Paul Eggert <eggert@cs.ucla.edu>
+
+ * filemode.c: Include "filemode.h" first, to test the interface.
+ Assume that filemode.h includes sys/types.h and sys/stat.h.
+ (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
+ (ftypelet): Reorder to put common cases first, for efficiency.
+ Add 'P', 'w'. Remove 'M', since it's now the caller's responsibility
+ to do 'M'.
+ (strmode): Renamed from mode_string, and now stores 12 bytes instead
+ of 10, for compatibility with FreeBSD. All callers changed.
+ (filemodestring): Now stores 12 bytes instead of 10, and sets file types
+ that can't be deduced solely from st_mode. First arg is now a const
+ pointer.
+ * filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
+ (strmode): Renamed from mode_string.
+ (filemodestring): New decl.
+ * stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
+ (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never needed.
+ (S_ISPORT, S_ISWHT): New macros, if not already defined.
+
+ 2006-04-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ * fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
+ fsusage.h now does that. Include fsusage.h first, to test interface.
+ Prefer statvfs if it works, since it's blessed by POSIX. Attempt
+ at most one method (the old code could have generated decls that
+ didn't conform to C89, not that this was ever exercised).
+ * fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
+
+ 2006-03-19 Jim Meyering <jim@meyering.net>
+
+ Work even in a chroot where d_ino values for entries in "/"
+ don't match the stat.st_ino values for the same names.
+ * getcwd.c (__getcwd): When no d_ino value matches the target inode
+ number, iterate through all entries again, using lstat instead.
+ Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
+ Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
+
+ * getcwd.c (__getcwd): Clarify a comment.
+ Use memcpy in place of a call to strcpy.
+
+ 2006-03-12 Jim Meyering <jim@meyering.net>
+
+ * fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair matches
+ that of the current directory (which we're about to chdir ".." out of),
+ then save the dev-ino of the parent, instead.
+
+ * same-inode.h (SAME_INODE): New file/macro.
+ * chdir-safer.c (SAME_INODE): Remove definition.
+ Include "same-inode.h", instead.
+ * same.c: Likewise.
+ * cycle-check.h: Include "same-inode.h".
+ (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
+ * cycle-check.c (SAME_INODE): Remove definition.
+ * root-dev-ino.h: Include "same-inode.h".
+
+ 2006-03-11 Eric Blake <ebb9@byu.net>
+
+ * same.c (same_name): s/base_name/last_component/
+ * backupfile.c (check_extension, numbered_backup): Likewise.
+ * filenamecat.c (file_name_concat): Likewise.
+
+ 2006-03-11 Eric Blake <ebb9@byu.net>,
+ Paul Eggert <eggert@cs.ucla.edu>
+
+ * dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
+ [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
+ drive prefix.
+ (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
+ platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
+ (last_component): New method.
+ * dirname.c (dir_len): Determine when drive letters need a
+ subsequent slash. Preserve // when it is special.
+ (dir_name): Don't append dot when drive letter is absolute.
+ [TEST_DIRNAME]: Move into a full-blown gnulib test.
+ * basename.c (base_name): New semantics - malloc the result.
+ Preserve // when it is special. Preserve relative files that look
+ like drive letters.
+ (base_len): Preserve // when it is special.
+ (last_component): New method, similar to old base_name semantics.
+ * stripslash.c (strip_trailing_slashes): Use last_component, not
+ base_name. Strip redundant slashes from ///.
+
+2006-07-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ * stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
+ both are 64 bits, since this seems to be the tradition, and this
+ prevents gcc -Wformat from warning about usages with PRIuMAX. If
+ we ever run into a host that prefers long long to long in this
+ case, we'll need another configure-time test. Problem reported by
+ Jim Meyering.
+
+2006-07-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ * stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
+ possible collision with system files.
+ (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
+ __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
+ WCHAR_MIN and WCHAR_MAX in this case.
+ (<stddef.h>): Do not include; no longer needed.
+ (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
+ (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
+ (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
+ !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
+ && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
+ (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
+ __c99]: Define, to work around IRIX <stdint.h> incompatibility.
+ (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
+ !defined(__c99))]: Include in this case too, since it's harmless
+ now.
+ (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
+ dangerous to do so.
+ (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
+ @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
+ (_STDINT_MIN, _STDINT_MAX): New macros.
+ (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
+ (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
+ (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
+ (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
+ (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
+ (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
+ macros, not typedefs; this simplifies things quite a bit.
+ Use long int for all types narrower than int64_t.
+ (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
+ Define in terms of long long int or int64_t or long int,
+ not int64_t or int32_t. This saves some compile-time testing.
+ (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
+ (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
+ (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
+ (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
+ (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
+ (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
+ (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
+ (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
+ (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
+ (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
+ (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
+ (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
+ undef any previous version and define our own version, for
+ simplicity and consistency with the new macros for types.
+ (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
+ (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
+ Simplify definitions by using _STDINT_MIN and _STDINT_MAX
+ where appropriate. Rely on new symbols @PTRDIFF_T_SUFFIX@,
+ @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
+ @WINT_T_SUFFIX@ to keep things simple here.
+ (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
+ Simplify by assuming typical 8/16/32/64 host, since we're
+ already doing that elsewhere anyway.
+ Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
+ and assume long long int is 64 bits if available. This
+ speeds up 'configure'.
+
+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