*** empty log message ***
[gnulib.git] / lib / ChangeLog
index 5585ff2..c7d8054 100644 (file)
-2000-11-03  Bruno Haible  <haible@clisp.cons.org>
+2001-12-18  Paul Eggert  <eggert@twinsun.com>
 
 
-       * unicodeio.c: Include wchar.h.
-       (wcrtomb): Provide fallback definition for broken platforms.
-       (print_unicode_char): New alternative definition for platforms where
-       wchar_t is Unicode.
+       See the big note in ../ChangeLog.
+       * human.c (suffixes): Prefer K to k for 1024.
+       (generate_suffix_backwards): New function.
+       (human_readable_inexact): Use it.
+
+2001-12-15  Jim Meyering  <meyering@lucent.com>
+
+       * regex.h (__restrict_arr): Update from libc.
+
+       * mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
+       as `remote' if the name starts with `//'.  Suggested by Michael Stone.
+       (STREQ): Define.
+
+2001-12-10  Jim Meyering  <meyering@lucent.com>
+
+       * linebuffer.c: Remove explicit declarations of xmalloc and xrealloc,
+       Instead, include "xalloc.h".
+       (initbuffer): Don't cast xmalloc return value to char*.
+       (readline): Reword comment.
+       Don't cast xrealloc return value to char*
+       Return NULL, not 0.
+
+2001-12-09  Jim Meyering  <meyering@lucent.com>
+
+       * modechange.c (mode_compile): Add cast to avoid pedantic warning about
+       `signed and unsigned type in conditional expression'.
+       * posixtm.c (posix_time_parse): Likewise.
+
+       * xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
+
+       * readtokens.c (readtoken): Declare an index to be of type unsigned
+       to avoid a pedantic warning.
+
+       * getstr.c: Don't include assert.h.
+       (getstr): Remove warning-evoking assertions.
+       Return -1 if offset parameter is out of bounds.
+       Change the type of a local from int to size_t.
+
+       * strftime.c (my_strftime_localtime_r): Include this function
+       definition in the `#if ! HAVE_TM_GMTOFF' block.
+
+       * xgethostname.c: Remove declarations of xmalloc and xrealloc.
+       Include xalloc.h instead.
+
+2001-12-02  Jim Meyering  <meyering@lucent.com>
+
+       * tempname.c: Don't declare getenv, thus reverting the change of
+       2001-11-18.  It's no longer necessary, now that stdlib.h is always
+       included.
+
+       * regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
+        __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
+
+2001-11-30  Akim Demaille  <akim@epita.fr>
+
+       * xstrdup.c: Include xalloc.h, so that xstrdup is declared
+       before being defined.
+
+2001-11-27  Paul Eggert  <eggert@twinsun.com>
+
+       * quotearg.h (quotearg_n, quotearg_n_style):
+       First arg is int, not unsigned.
+       * quotearg.c (quotearg_n, quotearg_n_style): Likewise.
+       (SIZE_MAX, UINT_MAX): New macros.
+       (quotearg_n_options): Abort if N is negative.
+       Avoid overflow check on hosts where size_t is 64 bits and int
+       is 32 bits, as overflow is impossible there.
+       Fix off-by-one typo that caused unnecessary reallocation.
+
+2001-11-27  Jim Meyering  <meyering@lucent.com>
+
+       * tempname.c: Merge with version from libc.
+       * regex.c: Likewise.
+
+       * tempname.c: Include stdlib.h unconditionally.  On some old systems
+       for which STDC_HEADERS is 0, it was not included, resulting in a
+       warning about an integer-to-pointer conversion problem with getenv.
+       Reported by Volker Borchert.
+
+2001-11-26  Jim Meyering  <meyering@lucent.com>
+
+       * gtod.h: Remove file.
+       * Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
+       * gettimeofday.c: Don't include gtod.h.
+       (GTOD_init): Remove function.
+       (rpl_gettimeofday): Do its job here instead, rather than aborting.
+       Suggestion from Volker Borchert.
+
+2001-11-23  Jim Meyering  <meyering@lucent.com>
+
+       * hash.h (struct hash_table): Don't define here.  Merely declare it.
+       * hash.c (struct hash_table): Define it here instead.
+
+2001-11-22  Jim Meyering  <meyering@lucent.com>
+
+       * hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
+
+2001-11-18  Paul Eggert  <eggert@twinsun.com>
+
+       * tempname.c (TMP_MAX): Remove; no longer needed.
+       (TEMPORARIES): New macro.
+       (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
+       removes an artificial limitation (e.g. HP-UX 10.20, where
+       TMP_MAX is 17576).
+
+2001-11-18  Jim Meyering  <meyering@lucent.com>
+
+       * tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
+       on SunOS4.
+
+       * Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
+       files will be created before anything else.
+
+2001-11-17  Jim Meyering  <meyering@lucent.com>
+
+       * modechange.c (mode_adjust): Fix error introduced on 1999-04-26
+       that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
+       rather than group writable.  Patch by Juan F. Codagnone.
+
+       * readtokens.c: Remove explicit declarations of xmalloc and xrealloc,
+       Instead, include "xalloc.h".
+
+       * mountlist.c: Include unlocked-io.h after all system headers.
+       Remove explicit declarations of xmalloc, xrealloc,
+       and xstrdup.  Instead, include "xalloc.h".
+
+       * argmatch.c, closeout.c, error.c, exclude.c: Include unlocked-io.h.
+       * fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c: Likewise.
+       * mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
+
+       * regex.c, sha.c, version-etc.c, yesno.c: Likewise.
+       Reported by Padraig Brady.
+
+       * mkstemp.c: #undef mkstemp.
+       Include config.h.
+       (rpl_mkstemp): Rename from mkstemp.
+       Protoize.
+
+2001-11-16  Jim Meyering  <meyering@lucent.com>
+
+       * physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
+       (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
+       determine the amount of total physical memory, use pstat_getstatic.
+       HPUX-11 doesn't define _SC_PHYS_PAGES.
+       (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
+       If sysconf couldn't be used to determine the amount of available
+       physical memory, use both pstat_getstatic and pstat_getdynamic.
+       Based on a patch from Bob Proulx.
+
+2001-11-05  Jim Meyering  <meyering@lucent.com>
+
+       * xstat.in (slash_aware_lstat): Correct a misleading comment.
+
+2001-11-03  Jim Meyering  <meyering@lucent.com>
+
+       * argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
+       in argmatch_to_argument call.
+
+       * dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
+       argument.
+
+       * hash.c (hash_clear): Fix a bug that could lead to an infloop or
+       e.g., a fault due to an attempt to free a NULL pointer.
+
+2001-11-01  Jim Meyering  <meyering@lucent.com>
+
+       * dirfd.c, dirfd.h: New files.
+       * Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
+
+       * hash.c (hash_print) [TESTING]: Clean up.
+
+2001-10-22  Paul Eggert  <eggert@twinsun.com>
+
+       * hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
+       to avoid a warning if -Wall.
+
+2001-10-21  Paul Eggert  <eggert@twinsun.com>
+
+       * regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
+
+2001-10-21  Jim Meyering  <meyering@lucent.com>
+
+       * obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
+       this code would end up calling gettext even in packages built
+       with --disable-nls.
+       * getopt.c (_): Likewise.
+       * regex.c (_): Likewise.
+
+2001-10-20  Paul Eggert  <eggert@twinsun.com>
+
+       * error.c (strerror_r): Do not declare unless !_LIBC.
+       Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
+       Use strerror_r that is only a macro, even if it is not a function.
+       (strerror): Check for HAVE_DECL_STRERROR before declaring.
+       (private_strerror): Use prototypes, not old-style function definition.
+       (print_errno_message): New function.
+       Support the POSIX 'int'-flavored strerror_r, as well as the traditional
+       char*-flavored one.
+       (error_tail, error, error_at_line): Use it.
+
+2001-10-11  Jim Meyering  <meyering@lucent.com>
+
+       * argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
+       and quote_n (1, ... to avoid clobbering a buffer.
+
+2001-10-05  Jim Meyering  <meyering@lucent.com>
+
+       * Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and hash-pjw.h.
+       * hash-pjw.c: New file (factored out of fileutils' remove.c).
+       * hash-pjw.h: New file.
+
+2001-09-30  Jim Meyering  <meyering@lucent.com>
+
+       * mountlist.c [MOUNTED_GETFSSTAT]:
+       Include <sys/ucred.h>, for Apple Darwin.
+       Include sys/mount.h and sys/fs_types.h only if available.
+       (FS_TYPE): Define.
+       (read_filesystem_list): Use FS_TYPE.
+
+2001-09-29  Paul Eggert  <eggert@twinsun.com>
+
+       * exclude.c (excluded_filename): 0 -> false, since it's
+       a boolean context.
+
+2001-09-28  Paul Eggert  <eggert@twinsun.com>
+
+       Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
+       #defines strtoimax.  Also treat the other strto* functions
+       like strtoimax.
+
+       * xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
+       (strtoul): Do not declare if HAVE_DECL_STRTOUL.
+       (strtoimax, strtoumax): Do not declare if already defined as a macro.
+
+2001-09-26  Jim Meyering  <meyering@lucent.com>
+
+       Most macros in unlocked-io.h had the wrong number of arguments.
+       * gen-uio: New script.
+       (USE_UNLOCKED_IO): Define to 1 if not already defined.
+       * unlocked-io.hin: Remove file.
+       * Makefile.am (unlocked-io.h): Rewrite to use a separate script,
+       rather than trying to embed it here.
+       (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
+       Reported by Padraig Brady.
+
+2001-09-25  Volker Borchert  <bt@teknon.de>
+
+       * gettimeofday.c (rpl_gettimeofday): Declare local variable `result'.
+
+2001-09-23  Jim Meyering  <meyering@lucent.com>
+
+       * mountlist.c: Remove useless parentheses in #if directives.
+       (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
+       the deprecated MOUNTED symbol is no longer defined in mntent.h.
+
+2001-09-22  Jim Meyering  <meyering@lucent.com>
+
+       * localcharset.c: Update from latest gettext.
+       * config.charset: Likewise.
+
+2001-09-20  Jim Meyering  <meyering@lucent.com>
+
+       * xstrtol.c (strtoimax): Guard declaration with
+       `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
+       The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
+       have their own, conflicting declaration of strtoimax in sys/inttypes.h.
+       (strtoumax): Likewise, for completeness (it wasn't necessary).
+
+2001-09-06  Paul Eggert  <eggert@twinsun.com>
+
+       * strtoimax.c (HAVE_LONG_LONG):
+       Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
+       (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
+       to work around bug in IBM C compiler.
+
+2001-09-16  Jim Meyering  <meyering@lucent.com>
+
+       * mkdir.c: New file.
+
+2001-09-04  Paul Eggert  <eggert@twinsun.com>
+
+       * xgetcwd.c: Revert some of the previous change; intead,
+       fix the HAVE_GETCWD_NULL code to behave more like the
+       !HAVE_GETCWD_NULL code used to.
+
+       Include "xalloc.h".
+       (xgetcwd): Do not return NULL when memory is exhausted; instead,
+       invoke xalloc_die.
+
+2001-09-04  Paul Eggert  <eggert@twinsun.com>
+
+       * xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
+       Use ssize_t, not int, to store result of readlink.
+       Check for ssize_t overflow as well as size_t overflow,
+       as POSIX says the result of readlink is implementation-defined
+       when ssize_t overflows.
+       Remove unnecessary cast to char*.
+       Use free+malloc instead of realloc, as the storage doesn't need
+       to be preserved and it's clearer and can be more efficient that way.
+       (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
+       * xreadlink.h (xreadlink): Update prototype.
+
+2001-09-03  Paul Eggert  <eggert@twinsun.com>
+
+       * exclude.c (fnmatch_no_wildcards): Fix confusion between
+       usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
+       spotted by Jim Meyering.
+
+2001-09-03  Jim Meyering  <meyering@lucent.com>
+
+       * xreadlink.c (xreadlink): Preserve errno around `free' during failure.
+
+2001-09-03  Paul Eggert  <eggert@twinsun.com>
+
+       * xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
+       like the HAVE_GETCWD_NULL code.
+       Include pathmax.h if not HAVE_GETCWD.
+       Do not include xalloc.h.
+       (INITIAL_BUFFER_SIZE): New symbol.
+       Do not use xmalloc / xrealloc, since the caller is responsible for
+       handling errors.  Preserve errno around `free' during failure.
+       Do not overrun buffer when using getwd.
+
+2001-09-03  Paul Eggert  <eggert@twinsun.com>
+
+       * xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
+       __GLIBC__ && __GLIBC__ >= 2), to decide whether to use getcwd (NULL, 0).
+
+2001-09-02  Jim Meyering  <meyering@lucent.com>
+
+       * error.c: Update from GNU libc.
+
+2001-09-01  Jim Meyering  <meyering@lucent.com>
+
+       * xreadlink.c: New file.
+       * xreadlink.h: New file.
+       * Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and xreadlink.h.
+
+       * regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
+       doesn't conflict with sparc-sun-solaris2.7's definition in
+       /usr/include/sys/int_types.h.
+
+       * exclude.c: Use `""', not `<>' to #include non-system header files.
+       (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
+       and strncasecmp as r-values.  Unixware didn't have declarations.
+
+2001-08-31  Jim Meyering  <meyering@lucent.com>
+
+       * xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
+       Use an initial, malloc'd, buffer of length 128 rather than
+       a statically allocated one of length 1024.
+
+2001-08-30  Paul Eggert  <eggert@twinsun.com>
+
+       * xgetcwd.c: Don't include pathmax.h.
+       Include stdlib.h and unistd.h if available.
+       Include xalloc.h.
+       (xmalloc, xstrdup, free): Remove decls.
+       (xgetcwd): Don't assume sizes fit in unsigned.
+       Check for overflow when computing sizes.
+       Simplify reallocation code.
+
+2001-08-28  Paul Eggert  <eggert@twinsun.com>
+
+       * Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
+
+       * strtoimax.c: Renamed from strtoxmax.c, removing the
+       old strtoimax.c.
+
+       Also, make the following further changes to make this file's
+       configuration more similar to that of strtol.c:
+       (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
+       (strtoumax, uintmax_t, strtoull, strtol): Remove.
+       (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
+       (strtoimax): Renamed from strtoumax.  All uses of unsigned values
+       changed to signed values.
+
+       And make the following changes as well:
+       Fix copyright notice, as 1999 was missing.
+       (verify): New macro.
+       (strtoimax): Check sizes at compile-time, not run-time.
+       Prefer strtol to strtoll if both work.
+       (main): Remove; it was not that useful and was a pain to maintain.
+
+       * strtoumax.c: Include strtoimax.c, not strtouxmax.c.
+
+2001-08-30  Paul Eggert  <eggert@twinsun.com>
+
+       * savedir.c (savedir): Remove size parameter, as POSIX says that
+       a directory's st_size can have an arbitrary value, so the old
+       usage could waste an arbitrary amount of memory.  All uses
+       changed.
+       * savedir.h: Update prototype.
+
+2001-08-30  Paul Eggert  <eggert@twinsun.com>
+
+       * xstrtol.c (strtoimax): New decl.
+
+2001-08-28  Paul Eggert  <eggert@twinsun.com>
+
+       * xstrtol.h: Add copyright notice.
+       (_DECLARE_XSTRTOL): Improve quality of diagnostic for
+       LONGINT_INVALID_SUFFIX_CHAR.
+
+2001-08-30  Paul Eggert  <eggert@twinsun.com>
+
+       * quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
+       tm to be declared.
+
+2001-08-30  Paul Eggert  <eggert@twinsun.com>
+
+       * hash.c: Remove '2001' from copyright notice.
+
+2001-08-30  Paul Eggert  <eggert@twinsun.com>
+
+       * full-write.h: New file.
+       * Makefile.am (libfetish_a_SOURCES): Add full-write.h.
+       * full-write.c: Correct credits, as cccp.c no longer
+       exists and anyway it was so heavily changed from the old cccp
+       code as to be unrecognizable.  Include full-write.h.
+       (full_write) Return size_t, with short writes meaning failure.
+       All callers changed.  This fixes a bug with large buffers
+       on 64-bit hosts.
+       * utime.c: Include full-write.h.
+
+2001-08-30  Paul Eggert  <eggert@twinsun.com>
+
+       Merge 'exclude' changes from tar 1.13.22.
+       This fixes one or two unlikely storage allocation overflow bugs,
+       but doesn't change user-visible behavior otherwise.
+
+2001-08-30  Paul Eggert  <eggert@twinsun.com>
+
+       * 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.
+       (<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
+       collide with FNM macros.
+       (struct patopts): New struct.
+       (struct exclude): Use it, as exclude patterns now come with options.
+       (new_exclude): Support above changes.
+       (new_exclude, add_exclude_file):
+       Initial size must now be a power of two to simplify overflow checking.
+       (free_exclude, fnmatch_no_wildcards): New function.
+       (excluded_filename): No longer requires options arg, as the options
+       are determined by add_exclude.  Now returns bool, not int.
+       (excluded_filename, add_exclude):
+       Add support for the fancy new exclusion options.
+       (add_exclude, add_exclude_file): Now takes int options arg.
+       Check for arithmetic overflow when computing sizes.
+       (add_exclude_file): xrealloc might modify errno, so don't
+       realloc until after errno might be used.
+
+       * exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
+       New macros.
+       (free_exclude): New decl.
+       (add_exclude, add_exclude_file): Now takes int options arg.
+       (excluded_filename): No longer requires options arg, as the options
+       are determined by add_exclude.  Now returns bool, not int.
+
+2001-08-30  Paul Eggert  <eggert@twinsun.com>
+
+       * alloca.c (alloca): Arg is of type size_t, not unsigned.
+
+2001-08-27  Jim Meyering  <meyering@lucent.com>
+
+       * Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
+
+       * version-etc.c (N_): Remove definition.
+       Revert most of last change.
+       Instead, simply don't mark the `Copyright...' string for translation.
+       Based on advice from Paul Eggert.
+
+       * strtoxmax.c: Tweak comment.
+
+2001-08-26  Jim Meyering  <meyering@lucent.com>
+
+       * version-etc.c (version_etc_copyright_fmt): Replace literal year
+       of copyright with `%s' so translators don't get an untranslated
+       message in 2002.
+       (COPYRIGHT_YEAR): Define.
+       (version_etc): Use fprintf rather than fputs.
+       Suggestion from Ulrich Drepper.
+
+       * Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
+
+       * strtoll.c: New file, from GNU libc.
+       * xstrtoimax.c: New file.
+
+       * xstrtol.h: Add xstrtoimax.
+       * strtoumax.c: New file.  Simply include "strtoumax.c".
+       * strtoimax.c: New file.  Likewise, but first define STRTOUXMAX_SIGNED.
+
+       * strtoumax.c: Factor to work both for unsigned and signed types, ...
+       * strtoxmax.c: ... then renamed to this.
+
+2001-08-13  Paul Eggert  <eggert@twinsun.com>
+
+       * Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
+       Port to Solaris 8, where 'sed' requires a space after the 'r'
+       command, and where sh dislikes "$/".  Clean up the spacing a bit.
+       Redirect output to $tmp just once.
+
+2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
+
+       * addext.c (<errno.h>): Include.
+       (errno): Declare if not defined.
+       (addext): Work correctly when pathconf returns -1 and leaves
+       errno alone because there is no limit.  Also, work even if
+       pathconf returns a value greater than SIZE_MAX.
+
+2001-08-12  Jim Meyering  <meyering@lucent.com>
+
+       * xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
+       Simply `return getcwd (NULL, 0);'.
+       [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
+       Use 1300 as initial value for length, not PATH_MAX.
+
+       * pathmax.h: Clean up cpp syntax.
+
+2001-08-12  Jim Meyering  <meyering@lucent.com>
+
+       * gettimeofday.c: New file.
+       * gtod.h: New file.
+       * Makefile.am (libfetish_a_SOURCES): Add gtod.h.
+
+2001-08-04  Jim Meyering  <meyering@lucent.com>
+
+       * error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if stmt,
+       to get in sync with glibc.
+
+2001-08-03  Paul Eggert  <eggert@twinsun.com>
+
+       The following changes are from gettext 0.10.39 as maintained by
+       Bruno Haible.
+
+       * mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
+       Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
+       with inverted sense.  All uses changed.
+
+       * mbswidth.c: Don't include <limits.h>.
+       Include <stdlib.h> and <string.h> unconditionally.
+       (iswcntrl, mbsinit, ISCNTRL): New macros.
+       (mbsnwidth): Use K&R style function declarations.
+       Don't bother checking for MB_LEN_MAX == 1, since the compiler
+       can optimize it when MB_CUR_MAX == 1.
+       The width of control characters is zero, not 1.
+
+2001-07-15  Jim Meyering  <meyering@lucent.com>
+
+       * Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
+       (BUILT_SOURCES): Add unlocked-io.h.
+       (io_functions): Define.
+       (unlocked-io.h): New rule.
+       (DISTCLEANFILES): Add unlocked-io.h.
+       (all-local): Depend on unlocked-io.h, to ensure it is created.
+
+       * unlocked-io.hin: New file
+
+       * regex.c: Update from glibc.
+
+2001-07-05  Jim Meyering  <meyering@lucent.com>
+
+       * Makefile.am (noinst_HEADERS): Remove definition, per new automake
+       recommendation.
+       (libfetish_a_SOURCES): Put all .h files here instead.
+       Remove a thus-exposed (better checks in automake) duplicate and
+       two unnecessary .h files.
+
+2001-06-11  Jim Meyering  <meyering@lucent.com>
+
+       * regex.c: Update from GNU libc.
+
+2001-05-27  Jim Meyering  <meyering@lucent.com>
+
+       * readutmp.h (UT_TYPE): Define.
+
+2001-05-24  Jim Meyering  <meyering@lucent.com>
+
+       * argmatch.c: Include "quote.h".
+       (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
+       quote function.  Reported by Göran Uddeborg.
+
+2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+       * dirname.c (dir_name): Compute append_dot using path, not newpath
+       which is not yet declared.
+
+2001-05-11  Paul Eggert  <eggert@twinsun.com>
+
+       * Makefile.am (libfetish_a_SOURCES):
+       Add strftime.c, since we now compile it on all hosts.
+
+       * strftime.c (my_strftime):
+       Define to nstrftime if emacs, but only if my_strftime is not defined.
+       (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
+       ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
+       Add one more extra argument: a nanoseconds value.
+       All uses changed.
+       (ns): New macro.
+       (my_strftime function): Add %N format.
+       (emacs_strftimeu): Renamed from emacs_strftime,
+       with extra ut argument.
+
+2001-05-11  Paul Eggert  <eggert@twinsun.com>
+
+       dirname code cleanup.  base_name now behaves more compatibly
+       with POSIX basename when given file names that have trailing
+       slashes, and similarly for dir_name.  Add new primitives
+       base_len and dir_len.  Put the directory-name-related decls
+       into dirname.h.
+
+       * addext.c (ISSLASH, base_name): Remove; now in dirname.h.
+       * backupfile.c (base_name): Likewise.
+       * basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
+       * dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
+       * makepath.c (strip_trailing_slashes): Likewise.
+       * path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN, ISSLASH):
+       Likewise.
+       * rename.c (strip_trailing_slashes): Likewise.
+       * same.c (base_name): Likewise.
+       * stripslash.c (ISSLASH): Likewise.
+
+       * addext.c: Include <dirname.h> after size_t is defined.
+       * backupfile.c: Likewise.
+
+       * addext.c (addext): Use base_len to trim redundant
+       trailing slashes instead of doing it ourselves.
+       But do not trim the last slash if it is not redundant.
+
+       * backupfile.c (find_backup_file_name,
+       max_backup_version): Use base_len instead of rolling it ourselves.
+       Handle the case of "" and (on DOS) "C:" correctly.
+
+       * basename.c: Do not include <stdio.h>, <assert.h>; no longer needed.
+       Include <string.h>, <dirname.h>.
+       (base_name): Allow file names ending in slashes, other than names
+       that are all slashes.  In this case, return the basename followed
+       by the slashes.  This is more general, and can be used in places
+       where the original base_name purposely had an assertion failure.
+       (base_len): New function.
+
+       * dirname.c: Include <string.h> instead of <stdlib.h>.
+       Do not include <assert.h>; no longer needed.
+       Include xalloc.h.
+       (memrchr): Remove decl.
+       (dir_name_r): Remove.
+       (dir_len): Renamed from dirlen.  All callers changed.
+       Rewrite in terms of base_name, for simplicity and consistency.
+       (dir_name): Never return NULL.  All callers changed.
+       Do not include <stdlib.h> in test program; no longer needed.
+       return 0; is fine for test program.
+
+       * dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
+       New macros.
+       (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
+
+       * path-concat.c (path_concat): Use base_len to compute
+       base length, not strlen; this means we cannot rely on memcpy
+       to null-terminate.
+
+       * same.c (STREQ): Remove.
+       (same_name): Handle the case where the basename ends in trailing '/'.
+
+       * stripslash.c (strip_trailing_slashes): Return nonzero if
+       a slash was stripped.  Do not strip the last slash after a
+       file system prefix.
+
+2001-04-08  Jim Meyering  <meyering@lucent.com>
+
+       * getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
+       recomputed; that's necessary when the offset spans a DST transition.
+       Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
+
+2001-04-02  Jim Meyering  <meyering@lucent.com>
+
+       * regex.h, regex.c: Update from GNU libc.
+
+2001-03-19  Paul Eggert  <eggert@twinsun.com>
+
+       * version-etc.c (version_etc_copyright): Update to 2001.
+
+2001-03-16  Paul Eggert  <eggert@twinsun.com>
+
+       * tempname.c (uint64_t): Define to uintmax_t if
+       not defined, and if UINT64_MAX is not defined.
+       Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
+       Reported by John David Anglin.
+
+2001-03-10  Bruno Haible  <haible@clisp.cons.org>
+
+       * localcharset.c (locale_charset): Allow wildcard syntax. Also resolve
+       alias if codeset is empty.
+       * config.charset (BeOS): Use wildcard syntax.
+
+2001-03-13  Jim Meyering  <meyering@lucent.com>
+
+       * path-concat.c (path_concat) [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]:
+       Don't insert a backslash when concatenating e.g., `C:' and `foo'.
+       From Bruno Haible.
+
+2001-03-06  Bruno Haible  <haible@clisp.cons.org>
+
+       * localcharset.c (locale_charset): Don't use setlocale(LC_CTYPE,NULL).
+       Don't return NULL.
+       * unicodeio.c (print_unicode_char): Simplify accordingly.
+
+2001-03-06  Bruno Haible  <haible@clisp.cons.org>
+
+       * config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
+       support for DOS/DJGPP.
+
+2001-02-28  Paul Eggert  <eggert@twinsun.com>
+
+       * Makefile.am (libfetish_a_SOURCES):
+       Add dup-safer.c, fopen-safer.c.
+       (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
+
+       * dup-safer.c, fopen-safer.c, stdio-safer.h, unistd-safer.h: New files.
+
+2001-02-25  Paul Eggert  <eggert@twinsun.com>
+
+       The mkstemp replacement is taken from glibc 2.2.2, with some
+       portability fixes for use outside glibc, as follows:
+
+       * tempname.c (struct_stat64): New macro.
+       (direxists, __gen_tempname): Use it.
+       This avoids a portability problem with Solaris 8.
+
+       * tempname.c (<config.h>): Include if HAVE_CONFIG_H.
+       (<stddef.h>, <stdint.h>, <string.h>):
+       Include only if STDC_HEADERS || _LIBC.
+       (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
+       (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
+       (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
+       (__set_errno): Define this macro if <errno.h> doesn't.
+       (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
+       Define these macros if <stdio.h> doesn't.
+       (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
+       Define these macros if <sys/stat.h>
+       doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
+       (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
+       __xstat64): Define if not _LIBC.
+       (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
+       (__gen_tempname): Invoke gettimeofday only if
+       HAVE_GETTIMEOFDAY || _LIBC;
+       otherwise, fall back on plain "time".
+       Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
+
+       * mkstemp.c (__GT_FILE): Define to zero if not defined.
+
+       * mkstemp.c, tempname.c: New files, taken from glibc 2.2.2.
+
+2001-02-17  Jim Meyering  <meyering@lucent.com>
+
+       * strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
+       around included file name.
+
+       * strnlen.c (__strnlen): Merge in a change from GNU libc.
+
+       * strftime.c: Update from GNU libc (the only changes were to comments).
+
+2001-02-13  Bruno Haible  <haible@clisp.cons.org>
+
+       * mbswidth.h (mbswidth): Also define as macro, to avoid prototype clash.
+
+2001-02-17  Paul Eggert  <eggert@twinsun.com>
+
+       * mbswidth.c, quotearg.c (mbrtowc, mbsinit):
+       Remove workaround macros for hosts that have mbrtowc but not
+       mbstate_t, as we now insist on proper declarations for both
+       before using mbrtowc.
+
+2001-02-17  Jim Meyering  <meyering@lucent.com>
+
+       * regex.c: Update from libc.
+
+2001-02-16  Paul Eggert  <eggert@twinsun.com>
+
+       * alloca.c (malloc): Undef before defining, since stdlib.h
+       may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
+       Reported by Mark Hounschell via Paul Eggert.
+
+2001-01-30  Bruno Haible  <haible@clisp.cons.org>
+
+       * config.charset: Update for FreeBSD 4.2.
+
+2001-01-26  Jim Meyering  <meyering@lucent.com>
+
+       * quotearg.c: Include stddef.h.
+       * quote.c: Include stddef.h.
+       Reported by Axel Kittenberger.
+
+       * xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
+       line in double quotes so that it evokes a better diagnostic.
+       [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
+       Reported by Axel Kittenberger.
+
+2001-01-15  Bruno Haible  <haible@clisp.cons.org>
+
+       * unicodeio.c (print_unicode_char): Cast the second iconv() arg,
+       to avoid a warning.  Add back 'const' to inptr.
+
+2001-01-16  Jim Meyering  <meyering@lucent.com>
+
+       * basename.c: Include <stdio.h>, needed by assert on SunOS4.
+       From Bruno Haible.
+
+2001-01-14  Jim Meyering  <meyering@lucent.com>
+
+       * rename.c: New file.  From Volker Borchert.
+       Include stdlib.h, string.h or strings.h, and xalloc.h.
+       Use strip_trailing_slashes rather than open-coding it.
+
+2001-01-03  Paul Eggert  <eggert@twinsun.com>
+
+       * strftime.c: Sync with glibc time/strftime.c 1.81.
+
+2001-01-03  Jim Meyering  <meyering@lucent.com>
+
+       * unicodeio.c (print_unicode_char): Remove `const' from declaration of
+       local `inptr' to avoid warning with some system declarations of iconv.
+
+2000-12-29  Paul Eggert  <eggert@twinsun.com>
+
+       * modechange.c: Do not assume that mode_t uses the
+       traditional octal encoding.  E.g. "chmod 1 FOO" should set
+       the other-execute bit of FOO even if S_IXOTH != 1.
+
+       (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
+       WOTH, XOTH, ALLM): New macros.
+       (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
+        S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
+       Use them.
+       (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
+       (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
+       (mode_compile):
+       No need to use uintmax_t; unsigned long is long enough.
+       Don't bother to get suffix since we don't use it.
+
+2000-12-24  Jim Meyering  <meyering@lucent.com>
+
+       * hash.c (is_prime): Return explicit boolean values.
+       (hash_get_first): Return NULL to appease Irix5.6's 89.
+       Reported by Nelson Beebe.
+
+2000-10-31  Bruno Haible  <haible@clisp.cons.org>
+
+       * localcharset.c (locale_charset): Add support for Win32.
+
+2000-12-18  Paul Eggert  <eggert@twinsun.com>
+
+       * physmem.h, physmem.c: New files.
+
+       * Makefile.am (libfetish_a_SOURCES): Add physmem.c.
+       (noinst_HEADERS): Add physmem.h.
+
+       * xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
+       't' for compatibility with Solaris 8 sort.
+
+2000-12-18  Bruno Haible  <haible@clisp.cons.org>
+
+       * config.charset: Add support for BeOS.
+
+2000-12-16  Jim Meyering  <meyering@lucent.com>
+
+       * getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
+       SHELLS_FILE to a file name that's useful on djgpp systems.
+       Include stdlib.h.
+       (ADDITIONAL_DEFAULT_SHELLS): Define.
+       (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
+       Based mostly on a patch from Prashant TR.
+
+2000-12-16  Jim Meyering  <meyering@lucent.com>
+
+       This bug had a serious impact on chown: `chown N:M FILE' (for integer
+       N and M) would have treated it like `chown N:N FILE'.
+
+       * userspec.c (parse_user_spec): Fix typo: s/u/g/.
+
+2000-10-31  Bruno Haible  <haible@clisp.cons.org>
+
+       * config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB, VISCII,
+       CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256, CP1257
+       to the list of canonical encodings. Rename EUC-CN to GB2312.
+
+2000-12-08  Andreas Schwab  <schwab@suse.de>
+
+       * mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
+       invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
+
+2000-12-07  Jim Meyering  <meyering@lucent.com>
+
+       * stripslash.c (ISSLASH): Define.
+       (strip_trailing_slashes): Use ISSLASH rather than comparing against `/'.
+       From Prashant TR.
+
+       * dirname.c (FILESYSTEM_PREFIX_LEN): Define.
+       (dir_name_r): Declare this function as static.
+       [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
+       manifest itself on a name containing a mix of slashes and
+       backslashes.
+       Make this function work with names starting with a DOS-style
+       drive letter and colon prefix.
+       (dir_name): Append `.' if necessary.
+       Based mostly on patches from Prashant TR and Eli Zaretskii.
+
+       * dirname.h (dir_name_r): Remove prototype.
+
+2000-12-05  Jim Meyering  <meyering@lucent.com>
+
+       * dirname.c (dir_name_r): Add `const' in a few local declarations.
+
+2000-12-04  Jim Meyering  <meyering@lucent.com>
+
+       * path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
+       Also include memory.h, stdlib.h, unistd.h if appropriate.
+       Reported by Andreas Jaeger (conflicting declaration of malloc).
+
+2000-12-02  Jim Meyering  <meyering@lucent.com>
+
+       * closeout.h: Make idempotent, to avoid some obscure warnings.
+
+2000-12-01  Paul Eggert  <eggert@twinsun.com>
+
+       * memrchr.c: Include <config.h> before any system include file.
+
+2000-11-29  Paul Eggert  <eggert@twinsun.com>
+
+       * dirname.c (dir_name_r): Fix typo: int -> size_t.
+
+2000-11-26  Jim Meyering  <meyering@lucent.com>
+
+       * memcoll.c: Include sys/types.h.  From Werner Almesberger.
+
+2000-11-22  Paul Eggert  <eggert@twinsun.com>
+
+       * strftime.c (my_strftime): Do not invoke mbrlen with a
+       size of (size_t) -1; it's not portable.
+
+2000-11-17  Akim Demaille  <akim@epita.fr>
+
+       * obstack.h: Formatting changes.
+       (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
+       prevent type checking.
+       (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
+       cast the value to (void *): assigning a `foo *' to a `void *'
+       variable is valid.
+       (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
+
+2000-11-17  Jim Meyering  <meyering@lucent.com>
+
+       * strstr.c: Update from GNU libc.
+
+2000-11-16  Jim Meyering  <meyering@lucent.com>
+
+       * strverscmp.c: Incorporate weak-alias-related changes from glibc.
+
+2000-11-11  Jim Meyering  <meyering@lucent.com>
+
+       * error.c: Add a couple #includes, merging from GNU libc version.
+
+2000-11-10  Jim Meyering  <meyering@lucent.com>
+
+       * obstack.h: Update from GNU libc.
+       * obstack.c: Likewise.
 
 2000-11-06  Paul Eggert  <eggert@twinsun.com>
 
 
 2000-11-06  Paul Eggert  <eggert@twinsun.com>
 
-       * lib/getusershell.c (setusershell): Use rewind rather than
+       * getusershell.c (setusershell): Use rewind rather than
        fseek/fseeko, to avoid configuration hassles with fseeko.
        Don't bother opening SHELLS_FILE if shellstream is NULL;
        it's not necessary.
        fseek/fseeko, to avoid configuration hassles with fseeko.
        Don't bother opening SHELLS_FILE if shellstream is NULL;
        it's not necessary.
 
 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
 
 
 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
 
-       * lib/fnmatch.c: Do not comment out all the code if we are using
+       * fnmatch.c: Do not comment out all the code if we are using
        the GNU C library, because in some cases we are replacing buggy
        code in the GNU C library itself.
 
 2000-10-30  Paul Eggert  <eggert@twinsun.com>
 
        the GNU C library, because in some cases we are replacing buggy
        code in the GNU C library itself.
 
 2000-10-30  Paul Eggert  <eggert@twinsun.com>
 
-       * lib/error.h, lib/getline.h, lib/modechange.h:
+       * error.h, getline.h, modechange.h:
        Remove "2000" from Copyright line, as the file hasn't been
        changed this year other than in the copyright notice.
 
        Remove "2000" from Copyright line, as the file hasn't been
        changed this year other than in the copyright notice.
 
-       * lib/xalloc.h: Add "2000" to Copyright line, as this file
+       * xalloc.h: Add "2000" to Copyright line, as this file
        was changed this year.
 
 2000-10-30  Paul Eggert  <eggert@twinsun.com>
 
        was changed this year.
 
 2000-10-30  Paul Eggert  <eggert@twinsun.com>
 
-       * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
+       * fnmatch.c (FOLD): Do not assume that characters are unsigned.
        (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
        e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
 
        (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
        e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
 
 
        * quotearg.h (enum quoting style): New enum clocale_quoting_style.
 
 
        * quotearg.h (enum quoting style): New enum clocale_quoting_style.
 
-       * quotearg.c: (quoting_style_args, quoting_style_vals,
+       * quotearg.c (quoting_style_args, quoting_style_vals,
        quotearg_buffer_restyled): Add support for
        clocale_quoting_style.  Undo previous change to
        locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
        quotearg_buffer_restyled): Add support for
        clocale_quoting_style.  Undo previous change to
        locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"