Assume ANSI C.
[gnulib.git] / lib / ChangeLog
index 030dfef..c0fdd3a 100644 (file)
@@ -1,3 +1,758 @@
+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