+2002-09-25 <karl@gnu.org>
+
+ * strdup.c: copy from libc/string (via ../config/srclist*).
+ * getopt*: copy from libc/posix.
+ * gettext.h: copy from gettext.
+ * .cppi-disable: add strdup.c, gettext.h.
+
+2002-07-01 Jim Meyering <meyering@lucent.com>
+
+ * c-stack.c: Include sys/time.h.
+ From Volker Borchert.
+
+2002-06-11 Paul Eggert <eggert@twinsun.com>
+
+ * fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
+ New macro. Use it uniformly instead of
+ (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
+ It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
+ reported by Vin Shelton.
+
+2002-06-22 Jim Meyering <meyering@lucent.com>
+
+ * fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
+ redefinition due to Solaris5.6's definition in /usr/include/sys/euc.h.
+
+2002-06-22 Paul Eggert <eggert@twinsun.com>
+
+ * c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
+ Do not assume SA_SIGINFO behavior.
+ Bug reported by Jim Meyering on NetBSD 1.5.2.
+
+2002-06-22 Jim Meyering <meyering@lucent.com>
+
+ * c-stack.c, c-stack.h: New files, from diffutils-2.8.2.
+
+ * exitfail.c, exitfail.h: Likewise.
+ * Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
+
+ * Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
+ of fnmatch.h.
+ (EXTRA_DIST): Add fnmatch_loop.c.
+ (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
+
+ * fnmatch_loop.c: New file, from diffutils-2.8.2.
+ * fnmatch.c: Update from diffutils-2.8.2.
+ * fnmatch_.h: New file. From diffutils-2.8.2.
+ * fnmatch.h: Remove file.
+
+2002-06-18 Paul Eggert <eggert@twinsun.com>
+
+ * file-type.h: Report an error if neither S_ISREG nor
+ S_IFREG is defined, instead of using a test specific to glibc
+ 2.2. This should be safe, since POSIX requires S_ISREG and
+ Unix Version 7 had S_IFREG. We don't need to check for
+ <sys/types.h> since we don't use any symbols that it defines.
+
+2002-06-15 Jim Meyering <meyering@lucent.com>
+
+ * file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
+ For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
+ have been included before this file.
+
+2002-06-13 Richard Dawe <richdawe@bigfoot.com>
+
+ * Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than $@-t,
+ so that each temporary file name is unique and valid in the first
+ 8 characters, for operation under DOS.
+
+2002-06-15 Jim Meyering <meyering@lucent.com>
+
+ Work even with DJGPP 2.03, which lacks support for symlinks.
+ From Richard Dawe.
+ * xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
+ is defined.
+ * lchown.c (S_ISLNK): Likewise.
+
+2002-06-14 Jim Meyering <meyering@lucent.com>
+
+ * file-type.h: Use the version from diffutils-2.8.2.
+ * file-type.c: Likewise.
+
+2002-05-27 Jim Meyering <meyering@lucent.com>
+
+ Fix a problem seen only on nonconforming systems whereby ls.c's
+ use of localtime, and then of gettimeofday would cause trouble:
+ the localtime call used to initialize rpl_gettimeofday's save
+ mechanism would clobber ls's current local time information so
+ that in any long listing the first file would always be listed
+ with date 1970-01-01. Analysis by Volker Borchert.
+
+ * gettimeofday.c (localtime): Undefine.
+ (rpl_localtime): New function.
+
+2002-05-22 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.am (libfetish_a_SOURCES): Add file-type.c and file-type.h.
+ * file-type.h: New file.
+ * file-type.c (file_type): New file/function. Extracted from diffutils.
+
+2002-04-29 Paul Eggert <eggert@twinsun.com>
+
+ * hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
+
+2002-04-28 Paul Eggert <eggert@twinsun.com>
+
+ * sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
+ depending on <sys/wait.h> and WTERMSIG. Default to 64 instead
+ of 127, since 64 is the largest conceivable number for ancient
+ nonstandard hosts.
+ * sig2str.c: Do not include <sys/wait.h>; no longer needed.
+
+2002-04-28 Jim Meyering <meyering@lucent.com>
+
+ * sig2str.c (WTERMSIG): Remove definition (unused).
+
+2002-04-28 Paul Eggert <eggert@twinsun.com>
+
+ * sig2str.h, sig2str.c: New files.
+ * Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
+
+2002-04-24 Jim Meyering <meyering@lucent.com>
+
+ * gettext.h: New file, from Gettext.
+ * Makefile.am (INCLUDES): Remove -I../intl.
+ (libfetish_a_SOURCES): Add gettext.h.
+
+2002-04-16 Jim Meyering <meyering@lucent.com>
+
+ * readutmp.h (UT_TYPE): Remove definition (now in who.c).
+ (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
+ (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
+
+2002-04-12 Jim Meyering <meyering@lucent.com>
+
+ * dirfd.h (dirfd): Elide prototype if dirfd is a macro.
+
+2002-03-10 Jim Meyering <meyering@lucent.com>
+
+ * makepath.c (make_path): Remove a comma from a diagnostic.
+ Suggestion from Santiago Vila.
+
+2002-03-08 Jim Meyering <meyering@lucent.com>
+
+ * rename.c: Mention that this wrapper is needed also on
+ mips-dec-ultrix4.4 systems.
+
+2002-03-02 Jim Meyering <meyering@lucent.com>
+
+ * gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
+ not HAVE_CLOCK_SETTIME.
+
+2002-02-27 Paul Eggert <eggert@twinsun.com>
+
+ * nanosleep.h: Rename to....
+ * timespec.h: New name for nanosleep.h. All uses changed.
+
+ * gettime.c: New file.
+ * settime.c: New file.
+ * stime.c: Remove.
+
+ * Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
+ timespec.h. Remove nanosleep.h.
+
+2002-02-25 Paul Eggert <eggert@twinsun.com>
+
+ * acl.c, acl.h: New files.
+ * Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
+
+2002-02-24 Jim Meyering <meyering@lucent.com>
+
+ * strnlen.c (strnlen): Define-away/undef so that an inconsistent
+ prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
+ cause trouble. Reported by Nelson Beebe.
+
+2002-02-23 Paul Eggert <eggert@twinsun.com>
+
+ * path-concat.c (xpath_concat): Reorder code to pacify
+ compilers that don't know that xalloc_die never returns.
+
+2002-02-20 Jim Meyering <meyering@lucent.com>
+
+ * getdate.c: Regenerate using bison-1.33.
+
+2002-02-15 Paul Eggert <eggert@twinsun.com>
+
+ * posixver.c, posixver.h: New files.
+ * Makefile.am (libfetish_a_SOURCES): Add them.
+
+2002-02-02 Paul Eggert <eggert@twinsun.com>
+ Bruno Haible <bruno@clisp.org>
+
+ * unicodeio.h (print_unicode_char): Add exit_on_error argument.
+ (fwrite_success_callback): New declaration.
+ * unicodeio.c (unicode_to_mb): New function, extracted from
+ print_unicode_char. Call failure callback instead of error.
+ (fwrite_success_callback): New function.
+ (exit_failure_callback): New function.
+ (fallback_failure_callback): New function.
+ (print_unicode_char): Call unicode_to_mb.
+
+2002-01-26 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.am (getdate$U.o): Depend on unlocked-io.h.
+
+2002-01-22 Jim Meyering <meyering@lucent.com>
+
+ * Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
+ Otherwise, some versions of automake would omit the rule that makes
+ Makefile from Makefile.in.
+
+2001-01-21 Paul Eggert <eggert@twinsun.com>
+
+ * xmemcoll.h, xmemcoll.c: New files.
+ * Makefile.am (libfetish_a_SOURCES): Add them.
+ * memcoll.c: Include errno.h, and declare errno if not defined.
+ (memcoll): Set errno to zero if there is no error.
+
+ * quotearg.c (quotearg_buffer_restyled):
+ Fix bug with quoting buffers containing NUL when backslashing escapes.
+ This bug was exposed by the other changes in this patch.
+ (quotearg_n_options): New arg ARGSIZE.
+ All callers changed.
+ (quoting_options_from_style): New function.
+ (quotearg_n_style): Use it.
+ (quotearg_n_style_mem): New function.
+
+ * quotearg.h (quotearg_n_style_mem): New function.
+
+2002-01-16 Jim Meyering <meyering@lucent.com>
+
+ * getdate.y: Add three semicolons, each just before a closing brace.
+ Bison (as of version 1.31) no longer papers over that mistake.
+
+2002-02-14 Paul Eggert <eggert@twinsun.com>
+
+ * backupfile.c (ISDIGIT): Comment fix.
+ * getdate.y (ISDIGIT): Likewise.
+ * posixtm.c (ISDIGIT, year): Likewise.
+ * strverscmp.c (ISDIGIT): Likewise.
+ * userspec.c (ISDIGIT): Likewise.
+
+2002-01-05 Jim Meyering <meyering@lucent.com>
+
+ * version-etc.c (version_etc_copyright): Update copyright year.
+
+2001-01-19 Paul Eggert <eggert@twinsun.com>
+
+ * closeout.c (close_stdout_status): If ferror (stdout), do
+ not silently exit merely because the output buffer happens to
+ have nothing pending.
+
+2001-12-18 Paul Eggert <eggert@twinsun.com>
+
+ 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.
+ * xstrtol.c (__xstrtol): If there is no number but there
+ is a valid suffix, assume 1. "MB" now means decimal, "MiB" binary.
+ Accept 'K' as well as 'k'.
+
+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.
+