aboutsummaryrefslogtreecommitdiff
path: root/coreutils-5.3.0-bin/contrib/coreutils/5.3.0/coreutils-5.3.0-src/lib/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'coreutils-5.3.0-bin/contrib/coreutils/5.3.0/coreutils-5.3.0-src/lib/ChangeLog')
-rw-r--r--coreutils-5.3.0-bin/contrib/coreutils/5.3.0/coreutils-5.3.0-src/lib/ChangeLog5709
1 files changed, 5709 insertions, 0 deletions
diff --git a/coreutils-5.3.0-bin/contrib/coreutils/5.3.0/coreutils-5.3.0-src/lib/ChangeLog b/coreutils-5.3.0-bin/contrib/coreutils/5.3.0/coreutils-5.3.0-src/lib/ChangeLog
new file mode 100644
index 0000000..6a33a3f
--- /dev/null
+++ b/coreutils-5.3.0-bin/contrib/coreutils/5.3.0/coreutils-5.3.0-src/lib/ChangeLog
@@ -0,0 +1,5709 @@
+2005-01-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ * human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
+ definitions to be after all include files, to avoid collisions.
+ Problem reported by Bob Proulx.
+
+2005-01-04 Bob Proulx <bob@proulx.com>
+
+ * obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to simplify
+ offsetof() macro construct to avoid compile failure with native HP-UX
+ 11.0 ANSI C compiler.
+
+2005-01-03 Paul Eggert <eggert@cs.ucla.edu>
+
+ * utimens.c (futimens): Robustify the previous patch, by checking
+ for known valid error numbers rather than observed invalid ones.
+
+2005-01-03 Jim Meyering <jim@meyering.net>
+
+ * utimens.c (futimens): Account for the fact that futimes
+ can also fail with errno == ENOSYS in that case.
+ Patch from Dmitry V. Levin.
+
+2005-01-03 Paul Eggert <eggert@cs.ucla.edu>
+
+ * utimens.c (futimens) [HAVE_FUTIMES]: Fall back on utimes if
+ futimes fails with errno == ENOENT. Problem reported by
+ Dmitry V. Levin.
+
+2005-01-02 Jim Meyering <jim@meyering.net>
+
+ * version-etc.c (version_etc_copyright): Update copyright date.
+
+2004-12-31 Jim Meyering <jim@meyering.net>
+
+ * openat.c (rpl_openat): Correct comment.
+ Call free_cwd, to avoid leaking a file descriptor.
+
+2004-12-23 Paul Eggert <eggert@cs.ucla.edu>
+
+ * getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
+ need to extend the stack.
+ (YYINITDEPTH): New macro, so that the initial stack isn't overly
+ large.
+
+2004-12-19 Paul Eggert <eggert@cs.ucla.edu>
+
+ * c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
+ HAVE_DECL_STRTOLD.
+
+ * alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
+ Remove now-obsolete comment about AIX.
+ * getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
+ (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
+ (YYMAXDEPTH): New macro.
+
+2004-12-11 Jim Meyering <jim@meyering.net>
+
+ * chdir-long.c: Fail via #error if PATH_MAX is not defined, since
+ this file is now compiled only on systems that define PATH_MAX.
+
+2004-12-08 Paul Eggert <eggert@cs.ucla.edu>
+
+ * getdate.y (textint): New member "negative".
+ (time_zone_hhmm): New function.
+ Expect 14 shift-reduce conflicts, not 13.
+ (o_colon_minutes): New rule.
+ (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
+ (yylex): Set the "negative" member of signed numbers.
+
+2004-12-06 Jim Meyering <jim@meyering.net>
+
+ * Makefile.am (libfetish_a_SOURCES): Begin removing .c and .h file
+ names, as they are added to AC_LIBSOURCES directives in the
+ corresponding m4/*.m4 files.
+
+2004-12-05 Jim Meyering <jim@meyering.net>
+
+ Currently, fpending.m4 punts (by defining PENDING_OUTPUT_N_BYTES
+ to 1) if it doesn't find a valid expression for the replacement
+ function. Before this change, that might have gone undetected
+ for some time. Now, we'll catch it close to the source.
+
+ * t-fpending.c: New file. Test the __fpending function.
+ This ensures that if there is an error in the definition of the
+ PENDING_OUTPUT_N_BYTES expression, we'll find about it right away;
+ that value is used only in the rare event that close_stdout's
+ fclose fails with EBADF.
+ * Makefile.am (unit-test): New target.
+ (check): Depend on it.
+ (noinst_PROGRAMS): Define.
+ (LDADD): Define.
+ * Makefile.am (unit-test): Depend on t-fpending.
+ Make the target .PHONY.
+
+2004-12-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ * openat.c: Include "openat.h" before other include files.
+ Include "exitfail.h".
+ (openat): Remove #undef; no longer needed now that we include openat.h
+ first.
+ (rpl_openat): Add comment about mode_t promotion. Simplify
+ code a bit by moving initializations around. Use exit_failure
+ rather than EXIT_FAILURE.
+ * openat.h: Add copyright and authorship notice.
+ (AT_FDCWD): Use the same value Solaris 9 uses, except of type
+ 'int' not 'unsigned int'.
+
+ * save-cwd.c: Include "save-cwd.h" before other include files.
+ (O_DIRECTORY): Remove; not needed here, since "." must be
+ a directory. All uses removed.
+ (save_cwd): Use __sgi || __sun, not sun || __sun. __sun is
+ universal on Suns, and we also need to test for IRIX.
+ Revamp code to use 'if' rather than '#if'.
+ Avoid unnecessary comparison of cwd->desc to 0.
+
+2004-12-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ * hard-locale.c: Assume <locale.h> exists.
+ Include "strdup.h".
+ (GLIBC_VERSION): New macro.
+ (hard_locale): Assume setlocale exists.
+ Rewrite to avoid #ifdef.
+ Use strdup rather than malloc + strcpy.
+ * human.c: Assume <locale.h> exists.
+ (human_readable): Assume localeconv exists.
+
+2004-11-30 Paul Eggert <eggert@cs.ucla.edu>
+
+ * getcwd.c (is_ENAMETOOLONG): New macro.
+ (__getcwd.c): Don't restore errno; glibc doesn't.
+ [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
+ first, falling back to our code only if its results look suspicious.
+ Ensure that the resulting buffer is only as large as necessary.
+
+ * readutmp.c: Include readutmp.h first.
+ Include <errno.h>, since readutmp.h no longer does that.
+ * readutmp.h: Don't include <errno.h>,
+ <sys/param.h>, <time.h>; not needed to establish interface.
+ (errno): Remove decl.
+ (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
+ (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
+ UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
+
+2004-11-30 Jim Meyering <jim@meyering.net>
+
+ Change the name of the robust chdir function from chdir to chdir_long.
+ * save-cwd.c: Include chdir-long.h rather than chdir.h.
+ (restore_cwd): Use chdir_long, not chdir.
+ * chdir-long.c: Renamed from chdir.c.
+ * chdir-long.h: Renamed from chdir.h.
+ [!defined PATH_MAX]: Define chdir_long to chdir on systems like the Hurd.
+ * Makefile.am (libfetish_a_SOURCES): Reflect name changes.
+
+ * chdir.c (O_DIRECTORY): Define, if necessary.
+ (memchrcspn): Tiny wrapper around memchr.
+ (rpl_chdir): Use memchrcspn rather than strcspn.
+
+2004-11-28 Jim Meyering <jim@meyering.net>
+
+ * openat.c (rpl_openat): Also accept optional mode parameter.
+ * openat.h (rpl_openat): Adjust prototype.
+
+ * save-cwd.c: Include "chdir.h", so that if save_cwd/getcwd
+ saves a name longer than PATH_MAX, restore_cwd's chdir can use it.
+
+ * Makefile.am (libfetish_a_SOURCES): Add chdir.h and openat.h.
+
+ This is a robust version of chdir, in that it can handle directory
+ names longer than PATH_MAX.
+ * chdir.c, chdir.h: New file.
+ * openat.c, openat.h: New files.
+
+2004-11-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
+ HP's ANSI C compiler.
+ * fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
+ Declaring int functions causes warnings on some modern systems and
+ shouldn't be needed to compile on ancient ones.
+ * same.c (MIN) [defined MIN]: Don't define, since it's already
+ defined.
+
+ * mempcpy.c, mempcpy.h: New files, taken from gnulib.
+ * Makefile.am: (libfetish_a_SOURCES): Add getcwd.h, mempcpy.h.
+ * getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
+ with the following changes.
+ (__set_errno): Parenthesize properly.
+ Include <stdbool.h>.
+ (MIN, MAX, MATCHING_INO): New macros.
+ (__getcwd): Define with prototype, not K&R form.
+ Use heuristics to allocate default buffer on stack if possible.
+ If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
+ behavior, and to avoid the PATH_MAX limit when computing
+ ../../../../...
+ Use MATCHING_INO to compare inode number to file.
+ Check for arithmetic overflow in size calculations.
+ Fix bug in reallocation of dot array that caused getcwd to fail
+ on directories nested deeper than 75.
+ Be more careful about saving errno on error.
+ Do not use realloc; use only free+malloc, as this is a bit
+ more flexible and avoids a needless copy operation.
+ Do not inspect st_dev and st_ino for symbolic links; POSIX
+ doesn't specify the latter.
+ Check for closedir errors.
+ Avoid needless casts.
+ Use "#ifdef weak_alias" around weak_alias, to be like other
+ glibc code.
+ The following changes to getcwd.c have effect only when used in
+ gnulib; they have no effect inside glibc proper.
+ (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
+ as alloca isn't used.
+ (alloca, __alloca): Likewise.
+ [!_LIBC]: Include "getcwd.h", "mempcpy.h".
+ Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
+ unconditionally, as gnulib assumes C89 or better.
+ Do not include <sys/param.h>.
+ (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
+ no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
+ better.
+ (NULL) [!defined NULL]: Remove; we assume C89 or better.
+ Include <dirent.h> in a way that is compatible with modern Autoconf.
+ (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
+ New macros, if not already defined.
+ Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
+ Use "_LIBC", not "defined _LIBC", for consistency.
+ (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
+ a mempcpy module.
+ (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
+ (GETCWD_RETURN_TYPE): Remove. All uses replaced by char *.
+ * xgetcwd.c: David MacKenzie's old code was removed, so give
+ credit only to Jim Meyering and adjust the copyright dates.
+ Do not include <limits.h>, <stdio.h>, <sys/types.h>,
+ <stdlib.h>, <unistd.h>, "pathmax.h".
+ Instead, include "xgetcwd.h" (first) and "getcwd.h".
+ (INITIAL_BUFFER_SIZE): Remove.
+ (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
+
+2004-11-23 Paul Eggert <eggert@cs.ucla.edu>
+
+ * utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
+ (futimens): New function, which uses futimes if available.
+ (futimens, utimens): Support timespec==NULL, with same semantics
+ as utime and utimens.
+ * utimens.h (futimens): New decl.
+
+2004-11-23 Sergey Poznyakoff <gray@Mirddin.farlep.net>
+
+ * getopt_.h: Re-addition of __getopt_argv_const caused
+ redefinition warnings. To avoid them, include the defines
+ in `#if !defined __need_getopt ... #endif'. The only place
+ where __getopt_argv_const is used is in definitions
+ of getopt_long and getopt_long_only below, which are as well
+ protected by `#ifndef __need_getopt'.
+ [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
+ __need_getopt after including <stdio.h> and <unistd.h> These
+ headers might have defined it.
+
+2004-11-23 Jim Meyering <jim@meyering.net>
+
+ * closeout.c: Revert last change, since it seems EBADF is always
+ defined.
+
+2004-11-22 Jim Meyering <jim@meyering.net>
+
+ * closeout.c (EBADF): Fail with `#error ...' if it's not defined,
+ asking the user to report the problem.
+
+2004-11-17 Paul Eggert <eggert@cs.ucla.edu>
+
+ * realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
+ might fail. Problem reported by Yoann Vandoorselaere.
+ * calloc.c (rpl_calloc): Defend against buggy calloc implementations
+ that mishandle size_t overflow.
+
+2004-11-16 Paul Eggert <eggert@cs.ucla.edu>
+
+ * xgetcwd.c: Include <limits.h>, for PATH_MAX.
+ (xgetcwd): Set errno correctly when failing.
+ Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
+ the failure is actually due to a PATH_MAX problem.
+
+ Further getopt changes to make it more likely that glibc will
+ buy the changes back.
+ * getopt.c (POSIXLY_CORRECT): New constant.
+ (getopt): Use it, so to preserve glibc semantic
+ * getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
+ when compiling for libc.
+ * getopt_.h (__getopt_argv_const): Bring it back.
+ (getopt_long, getopt_long_only): Use it.
+
+ * getopt.c (_getopt_initialize, _getopt_internal_r, _getopt_internal):
+ New arg POSIXLY_CORRECT. All callers changed.
+ (getopt): Argv is now char * const *, as per standard.
+ (_getopt_internal_r, _getopt_internal): Argv is now char **,
+ not char *__getopt_argv_const *.
+ * getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
+ _getopt_long_only_r): Likewise.
+ * getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
+ * getopt_int.h (_getopt_internal, _getopt_internal_r,
+ _getopt_long_r, _getopt_long_only_r): Likewise.
+ * getopt_.h (__getopt_argv_const): Remove.
+ (getopt): Argv is now char * const *, as per standard.
+
+ * canon-host.c: Include "strdup.h".
+ (canon_host): Use getaddrinfo if available, so that IPv6 works.
+ Use strdup instead of malloc/strcpy to duplicate strings.
+
+ * getdate.y (tORDINAL): New token.
+ (day, relunit): Allow it for relative times.
+ (relative_time_table): Use tORDINAL for ordinals.
+
+2004-11-15 Paul Eggert <eggert@cs.ucla.edu>
+
+ * human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
+ (human_space_before_unit): New constant.
+ * human.c (human_readable): Support it.
+
+2004-11-14 Jim Meyering <jim@meyering.net>
+
+ * closeout.c (close_stdout): Don't fail just because stdout was
+ closed initially, since some programs don't write to stdout in the
+ normal course of operation (other than --version and --help), and
+ we don't want this function to make e.g. `cp 1 2 >&-' fail.
+ But do fail if it was closed and someone has tried to write to it.
+ E.g., printf foo >&-
+
+ * __fpending.c, __fpending.h: Restore these files.
+ They're useful after all.
+ * Makefile.am (libfetish_a_SOURCES): Add __fpending.h.
+
+2004-11-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ * getopt.c, getopt1.c, getopt_.h, getopt_int.h:
+ Sync from gnulib.
+
+2004-11-10 Paul Eggert <eggert@cs.ucla.edu>
+
+ * allocsa.h, mbswidth.c, mktime.c, readlink.c, getdate.y,
+ quotearg.c, strftime.c: Sync from gnulib.
+
+2004-11-06 Jim Meyering <jim@meyering.net>
+
+ * __fpending.c, __fpending.h: Remove files.
+
+ * Makefile.am (libfetish_a_SOURCES): Remove __fpending.h, now
+ that it's no longer used.
+
+ Ensure that no close failure goes unreported.
+ * closeout.c (close_stdout): Always close stdout. I.e., don't
+ return early when it seems there's nothing to flush.
+ Don't include __fpending.h.
+
+2004-11-03 Paul Eggert <eggert@cs.ucla.edu>
+
+ * unsetenv.c: New file, from gnulib. Needed for new getdate.y.
+ * Makefile.am (libfetish_a_SOURCES): Remove setenv.c.
+ * xreadlink.c: Sync from gnulib.
+
+2004-11-03 Jim Meyering <jim@meyering.net>
+
+ * Makefile.am (libfetish_a_SOURCES): Add setenv.c and setenv.h.
+
+2004-11-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ * getdate.y, getpass.c, setenv.h: Sync from gnulib.
+
+2004-10-29 Paul Eggert <eggert@cs.ucla.edu>
+
+ * getdate.y, getpagesize.h, mktime.c: Sync from gnulib.
+
+2004-10-24 Paul Eggert <eggert@cs.ucla.edu>
+
+ * mktime.c (leapyear): Arg is long int, not int.
+ Change imported from gnulib.
+
+2004-10-17 Paul Eggert <eggert@cs.ucla.edu>
+
+ Sync from gnulib.
+ * diacrit.c, diacrit.h: Add copyright notice.
+ * getpass.c (fflush_unlocked, flockfile, funlockfile)
+ (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
+ to real functions.
+
+2004-10-13 Jim Meyering <jim@meyering.net>
+
+ * fts.c (fts_read): When about to fail (by returning NULL) due
+ to a failed fchdir or failed fts_safe_changedir call, set
+ `sp->fts_cur = p'. Do this by removing the explicit `return NULL;'
+ statements and setting p->fts_errno so execution falls through
+ to the common-case code below. Otherwise, after such a failure,
+ calling fts_close would attempt to free an already-freed buffer.
+ Reported by Luis Lopez Lopez in http://bugs.debian.org/276352.
+
+2004-10-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ Sync from gnulib.
+
+ * xalloc.h (xmemdup): Renamed from xclone.
+ * xmalloc.c (xmemdup): Likewise.
+ * xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
+ XFREE): Remove these long-obsolescent macros.
+ * xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
+ * xstrdup.c: Remove.
+
+ * argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
+ getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
+ md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
+ regex.c, sha1.c, version-etc.c, yesno.c:
+ Include "unlocked-io.h" only if USE_UNLOCKED_IO.
+ * unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
+ the includer's responsibility.
+
+2004-10-03 Paul Eggert <eggert@cs.ucla.edu>
+
+ Sync from gnulib.
+ * dirfd.h, getpagesize.h: Add copyright notice.
+ * vasnprintf.c: (VASNPRINTF): Set errno=EOVERFLOW if the output is
+ too long.
+ * vasnprintf.h: Doc fix.
+ * vasprintf.c: Don't include <limits.h>.
+ (vasprintf): Rely on vasnprintf to set errno=EOVERFLOW.
+
+2004-09-23 Paul Eggert <eggert@cs.ucla.edu>
+
+ * modechange.c (mode_compile): Don't decrement a pointer that
+ points to the start of a string, as the C Standard says the
+ resulting behavior is undefined.
+
+2004-09-22 Jim Meyering <jim@meyering.net>
+
+ * getopt.c: Remove extraneous spaces before TAB.
+ * getopt_.h: Likewise.
+
+ * backupfile.c: Remove trailing blanks.
+ * euidaccess.c: Likewise.
+
+2004-09-13 Paul Eggert <eggert@cs.ucla.edu>
+
+ * backupfile.h (enum backuptype): Rename none -> no_backups,
+ simple -> simple_backups, numbered_existing ->
+ numbered_existing_backups, numbered -> numbered_backups
+ to avoid shadowing problems. All uses changed.
+ * argmatch.c (enum backuptype): Likewise.
+ * backupfile.c (check_extension, numbered_backup):
+ Rename locals to avoid shadowing 'basename'.
+ * backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
+ once.
+
+2004-09-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ Port to diet libc. Problem reported by Felix von Leitner in
+ <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00171.html>
+ * fts.c (fts_stat, fts_open, fts_read): Use "unsigned short int"
+ rather than the unportable "u_short", and similarly for u_int.
+ * fts_.h (FTSENT): Likewise.
+
+2004-08-19 Paul Eggert <eggert@cs.ucla.edu>
+
+ * getopt.c, getopt1.c: Sync from gnulib.
+ * getopt_.h: Renamed from getopt.h (this syncs from gnulib).
+ * Makefile.am (libfetish_a_SOURCES): Remove getopt.c, getopt.h,
+ getopt1.c, getopt_int.h.
+ (BUILT_SOURCES, EXTRA_DIST, all-local, $(lib_OBJECTS), getopt.h,
+ MOSTLYCLEANFILES): Add current gnulib snippet for getopt.
+ * .cppi-disable: Add getopt_.h, getopt_int.h.
+ * .cvsignore: Add getopt.h.
+
+2004-08-18 Paul Eggert <eggert@cs.ucla.edu>
+
+ * userspec.c: Don't use <alloca.h>, so that we don't use alloca on
+ strings on unbounded length. alloca's performance benefits aren't
+ that important here.
+ (V_STRDUP): Remove.
+ (parse_with_separator): New function, with most of the internals
+ of the old parse_user_spec. Allow user to omit both user and group,
+ for compatibility with FreeBSD.
+ Clone only the user name, not the entire spec.
+ Do not set *uid, *gid unless entirely successful.
+ Avoid memory leak in some failing cases.
+ Fix regression for USER.GROUP reported by Dmitry V. Levin in
+ <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
+ (parse_user_spec): Rewrite to use parse_with_separator.
+
+2004-08-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ * fts.c (O_DIRECTORY): Define to 0 if the system doesn't define.
+
+ * settime.c (settime): Recode to avoid warning with Sun Forte C 6U2.
+
+ * obstack.c: Include <inttypes.h> and <stdint.h> if available.
+ (union fooround): Use uintmax_t, not long int.
+ The rest is a merge from libc:
+ [defined _LIBC]: Include <shlib-compat.h>.
+ (_obstack) [defined _LIBC]: Remove after 2.3.4.
+
+ * xgethostname.c: Do not include error.h. (merge from gnulib).
+
+ * fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
+ wmemchr or wmemcpy. Problem reported by Robert Dahlem
+ for Reliant Unix 5.43.
+
+2004-08-09 Paul Eggert <eggert@cs.ucla.edu>
+
+ * Makefile.am (libfetish_a_SOURCES): Add getpass.h.
+ * getpass.h: New file.
+ * .cpp-disable: Add it.
+ * getpass.c [!_LIBC]: Include it.
+
+ * obstack.h (obstack_empty_p):
+ Don't assume that chunk->contents is suitably aligned.
+ * obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
+ Likewise. Problem reported by Benno in
+ <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
+
+ * chown.c (rpl_chown): Work even if the file is writeable but not
+ readable. This could be improved further but it'd take some work.
+ * fts.c (diropen): New function.
+ (fts_open, fts_read, fts_children, fts_safe_changedir):
+ Use it, so that the code works even if the directory
+ is writeable but not readable. We'd like it to work even if
+ the directory is merely executable, but I don't know how to do
+ that portably.
+
+ * xalloc-die.c: New file.
+ * xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
+ All uses removed.
+ * xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted): Likewise.
+ Move inclusions of gettext.h, error.h, exitfail.h to xalloc-die.c.
+ (_, N_, xalloc_die): Move to xalloc-die.c.
+ * userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
+ so that we needn't mess with xalloc_msg_memory_exhausted.
+
+ * sha1.h (sha1_ctx): Renamed from sha_ctx.
+ (sha1_init_ctx): Renamed from sha_init_ctx.
+ (sha1_process_block): Renamed from sha_process_block.
+ (sha1_process_bytes): Renamed from sha_process_bytes.
+ (sha1_finish_ctx): Renamed from sha_finish_ctx.
+ (sha1_read_ctx): Renamed from sha_read_ctx.
+ (sha1_stream): Renamed from sha_stream.
+ (sha1_buffer): Renamed from sha_buffer.
+ * sha1.c: Likewise.
+
+2004-08-07 Paul Eggert <eggert@cs.ucla.edu>
+
+ * canonicalize.h, cycle-check.h, stat-macros.h, strdup.h,
+ strftime.h, xnanosleep.c: Merge from gnulib.
+
+2004-08-05 Paul Eggert <eggert@cs.ucla.edu>
+
+ Merge with gnulib and deal with some minor cleanups resulting.
+
+ * .cppi-disable: Change fnmatch.h to fnmatch_.h.
+ * .cvsignore: Add fnmatch.h, poll.h, stdbool.h, sysexit.h.
+ Remove safe-lstat.c, safe-lstat.h, safe-stat.c, safe-stat.h.
+
+ * backupfile.h, closeout.h, full-write.h, mbswidth.h, xalloc.h:
+ Add extern "C" wrappers for C++.
+
+ * dirname.h (IS_ABSOLUTE_FILE_NAME): Port to DOS.
+
+ * gettime.c (gettime): Fall back on `time' if `gettimeofday'
+ doesn't work.
+ * settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
+ (ENOSYS): Define if not defined.
+ (settime): Fall back on stime if it exists and settimeofday fails.
+ But don't bother with fallbacks if a method fails with errno == EPERM.
+
+ * obstack.h: Add white space.
+
+ * printf-parse.c, printf-parse.h, vasnprintf.c: Merge changes from
+ gnulib, but rewrite to avoid "xsize.h".
+
+2004-08-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ * mountlist.c (SIZE_MAX): Define after including files, to avoid
+ a collision on OpenBSD 3.4.
+
+ * fts.c (LONGEST_MODIFIER): New macro.
+ (PRIuMAX) [!PRI_MACROS_BROKEN && !defined PRIuMAX]: New macro.
+ (find_matching_ancestor): Use it for dev_t and ino_t.
+
+ * getndelim2.c: Sync from gnulib.
+
+ * error.c: Work around bug in OpenBSD 3.4 sterror_r: it
+ sometimes returns a positive errno value even when it succeeds.
+ (print_errno_message) [!LIBC]: Fall back on strerror if
+ __strerror_r fails.
+
+2004-08-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ * canonicalize.c (errno): Remove decl; we now assume C89 or better.
+ * chown.c (errno): Likewise.
+ * closeout.c (errno): Likewise.
+ * dup-safer.c (errno): Likewise.
+ * dup2.c (errno): Likewise.
+ * exclude.c (errno): Likewise.
+ * fopen-safer.c (errno): Likewise.
+ * ftruncate.c (errno): Likewise.
+ * full-write.c (errno): Likewise.
+ * getcwd.c (errno): Likewise.
+ * lchown.c (errno): Likewise.
+ * memcoll.c (errno): Likewise.
+ * nanosleep.c (errno): Likewise.
+ * putenv.c (errno): Likewise.
+ * rmdir.c (errno): Likewise.
+ * same.c (errno): Likewise.
+ * savedir.c (errno): Likewise.
+ * setenv.c (errno): Likewise.
+ * stat.c (errno): Likewise.
+ * utime.c (errno): Likewise.
+ * xgetcwd.c (errno): Likewise.
+ * xmemcoll.c (errno): Likewise.
+ * xreadlink.c (errno): Likewise.
+ * xstrtol.c (errno): Likewise.
+ * canonicalize.h (enum canonicalize_mode_t): Reformat comments to
+ fit in 80 columns.
+ * fileblocks.c (textutils_fileblocks_unused): Make it a typedef
+ instead of an int, to save a few bytes in the object file.
+ * getdate.y (lookup_word): Rewrite to avoid cast.
+ * getloadavg.c: Include <stdbool.h>.
+ (getloadavg_initialized): Use bool for booleans.
+ * hard-locale.c (hard_locale): Return bool, not int.
+ * hard-locale.h (hard_locale): Likewise. Include <stdbool.h>.
+ * hash.c (hash_string): Rewrite to avoid cast.
+ * human.h: Use Autoconf-suggested pattern for inttypes and stdint.
+ * strtiomax.c: Likewise.
+ * xstrtol.h: Likewise.
+ * nanosleep.c: Include stdbool.h.
+ (rpl_nanosleep): Usee bool for booleans.
+ * quotearg.c: Include stdbool.h.
+ (quotearg_buffer_restyled): Use bool for booleans.
+ * readtokens.c (readtoken): Rewrite to avoid casts.
+ * same.c (same_name): Return bool, not int.
+ * same.h (same_name): Likewise. Include <stdbool.h>.
+ * version-etc.c (version_etc_va): Use size_t for sizes.
+ * xnanosleep.c: Include limits.h, stdbool.h.
+ (CHAR_BIT): Remove.
+ (timespec_subtract, xnanosleep): Use bool for booleans.
+ * xstrtoimax.c: Just include xstrtol.h rather than rolling our
+ own include pattern.
+ * xstrtoumax.c: Likewise.
+ * xstrtol.c (__xstrtol): Rewrite to avoid casts.
+ * yesno.c: Include yesno.h first.
+ (yesno): Return bool, not int.
+ * yesno.h (yesno): Likewise. Include <stdbool.h>.
+
+ * xstrtod.h (xstrtod): Return bool, not int. Invert the
+ sense of the boolean. All uses changed.
+ * xstrtod.c (xstrtod): Likewise.
+ * nanosleep.c: Include stdbool.h. Use bool for booleans.
+
+ * xgethostname.c: Don't include <sys/types.h> or "exit.h";
+ no longer needed.
+ (errno): Remove decl; we now assume C89 or better.
+ Include unistd.h if available, for gethostname.
+ (ENAMETOOLONG): Define to 0, not 9999, to avoid colliding with
+ existing errno values if any.
+ (gethostname): Remove decl, since unistd.h declares it (or doesn't,
+ in which case it's an older system and it should just work).
+ (xgethostname): Don't assume host name length is less than INT_MAX.
+ Exit if malloc fails, just as the comment says.
+
+ * save-cwd.c: Include <stdbool.h>.
+ (errno): Remove decl; we now assume C89 or better.
+ (save_cwd): Use bool for booleans.
+ (save_cwd, restore_cwd): Return -1 on failure, not 1, since we set
+ errno on failure.
+
+ * readutmp.h (UT_USER): Parenthesize properly.
+ (UT_USER_SIZE): New constant.
+ (read_utmp): Don't assume that the number of users is less than
+ INT_MAX.
+ * readutmp.c (read_utmp): Likewise.
+ Check for integer overflow in size calculations.
+ Return -1 (not 1) on failure, since we set errno in that case.
+
+ * posixtm.c (posix_time_parse): Don't assume that the length of
+ the string being parsed is <= UINT_MAX.
+
+ * mountlist.h (read_file_system_list): Accept bool flag, not int.
+ * mountlist.c (read_file_system_list): Likewise.
+ * mountlist.h: Include <stdbool.h>.
+ * mountlist.c (errno): Remove decl; we now assume C89 or better.
+ (xatoi): Remove; replaced by strtoul. Hence device numbers can now
+ go up to ULONG_MAX.
+
+ * isdir.c: Remove; no longer needed.
+ * Makefile.am (libfetish_a_SOURCES): Remove isdir.c.
+
+ * fts_.h: Add an FSF copyright notice, since our changes are becoming
+ nontrivial.
+ * fts.c: Likewise.
+ * fts_.h: Include stddef.h, for ptrdiff_t.
+ (FTS.fts_nitems): Now size_t, not int, for hosts that allow more
+ than INT_MAX entries in a directory.
+ (FTS_ROOTPARENTLEVEL): Parenthesize properly.
+ (FTSENT.fts_level): Now ptrdiff_t, not int, to allow recursing more
+ than INT_MAX levels deep on 64-bit hosts.
+ (FTSENT.fts_namelen): Now size_t, not u_short, to support hosts like
+ the Hurd that don't have arbitrary limits on directory entry lengths.
+ (FTSENT.fts_statp): Now an array, not a pointer, so that we don't
+ have to play unportable games with pointer arithmetic. Keep it array
+ for the benefit of user code that assumes it is a pointer.
+ * fts.c: Include stdint.h if available, as Autoconf suggests.
+ (ALIGNBYTES, ALIGN): Remove; no longer needed now that fts_statp
+ is an array.
+ (fts_alloc, fts_palloc, fts_sort, fts_load, fts_build):
+ Use size_t for sizes.
+ (fts_stat, fts_safe_changedir, fts_debug, fts_read, fts_build,
+ fts_palloc):
+ Use bool when appropriate.
+ (SIZE_MAX, TYPE_SIGNED): New macros.
+ (fts_read): Use u_short for instructions.
+ (fts_build): Use ptrdiff_t for levels. Don't assume file name lengths
+ fit into int. Don't assume nlink_t is signed.
+ (find_matching_ancestor): Don't assume dev, ino fit in int.
+ (fts_stat): Use function prototype; required for bool arg.
+ (fts_sort): Detect integer overflow in size calculations.
+ (fts_alloc): Simplify allocation code, now that fts_statp is an array
+ and not a pointer.
+
+ * fsusage.h: Include <stdbool.h>.
+ (struct fs_usage): Use uintmax_t for block sizes, so that they're
+ not limited to INT_MAX.
+ Use bool for booleans.
+ * fsusage.c: Use Autoconf-suggested pattern for inttypes and stdint.
+ Include unistd.h, for lseek.
+
+ * fnmatch.c: Include <stdbool.h>.
+ (errno): Remove decl; we now assume C89 or better.
+ * fnmatch_loop.c (EXT, FCT): Use bool when appropriate.
+ (FCT): Use size_t, not unsigned int, for sizes.
+ (EXT): Use size_t, not int, for sizes.
+
+ * stripslash.c (strip_trailing_slashes): Now returns bool.
+ * dirname.h (strip_trailing_slashes): Likewise.
+ Include <stdbool.h>.
+ * dirname.c (dir_name): Use bool when appropriate.
+
+ * argmatch.h (argmatch, __xargmatch_internal, argmatch_invalid):
+ Use ptrdiff_t, not int, when counting arguments, to allow more
+ than INT_MAX arguments.
+ * argmatch.c: Likewise. Use bool when appropriate.
+
+2004-08-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ * safe-read.c (errno): Remove decl; we now assume C89 or better.
+ (safe_rw): Don't work around Tru64 bug unless the bug symptoms
+ manifest themselves. This allows us to do proper reads and writes
+ on other hosts, e.g., "dd" with a block size greater than 2**31.
+
+ * md5.c (UNALIGNED_P): Use size_t; in practice, this is just as
+ good as uintptr_t in checking for alignments, and has fewer
+ configuration hassles.
+ * sha1.c (UNALIGNED_P): Likewise.
+ * md5.h: Don't include <limits.h>. Include <inttypes.h> if available,
+ as it defines symbols like UINT32_MAX on Solaris 8.
+ (md5_uint32): Assume uint32_t exists; Autoconf will define it
+ otherwise (if the host has a 32-bit unsigned type, anyway).
+ * memchr.c: Don't include inttypes.h or stdint.h.
+ (UNALIGNED_P): Remove.
+ (__memchr): Use size_t, not uintptr_t, to test alignment.
+ * memrchr.c: Likewise, for __memrchr.
+
+2004-07-30 Paul Eggert <eggert@cs.ucla.edu>
+
+ * makepath.h: Include <stdbool.h>.
+ (make_path, make_dir): Use bool, not int, since we're not setting
+ errno.
+ Use mode_t for modes, not int. All uses changed.
+ * makepath.c: Likewise.
+ (errno): Remove decl; no longer needed since we assume C89.
+
+2004-07-29 Paul Eggert <eggert@cs.ucla.edu>
+
+ * modechange.c: Include <stdbool.h>.
+ (mode_compile): Use bool when appropriate.
+
+ * memchr.c (UNALIGNED_P): Use sizeof, not alignof, for better
+ performance on m68k-linux. Reported by Andreas Schwab in
+ <http://lists.gnu.org/archive/html/bug-coreutils/2004-07/msg00104.html>.
+ * memrchr.c (UNALIGNED_P): Likewise.
+
+2004-07-28 Paul Eggert <eggert@cs.ucla.edu>
+
+ * userspec.c: Include <stdbool.h>, "inttostr.h".
+ (V_STRDUP): Don't assume the string's length fits in int.
+ (ISDIGIT): unsigned -> unsigned int
+ (is_number): Define only ifdef __DJGPP__; not needed elsewhere.
+ Use bool instead of int where appropriate.
+ Do not allow empty strings.
+ (parse_user_spec): Parse numbers as decimal integers, even if
+ they have a leading 0. Don't assume uids and gids fit in int.
+
+ * memchr.c: Include <stddef.h>, not <stdlib.h> and <sys/types.h>.
+ (LONG_MAX_32_BITS): Remove.
+ Include <inttypes.h> and <stdint.h> if available.
+ (alignof, UNALIGNEDP): New macro, portable to all C89 hosts.
+ (__memchr): Don't assume unsigned long int is either 4 or 8 bytes;
+ let it be any number of bytes greater than or equal to 4.
+ * memrchr.c: Likewise, with __memrchr.
+
+ * md5.h: Include <stdint.h> if HAVE_STDINT_H || _LIBC, not
+ ifdef _LIBC.
+ (md5_uint32): Use uint32_t if available. Simplify fallback ifdefs.
+ * md5.c: Don't include <sys/types.h> or <stdlib.h>; <stddef.h>
+ suffices with C89 or better.
+ (alignof): New macro, portable to all C89 hosts.
+ (UNALIGNED): Use it. Use uintptr_t if available, and assume
+ everything is unaligned otherwise; this is more portable than
+ assuming 'unsigned long int' will always work.
+ * sha1.c: Likewise.
+
+ * getugroups.c: Include <errno.h>.
+ (EOVERFLOW): Define if not defined.
+ (getgroups): Return -1 with errno=EOVERFLOW if an integer overflow
+ occurs.
+
+2004-07-27 Paul Eggert <eggert@cs.ucla.edu>
+
+ * euidaccess.c [HAVE_LIBGEN_H]: Include <libgen.h>, for
+ eaccess on Solaris and SVR4-like systems.
+ (euidaccess): Use HAVE_EACCESS, not HAVE_DECL_EACCESS.
+
+ cycle-check integer overflow fixup.
+
+ * cycle-check.h: Remove now-inaccurate comment about the files
+ you need to include first. You don't need to include any files
+ other than the usual config.h.
+ Include <inttypes.h> and <stdint.h> if available, for uintmax_t.
+ Remove 'struct stat;' not needed since we know sys/stat.h has
+ been included by dev-ino.h.
+ (struct cycle_check_state): Change chdir_counter to uintmax_t,
+ not size_t, since it isn't limited by object sizes.
+ Change magic from long unsigned int to int; that's good enough
+ for our use.
+ * cycle-check.c (is_zero_or_power_of_two): Renamed from
+ is_power_of_two, to reflect better what it really does.
+ All uses changed. Arg is now uintmax_t, not unsigned int
+ (it should have been unsigned long int -- that was a bug).
+ (cycle_check): Check for integer overflow in cycle count,
+ and report a cycle if that happens, as it must be a cycle
+ by this point.
+
+ backupfile.c rewrite to avoid arbitrary limits on lengths of
+ numeric backup extensions.
+
+ * addext.c: Remove; no longer needed.
+ * Makefile.am (libfetish_a_SOURCES): Remove addext.c.
+ * backupfile.h (addext): Remove decl.
+ * backupfile.c: Include "backupfile.h" first.
+ Include errno.h, stdbool.h, limits.h, unistd.h, xalloc.h.
+ (CLOSEDIR, INT_STRLEN_BOUND): Remove.
+ (pathconf) [! (HAVE_PATHCONF && defined _PC_NAME_MAX)]: New macro.
+ (_POSIX_NAME_MAX) [!defined _POSIX_NAME_MAX]: New macro.
+ (NAME_MAX_MAXIMUM): New macro. Unlike the old addext.c, we
+ also look at _XOPEN_NAME_MAX, for better performance on modern
+ hosts that support only file names of length 255 or more.
+ (ISDIGIT): unsigned -> unsigned int
+ (max_backup_version, version_number): Remove.
+ (check_extension): New function. Similar to the old addext, but
+ static, assumes that the extension has already been added,
+ and a bit more careful on DOS hosts.
+ (numbered_backup): New function. It does what max_backup_version
+ and version_number used to do, but it doesn't use integer arithmetic
+ to calculate extensions so it doesn't overflow.
+ (find_backup_file_name): Rewrite to use these new functions.
+ This has a new optimization: we needn't call pathconf if the
+ new numbered backup name has the same length as the old.
+ Also, use xmalloc rather than malloc, so that the caller
+ needn't worry about memory exhaustion.
+
+2004-07-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ * euidaccess.c [!defined LIBC]: Included group-member.h, stat-macros.h.
+ (S_IXUSR, S_IXGRP, S_IXOTH, S_IROTH, S_IWOTH, S_IXOTH):
+ Remove; now done by stat-macros.h.
+ (NGROUPS_MAX, group_member): Remove; now done by group-member.h.
+ No need to include <limits.h>.
+ (errno): Remove decl; we now assume C89 or better.
+ (access, getuid, getgid, geteuid, getegid, stat) [defined _LIBC]:
+ New macros.
+ (uid, gid, have_ids): Remove these static variables.
+ They weren't accurate for programs that also invoked setreuid etc.
+ (euidaccess) [defined EFF_ONLY_OK || defined ACC_SELF ||
+ HAVE_DECL_EACCSS]: Use builtin substitutes.
+ [defined _LIBC]: Ignore __libc_enable_secure; it's not a
+ correct optimization for programs run as root that later
+ invoke setreuid.
+ [no builtin substitutes && HAVE_DECL_SETREGID &&
+ PREFER_NONREENTRANT_EUIDACCESS]:
+ Use setreuid+setregid to get the correct answer.
+ [no builtin substitutes && ! (HAVE_DECL_SETREGID &&
+ PREFER_NONREENTRANT_EUIDACCESS)]:
+ Don't assume that the stat macros have their historical values,
+ as POSIX doesn't require this.
+ [defined TEST]: Include <stdlib.h>; don't include errno.h
+ twice; include <error.h> rather than "error.h".
+
+2004-07-23 Paul Eggert <eggert@cs.ucla.edu>
+
+ * Makefile.am (libfetish_a_SOURCES): Add fcntl-safer.h,
+ open-safer.c.
+ * fcntl-safer.h, open-safer.c: New files.
+
+2004-07-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ * c-strtod.c (STRTOD_L): New macro.
+ (C_STRTOD) [defined LC_ALL_MASK]: Use it, so that the
+ code is reentrant on platforms that have strtod_l.
+
+ * getloadavg.c: Include <errno.h>, <stdio.h>, <stdlib.h> even
+ if HAVE_GETLOADAVG is defined, so that the test program can work.
+ (errno): Remove declaration; not needed in C89 or later.
+ Include "c-strtod.h".
+ Do not include locale.h or define setlocale; no longer needed.
+ Include <limits.h>.
+ (INT_STRLEN_BOUND): New macro.
+ (getloadavg): Use it to compute buffer size.
+ Don't assume that buffer will be properly terminated by 'read'.
+ Use c_strtod instead of setlocale.
+ (main) [defined TEST]: Return int, not void.
+
+2004-07-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ * Makefile.am (libfetish_a_SOURCES): Add c-strtold.c.
+ * c-strtold.c: New file.
+ * c-strtod.c: Include <config.h> first.
+ (C_STRTOD, DOUBLE, STRTOD): New macros.
+ (c_strtod): Use them.
+ * c-strtod.h (c_strtold): New decl.
+
+2004-07-07 Jim Meyering <jim@meyering.net>
+
+ Don't infloop when MAXSYMLINKS is not defined.
+ Detect symlink loops much earlier (albeit lazily) on systems
+ with MAXSYMLINKS defined to a large value.
+
+ * canonicalize.c: Include "cycle-check.h".
+ (canonicalize_filename_mode): Don't try to detect loops by counting
+ symlink-hops. Instead, use the cycle-check module.
+
+ * cycle-check.h: Include stdbool.h.
+ Forward-declare `struct stat'.
+
+ * canonicalize.c (canonicalize_filename_mode): Remove do-while(0) loop.
+ Replace each corresponding `break' stmt with `continue'.
+
+2004-07-06 Jim Meyering <jim@meyering.net>
+
+ * canonicalize.c: Include "stat-macros.h".
+ (canonicalize_filename_mode): Remove #ifdef S_ISLNK, now that
+ S_ISLNK is guaranteed to be defined (via stat-macros.h).
+
+2004-04-03 Dmitry V. Levin <ldv@altlinux.org>
+
+ * Makefile.am (libfetish_a_SOURCES): Add canonicalize.c
+ unconditionally.
+ * canonicalize.h (canonicalize_mode_t): New type.
+ * canonicalize.c: Include "file-type.h".
+ (canonicalize_filename_mode): New function, based on
+ canonicalize_file_name, supports three canonicalize modes.
+ (canonicalize_file_name)
+ [!HAVE_CANONICALIZE_FILE_NAME && !HAVE_RESOLVEPATH]: Use it.
+
+2004-07-05 Jim Meyering <jim@meyering.net>
+
+ * path-concat.c (path_concat): Improve comment. From Paul Eggert.
+
+2004-07-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ * canonicalize.c (canonicalize_file_name): Assume that path_concat
+ never returns NULL.
+ * path-concat.c (mempcpy): Don't define if a system header defines it.
+ Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
+ (longest_relative_suffix): New function.
+ (path_concat): Use it. Assume first argument is not NULL.
+ Port to DOS. Omit redundant separators.
+ Report an error instead of returning NULL.
+ Use mempcpy instead of memcpy.
+ (xpath_concat): Remove: not declared or used.
+
+2004-06-30 Paul Eggert <eggert@cs.ucla.edu>
+
+ * dirname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
+ FILESYSTEM_PREFIX_LEN. All uses changed.
+ * mountlist.h (read_file_system_list): Renamed from
+ read_filesystem_list. All definitions and uses changed.
+
+2004-06-24 Jim Meyering <jim@meyering.net>
+
+ * obstack.h (obstack_base): Fix parentheses. From Paul Eggert.
+
+2004-06-20 Jim Meyering <jim@meyering.net>
+
+ * obstack.h (obstack_base): Cast to (void *), per documentation.
+
+ * yesno.h: New file.
+ * yesno.c: Include "yesno.h".
+ * Makefile.am (libfetish_a_SOURCES): Add yesno.h.
+
+2004-06-19 Jim Meyering <jim@meyering.net>
+
+ * filemode.c: Remove all S_IS* and S_IF* definitions.
+ Instead, just include "stat-macros.h".
+ * stat.c: Likewise.
+ * rmdir.c: Likewise.
+ * makepath.c: Likewise.
+ * lchown.c: Likewise.
+ * isdir.c: Likewise.
+ * canonicalize.c: Likewise.
+
+ Add S_IS* definitions from filemode.c.
+ * stat-macros.h (S_ISCTG): Define to zero if not already defined.
+ (S_ISOFD): Likewise.
+ (S_ISOFL): Likewise.
+
+2004-06-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ * readutmp.c (extract_trimmed_name): Don't apply strchr to a
+ non-string; this leads to undefined behavior.
+
+2004-05-18 Paul Eggert <eggert@cs.ucla.edu>
+
+ * fts.c (fts_stat, fts_alloc): Always allocate and use a struct
+ stat, even if the user isn't interested in the results.
+ This prevents a core dump in cycle_check when FTS_NOSTAT is set.
+ * lchown.c (lchown): Return EOPNOTSUPP if not supported; this
+ is what POSIX-2004 specifies.
+ * lchown.h (EOPNOTSUPP): Define if not defined.
+ (ENOSYS): Remove.
+
+2004-06-06 Jim Meyering <jim@meyering.net>
+
+ * getdate.y: Update from gnulib.
+
+2004-05-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ * xreadlink.c: Include xreadlink.h first, to catch .h file
+ dependency problems.
+ (xreadlink): Accept new arg SIZE, for efficiency.
+ All decls and uses changed.
+ * xreadlink.h: Include <stddef.h>, for size_t.
+ * canonicalize.c (canonicalize_file_name): Update use of xreadlink.
+
+2004-06-01 Jim Meyering <jim@meyering.net>
+
+ * xmalloc.c: Update from gnulib.
+
+2004-05-30 Jim Meyering <jim@meyering.net>
+
+ * alloca_.h: Remove trailing blank.
+
+2004-05-29 Jim Meyering <jim@meyering.net>
+
+ * dirname.h (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Define.
+
+ * calloc.c: New file.
+
+2004-05-21 Jim Meyering <jim@meyering.net>
+
+ * alloca.c, alloca_.h, fnmatch.c: Update from gnulib.
+ * localcharset.c, regex.c: Likewise.
+
+2004-05-20 Jim Meyering <jim@meyering.net>
+
+ * obstack.c, obstack.h: Update from gnulib.
+
+2004-05-16 Paul Eggert <eggert@cs.ucla.edu>
+
+ * getline.c, getndelim2.c, getndelim2.h: Sync with gnulib.
+
+2004-05-11 Jim Meyering <jim@meyering.net>
+
+ Prior to this change, rm required read access to the current
+ directory on most systems (ones with the fchdir function).
+
+ * save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
+ fails, try write-only, and finally, resort to using xgetcwd.
+
+2004-05-07 Jim Meyering <jim@meyering.net>
+
+ Update from gnulib.
+ * obstack.c (_): Define only if not already defined.
+ * obstack.h (obstack_finish): Rename local: s/value/__value/.
+
+2004-05-03 Jim Meyering <jim@meyering.net>
+
+ * lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
+
+2004-05-01 Jim Meyering <jim@meyering.net>
+
+ * chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
+ Wrap old code with this conditional.
+ [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
+ function that does not dereference symlinks.
+
+2004-04-18 Paul Eggert <eggert@twinsun.com>
+
+ * nanosleep.c (suspended): Change its type from int to
+ sig_atomic_t volatile.
+ (first_call): Make it private to rpl_nanosleep, and have it
+ be zero initially as that's a bit faster.
+ (my_usleep): Round up fractional times instead of truncating them,
+ as this is the usual meaning for 'sleep'.
+
+2004-04-20 Jim Meyering <jim@meyering.net>
+
+ * getndelim2.c (getndelim2): Upon realloc failure, don't leak memory.
+
+2004-04-18 Jim Meyering <jim@meyering.net>
+
+ * readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc failure,
+ don't leak memory and do call END_UTMP_ENT.
+
+2004-04-13 Jim Meyering <jim@meyering.net>
+
+ * quotearg.c, quotearg.h: Remove trailing blanks.
+
+2004-04-12 Jim Meyering <jim@meyering.net>
+
+ * inttostr.h: Update from gnulib.
+
+2004-03-27 Paul Eggert <eggert@twinsun.com>
+
+ * utimecmp.c, utimecmp.h: New files.
+ * Makefile.am (libfetish_a_SOURCES): Add utimecmp.c, utimecmp.h.
+
+2004-04-09 Jim Meyering <jim@meyering.net>
+
+ * stat-macros.h: New file, with contents from file-type.h
+ and coreutils' system.h.
+ * Makefile.am (libfetish_a_SOURCES): Add stat-macros.h.
+ * file-type.c: Include "stat-macros.h".
+ * file-type.h (file_type): Move all macro defiitions to new file,
+ stat-macros.h.
+
+2004-03-30 Paul Eggert <eggert@twinsun.com>
+
+ * cloexec.c, cloexec.h, config.charset, file-type.c, file-type.h:
+ * getloadavg.c, getndelim2.c, getusershell.c, group-member.c:
+ * human.c, path-concat.c, printf-args.c, printf-args.h:
+ * quotearg.c, quotearg.h, setenv.c, strdup.c:
+ * userspec.c, userspec.h, vasprintf.c: Sync from gnulib.
+
+ * allocsa.c, allocsa.h, strdup.h: New files, from gnulib.
+ * Makefile.am (libfetish_a_SOURCES): Add allocsa.c, allocsa.h,
+ and strdup.h.
+
+2004-03-30 Jim Meyering <jim@meyering.net>
+
+ * getloadavg.c: Merge changes from emacs (via gnulib).
+
+2004-03-28 Paul Eggert <eggert@twinsun.com>
+
+ Fix some gotchas encountered when porting to Solaris 8, using
+ the Forte 6u2 compiler.
+
+ * canonicalize.c [HAVE_UNISTD_H]: Include <unistd.h>,
+ for resolvepath declaration.
+ * fts.c: Include dirfd.h, for dirfd.
+
+2004-02-25 Paul Eggert <eggert@twinsun.com>
+
+ * human.c (humblock): Support BLOCKSIZE as well as BLOCK_SIZE.
+
+2004-03-23 Paul Eggert <eggert@twinsun.com>
+
+ * readtokens0.c (readtokens0): Return true on success rather
+ than on failure. All callers changed. This also happens to fix a
+ portability bug on pre-C99 hosts, where (bool) INTEGER sometimes
+ returns false even when INTEGER is nonzero.
+
+2004-03-23 Jim Meyering <jim@meyering.net>
+
+ * Makefile.am (libfetish_a_SOURCES): Add getopt_int.h.
+ * getopt_int.h: New file, from gnulib.
+ * getopt.c, getopt.h, getopt1.c: Sync from gnulib.
+ * getopt.c, getopt.h: Remove space(s) before TAB.
+
+ * mbswidth.c, mbswidth.h: Sync from gnulib.
+
+2004-03-21 Jim Meyering <jim@meyering.net>
+
+ * readtokens0.c, readtokens0.h: New files.
+ * Makefile.am (libfetish_a_SOURCES): Add readtokens0.c and readtokens0.h
+
+ * readtokens.c (readtoken): Don't leak 64 bytes when reading
+ an empty input stream.
+
+ * readtokens.c: Include <stdbool.h>.
+ (readtoken): Use `size_t' rather than int/long.
+ All callers adjusted.
+ Use `bool' rather than `int' where appropriate.
+ Use memset rather than an explicit loop.
+ Use x2nrealloc rather than xrealloc.
+ Allow the use of `\0' as a delimiter.
+ (readtokens): Likewise.
+ * readtokens.h (readtoken, readtokens): Update prototypes.
+
+2004-02-29 Paul Eggert <eggert@twinsun.com>
+
+ * getdate.h: Include stdbool.h, and timespec.h instead of
+ the usual <time.h> dance.
+ (get_date): Change signature to support fractional time stamps.
+ All callers changed.
+ * getdate.y: Include "getdate.h" first, as we can now
+ assume C89 and don't need to worry about 'const'.
+ Similarly, include "unlocked-io.h" near start, not in middle.
+ Include <limits.h>.
+ (textint.value): Use long int rather than int.
+ (textint.digits): Use size_t rather than int.
+ (BILLION, LOG10_BILLION): New constants.
+ (parser_control): New member rel_ns. Members day_ordinal,
+ time_zone, month, day, hour, minutes, rel_year, rel_month,
+ rel_day, rel_hour, rel_minutes, rel_seconds
+ are now long int, not int. Member seconds is now struct timespec,
+ not int. New member timespec_seen. Members dates_seen, days_seen,
+ local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
+ not int.
+ (%union.intval): Now long int, not int.
+ New member timespec.
+ (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
+ (seconds, signed_seconds, unsigned_seconds): New nonterminals.
+ (spec): Now is a timespec or an item list.
+ (timespec, items): New nonterminals.
+ (time, rel, relunit, number, get_date):
+ Add support for fractional seconds.
+ (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
+ (gmtime, localtime, mktime): Remove decls; not needed with C89.
+ (to_hour): First arg is now long int, not int.
+ (to_year): Returns long int, not int.
+ Don't treat year -70 like 70.
+ (tm_diff): Returns long int, not int.
+ (lookup_word): Use bool instead of int when appropriate.
+ (yylex): Use size_t for count, not int.
+ Detect overflow when parsing large integer constants.
+ Add support for fractions.
+ (get_date): Make pointers 'const' if possible.
+ Use more-portable code to detect integer overflow.
+ (main) [TEST]: Adjust to above changes. Test for localtime failure.
+ Don't use ctime; it's not reliable if the year has >4 digits.
+
+2004-03-15 Jim Meyering <jim@meyering.net>
+
+ `date --date="21:04 +0100" +%S' would print the seconds value
+ from the current time, rather than `00'.
+ * getdate.y: For a date string like `10:23 +0100',
+ set the number of seconds to zero. Reported by Marc Haber.
+
+2004-03-04 Jim Meyering <jim@meyering.net>
+
+ * cloexec.c (set_cloexec_flag) [ ! (F_GETFD && F_SETFD)]:
+ Return true, not false.
+
+2004-03-03 Paul Eggert <eggert@twinsun.com>
+
+ * cloexec.c: Include "cloexec.h" first, and <unistd.h> before <fcntl.h>.
+ (set_cloexec_flag): Use bool for booleans. All uses changed.
+ If F_GETFD returns a negative number (not just -1), report a
+ failure. Don't use F_SETFD if the flags are already right.
+ Don't report a failure with F_SETFD unless it returns -1.
+ * cloexec.h: Include <stdbool.h>.
+ Adjust signature to use `bool' rather than `int'.
+ * getloadavg.c (getloadavg): Use `true', not `1'.
+
+2004-03-02 Dmitry V. Levin <ldv@altlinux.org>
+
+ * cloexec.c: New file.
+ The set_cloexec_flag implementation imported from GNU C Library
+ Reference Manual.
+ * cloexec.h: New file.
+ * getloadavg.c: Include "cloexec.h".
+ (getloadavg): Use set_cloexec_flag instead of manual fcntl call.
+ * Makefile.am (libfetish_a_SOURCES): Add cloexec.c, cloexec.h.
+
+2004-02-23 Paul Eggert <eggert@twinsun.com>
+
+ * userspec.c: Don't include "posixver.h".
+ (parse_user_spec): Fall back on USER.GROUP parsing, regardless
+ of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
+ compatible extension. Simplify code by removing a boolean int
+ that was always nonzero if a string was nonnull.
+
+2004-02-05 Jim Meyering <jim@meyering.net>
+
+ * timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
+ (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
+ From coreutils' system.h.
+
+2004-01-29 Jim Meyering <jim@meyering.net>
+
+ * mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
+
+2004-01-21 Paul Eggert <eggert@twinsun.com>
+
+ * argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
+ Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
+ * argmatch.h: Comment fix to match the above.
+ * long-options.c (parse_long_options): Use prototype
+ for usage function arg. Pass it EXIT_SUCCESS rather than 0,
+ for clarity.
+ * obstack.c (obstack_exit_failure) [!defined _LIBC]:
+ Now a macro referring to exit_failure, instead of a separate
+ variable. Include "exitfail.h" to get it.
+ * xstrtol.h: Include "exitfail.h".
+ (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
+
+2004-01-21 Jim Meyering <jim@meyering.net>
+
+ * mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
+ so as not to conflict with a different-sized __mktime_internal
+ function in GNU libc.
+
+2004-01-16 Jim Meyering <jim@meyering.net>
+
+ Merge from gnulib.
+ * localcharset.c: Test HAVE_DECL_GETC_UNLOCKED,
+ rather than HAVE_GETC_UNLOCKED.
+
+2003-10-08 Paul Eggert <eggert@twinsun.com>
+
+ Merge from gnulib.
+
+ * unlocked-io.h: Include <stdio.h>, so that the caller
+ doesn't have to include <stdio.h> before us.
+ (clearerr_unlocked, feof_unlocked, ferror_unlocked,
+ fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
+ fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
+ putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
+ if not declared, so that we can use getpass.c code from libc without
+ rewriting it.
+ (flockfile, ftrylockfile, funlockfile): New macros.
+
+2004-01-14 Paul Eggert <eggert@twinsun.com>
+
+ Merge from gnulib.
+
+ * fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
+ with like-named macro in fnmatch.c.
+ (EXT): Use an internal constant instead.
+
+ Merge fnmatch patches from glibc.
+ * fnmatch.c (mbsinit): Remove define.
+ Add libc_hidden_ver (__fnmatch, fnmatch).
+ * fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
+ Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
+
+2003-11-24 Paul Eggert <eggert@twinsun.com>
+
+ Merge from gnulib.
+
+ * alloca.c: Remove dependency on xalloc module.
+ (xalloc_die): Remove.
+ (memory_full) [!defined emacs]: New macro.
+ [!defined emacs]: Don't include xalloc.h.
+ (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
+ address arithmetic overflows. Change datatypes a bit to avoid
+ unnecessary casts.
+
+2004-01-14 Paul Eggert <eggert@twinsun.com>
+
+ * posixver.c: Include posixver.h.
+
+2004-01-12 Jim Meyering <jim@meyering.net>
+
+ * posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
+ optional configure-time default.
+
+2004-01-10 Jim Meyering <jim@meyering.net>
+
+ * version-etc.c (version_etc_copyright): Update copyright date.
+
+2003-12-20 Jim Meyering <jim@meyering.net>
+
+ * fts.c [!_LIBC]: Undefine, then define-away __P.
+
+2003-12-19 Jim Meyering <jim@meyering.net>
+
+ Rewrite fts to use a hash table or O(1)-mem cycle-detection
+ code rather than the tree-based tsearch functions.
+ * fts_.h: Include hash.h and cycle-check.h.
+ (FTS_TIGHT_CYCLE_CHECK): New value.
+ (FTS_OPTIONMASK): Adjust to include the new value.
+ (FTS_NAMEONLY, FTS_STOP): Increase to allow room for new value.
+ (struct FTS) [active_dir_ht]: New member. Replaces fts_dir_signatures.
+ (struct FTS) [cycle_state]: New member.
+ * fts.c: Don't include <search.h>.
+ [HAVE_INTTYPES_H]: Include <inttypes.h>.
+ (tdestroy, tfind, tsearch): Remove definitions.
+ (struct Active_dir): Rename from `known_object'.
+ (AD_compare, AD_hash): New functions.
+ (enter_dir, leave_dir): Rewrite to manipulate a hash table
+ rather than a tree.
+ (fts_open): Initialize hash table or cycle_state buffer.
+ (free_node): Remove function.
+ (find_matching_ancestor): Renamed/rewritten from look_up_active_dir.
+ (fts_cross_check): Adapt to use new data structure.
+
+ * Makefile.am (libfetish_a_SOURCES): Remove search_.h.
+ (DISTCLEANFILES): Remove definition.
+
+2003-12-18 Jim Meyering <jim@meyering.net>
+
+ Rewrite cycle detection code to work properly.
+ Add some framework (compiled out by default) to test it.
+ * fts.c (Dprintf, ENTER_DIR, LEAVE_DIR): Define.
+ (add_object): Remove function. Rewritten as...
+ (enter_dir): New function.
+ (leave_dir, free_node): New functions.
+ (fts_read): Ensure that we call ENTER_DIR or LEAVE_DIR,
+ as appropriate, before returning.
+ (look_up_active_dir, fts_cross_check) [FTS_DEBUG]: New functions.
+ (fts_stat): Don't perform the cycle check here.
+ Now it's done via enter_dir.
+
+2003-12-12 Jim Meyering <jim@meyering.net>
+
+ * fts_.h (FTS) [fts_dir_signatures]: Add comment.
+
+2003-12-03 Paul Eggert <eggert@twinsun.com>
+
+ * getgroups.c (getgroups): xmalloc takes one argument, not two.
+ Bug reported by Alfred M. Szmidt.
+
+2003-12-02 Jim Meyering <jim@meyering.net>
+
+ * Makefile.am (libfetish_a_SOURCES): Reflect sha -> sha1 renaming.
+
+ * sha1.c: File renamed from sha.c.
+ * sha1.h: File renamed from sha.h.
+ Use SHA1_H, not _SHA_H in #ifndef condition.
+
+ * sha.c: Add FSF Copyright.
+ * sha.h: Correct stale references to MD5 and `16 bytes'.
+ Patch by Ulrich Drepper.
+
+ * sha.h: Add FSF Copyright. Remove reference to Scott Miller,
+ since this file is now nearly identical to md5.h.
+
+ * md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code. These
+ days, gcc-3.x does better all by itself. Patch from Dean Gaudet:
+ http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
+
+2003-11-29 Jim Meyering <jim@meyering.net>
+
+ * c-strtod.c (c_strtod): Save and restore original LC_NUMERIC setting,
+ in case it was different from the environment-derived value.
+ Patch by Paul Eggert.
+ Include "xalloc.h" for declaration of xstrdup.
+
+2003-11-24 Paul Eggert <eggert@twinsun.com>
+
+ Parse floating-point operands and options in the C locale.
+ POSIX requires this for printf, and we might as well be
+ consistent elsewhere (tail, sleep, seq).
+
+ * Makefile.am (libfetish_a_SOURCES): Add c-strtod.c, c-strtod.h.
+ * c-strtod.c, c-strtod.h: New files.
+ * xstrtod.h (xstrtod): Accept an extra arg, specifying the
+ conversion function.
+ * xstrtod.c (xstrtod): Likewise. All callers changed to
+ include c-strtod.h and use c_strtod. Don't include stdlib.h; no
+ longer needed.
+
+ * xnanosleep.c: Don't include xstrtod.h; it's not needed.
+
+2003-11-22 Jim Meyering <jim@meyering.net>
+
+ * xmalloc.c (x2nrealloc_inline): Fix typos in comments: s/size/size_t/.
+
+2003-11-21 Jim Meyering <jim@meyering.net>
+
+ * xreadlink.c (xreadlink): Correct outdated comment.
+
+2003-11-17 Jim Meyering <jim@meyering.net>
+
+ On systems without utime and without a utimes function capable of
+ dealing with a NULL struct utimbuf* argument, this utime replacement
+ could -- in unusual circumstances -- leak a file descriptor.
+ * utime.c: Include <unistd.h> and <errno.h>.
+ (utime_null): Be sure to close `fd' and to preserve errno.
+ Reported by Geoff Collyer via Arnold Robbins.
+
+2003-11-13 Jim Meyering <jim@meyering.net>
+
+ * xalloc.h, xstrtol.c: Update from gnulib.
+
+2003-11-11 Jim Meyering <jim@meyering.net>
+
+ * ftw.c, ftw_.h: Remove files. No longer used.
+
+2003-11-09 Jim Meyering <jim@meyering.net>
+
+ * root-dev-ino.c, root-dev-ino.h: New files.
+ * Makefile.am (libfetish_a_SOURCES): Add root-dev-ino.c root-dev-ino.h.
+
+ * dev-ino.h: Include <sys/types.h> and <sys/stat.h>.
+
+2003-11-06 Jim Meyering <jim@meyering.net>
+
+ * free.c: New file, from gnulib.
+
+2003-10-31 Paul Eggert <eggert@twinsun.com>
+
+ * mountlist.h (struct mount_entry.me_type_malloced): New member.
+ * mountlist.c (SIZE_MAX): Define if not defined already.
+ (read_filesystem_list): Set and use me_type_malloced.
+ Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
+ whatever the type happens to be), for brevity and consistency.
+ Check for size calculation overflow on Alphas running OSF/1.
+
+2003-10-31 Jim Meyering <jim@meyering.net>
+
+ * hash.c: Include "xalloc.h" for use of xalloc_oversized.
+
+ * linebuffer.c: Include <string.h> for declaration of memset.
+
+ * alloca.c, linebuffer.c, xmalloc.c, xalloc.h: Update from gnulib.
+ * exclude.c, getgroups.c, quotearg.c, stdbool_.h: Update from gnulib.
+ * hash.c, hash-pjw.h: Update from gnulib.
+
+2003-10-25 Jim Meyering <jim@meyering.net>
+
+ * hash.c, hash.h: Update from gnulib.
+ * hash-pjw.c, hash-pjw.h: Likewise.
+ * obstack.c, obstack.h: Likewise.
+
+2003-10-25 Jim Meyering <meyering@lucent.com>
+
+ * fts_.h: Include <features.h> only if _LIBC.
+ [!_LIBC]: Define-away __THROW, __BEGIN_DECLS, __END_DECLS.
+
+2003-10-19 Jim Meyering <jim@meyering.net>
+
+ * vasnprintf.c (vasnprintf): Work around losing snprintf on
+ e.g. HPUX 10.20.
+
+2003-09-25 Jim Meyering <jim@meyering.net>
+ Bruno Haible <bruno@clisp.org>
+
+ [Update from gnulib]
+ This lets translators provide better translations for the
+ "Written by ..." part of --version output.
+ * version-etc.h: Include stdarg.h.
+ (version_etc_copyright): Declare as readonly.
+ (version_etc): Make this function variadic with a NULL-terminated list
+ of author name strings.
+ (version_etc_va): New declaration.
+ * version-etc.c: Include stdarg.h, stdlib.h.
+ (version_etc_copyright): Declare as readonly.
+ (version_etc_va): New function. Provide a different translatable string
+ for each possible number of authors < 10. Abbreviate when there are 10
+ authors or more.
+ (version_etc): Make this function variadic. Call version_etc_va.
+ Suggestion from Gary V. Vaughan.
+
+ * long-options.h (parse_long_options): Change prototype: the authors
+ string is moved to the end and becomes variadic.
+ * long-options.c: Include stdarg.h.
+ (parse_long_options): Make this function variadic, too.
+ Call version_etc_va, not version_etc.
+
+2003-10-17 Jim Meyering <jim@meyering.net>
+
+ * xfts.c, xfts.h: New files.
+ This factors out code used by du.c, chmod.c, and chown-core.c.
+ * Makefile.am (libfetish_a_SOURCES): Add xfts.c and xfts.h.
+
+ * error.h: Update from gnulib.
+ * getpass.c: Likewise.
+ * fnmatch.c: Likewise.
+ * fnmatch_loop.c: Likewise.
+
+2003-10-16 Jim Meyering <jim@meyering.net>
+
+ * xmalloc.c: Include <string.h>, for declarations of memset and memcpy.
+
+ * getgroups.c: Update from gnulib.
+ * readutmp.c: Fix indentation, from gnulib.
+ * exclude.c: Update from gnulib.
+ * xgethostname.c: Include xgethostname.h.
+ * xgethostname.h: New file, from gnulib.
+ * Makefile.am (libfetish_a_SOURCES): Add xgethostname.h.
+
+2003-10-15 Jim Meyering <jim@meyering.net>
+
+ * userspec.h: New file.
+ * userspec.c: Include "userspec.h".
+ * Makefile.am (libfetish_a_SOURCES): Add userspec.h.
+
+2003-10-14 Paul Eggert <eggert@twinsun.com>
+
+ Fix some number-parsing bugs, e.g., "head -n 100k@" wasn't
+ properly diagnosed.
+ * human.c, xstrtoimax.c, xstrtol.c, xstrtol.h, xstrtoul.c, xstrtoumax.c:
+ Sync with gnulib.
+
+2003-10-13 Paul Eggert <eggert@twinsun.com>
+
+ * xalloc.h, xmalloc.c, xstrdup.c: Import latest version from gnulib.
+
+2003-09-29 Paul Eggert <eggert@twinsun.com>
+
+ * Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
+
+2003-10-02 Jim Meyering <jim@meyering.net>
+
+ Don't require that the maximum length of a file name
+ encountered in a traversal fit in an `unsigned short',
+ and fix some portability bugs (don't depend on gcc).
+
+ * fts.c: Include "fts_.h", not <fts.h>.
+ (ALIGNBYTES) [!(__GNUC__ >= 2)]: Add a definition that works with
+ compilers that don't have __alignof__.
+ (MAX): Use a definition that doesn't depend on gcc.
+ (fts_build): Make `len' and `maxlen' be of type size_t, not int.
+ Test for overflow in a less type-dependent manner.
+ Test HAVE_STRUCT_DIRENT_D_TYPE, rather than
+ defined DT_DIR && defined _DIRENT_HAVE_D_TYPE.
+ (fts_palloc): Test for overflow in a less type-dependent manner.
+ (fts_safe_changedir): Use stat, not stat64.
+ Use fstat, not __fxstat64(_STAT_VER.
+
+ * fts_.h [FTS] (fts_pathlen): Change type from int to size_t.
+ [FTSENT] (fts_pathlen): Change type from u_short to size_t.
+ (fts_level): Change type from u_short to int.
+
+ * Makefile.am (libfetish_a_SOURCES): Add fts.c fts_.h.
+ Remove ftw_.h.
+
+2003-09-29 Paul Eggert <eggert@twinsun.com>
+
+ * strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
+ Fix arg typo in previous patch.
+
+2003-09-28 Jim Meyering <jim@meyering.net>
+
+ * error.c: Update from gnulib.
+
+2003-09-19 Jim Meyering <jim@meyering.net>
+
+ * version-etc.h: (version_etc): Rename parameter, authors,
+ to written_by.
+ * version-etc.c: (version_etc): Likewise.
+ Combine fprintf and following putc('\n'.
+
+ * version-etc.c, version-etc.h: Revert yesterday's changes.
+ * long-options.c, long-options.h: Likewise.
+
+2003-09-18 Jim Meyering <jim@meyering.net>
+
+ This lets translators provide better translations for the
+ `Written by ...' part of --version output.
+ * version-etc.c: Include stdarg.h, stdlib.h, string.h, and xalloc.h.
+ (version_etc): Make this function variadic,
+ with a NULL-terminated list of author name strings.
+ (version_etc_va): New function.
+ Suggestion from Gary V. Vaughan.
+ * version-etc.h (version_etc_va): Declare it.
+
+ * long-options.c: Include stdarg.h.
+ (parse_long_options): Make this function variadic (authors), too.
+ Call version_etc_va, not version_etc.
+ * long-options.h (parse_long_options): Update prototype.
+
+2003-09-16 Paul Eggert <eggert@twinsun.com>
+
+ * linebuffer.c (readlinebuffer): Return NULL immediately upon
+ input error, instead of returning NULL the next time we are called
+ (and therefore losing track of errno).
+
+2003-09-15 Paul Eggert <eggert@twinsun.com>
+
+ * getndelim2.c (getndelim2): Don't trash errno when a read
+ fails, so that the caller gets the proper errno.
+
+ * readutmp.c (read_utmp): Likewise.
+ Check for fstat error. Close stream and free storage
+ when failing.
+
+2003-09-14 Jim Meyering <jim@meyering.net>
+
+ * argmatch.c: Update from gnulib.
+
+ * Makefile.am (libfetish_a_SOURCES): Add exit.h, strndup.h,
+ time_r.c, time_r.h.
+
+2003-09-13 Jim Meyering <jim@meyering.net>
+
+ * setenv.c, strcspn.c, strdup.c, strndup.c, strnlen.c, strpbrk.c:
+ * strstr.c, strtod.c, strtoimax.c, tempname.c, unicodeio.c, userspec.c:
+ * vasprintf.h, xgethostname.c, xreadlink.c, xstrdup.c, xstrndup.c:
+ * xstrndup.h, xstrtod.c, xstrtol.c, yesno.c: Update from gnulib.
+ * strndup.h: New file, from gnulib.
+ * exit.h: New file, from GNU gettext, via gnulib.
+
+2003-09-06 Paul Eggert <eggert@twinsun.com>
+
+ * time_r.c, time_r.h: New files.
+
+ * mktime.c (my_mktime_localtime_r): Remove; all uses changed to
+ __localtime_r.
+ (__localtime_r) [!defined _LIBC]: New macro. Include <time_r.h>.
+ (__mktime_internal) [!defined _LIBC]: Now extern, not static.
+
+ * strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
+ __gmtime_r.
+ (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
+ (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
+ Include <time_r.h>.
+
+2003-09-13 Jim Meyering <jim@meyering.net>
+
+ * strtol.c: Update from gnulib.
+
+2003-09-12 Paul Eggert <eggert@twinsun.com>
+
+ * argmatch.c, xgethostname.c, xmalloc.c: Include exit.h.
+ * obstack.c [!defined _LIBC]: Likewise.
+ * argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
+ * exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
+ * exitfail.c: Don't include stdlib.h; no longer needed.
+
+2003-09-12 Paul Eggert <eggert@twinsun.com>
+
+ * error.c (error_tail): Assume vprintf.
+
+2003-09-09 Paul Eggert <eggert@twinsun.com>
+
+ More K&R removal.
+
+ * getloadavg.c (getloadavg, main): Define via prototypes.
+
+ * getopt.h (struct option.name): Assume C89, and use 'const'.
+ (getopt, etopt_long, getopt_long_only, _getopt_internal)
+ [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
+ with a prototype.
+ * getopt.c (const): Remove macro.
+ Include <string.h> unconditionally.
+ (my_index): Remove; all uses changed to strchr.
+ (strlen): Remove decl.
+ (exchange): Remove forward decl; no longer needed.
+ (exchange, _getopt_initialize, _getopt_internal, getopt, main):
+ Define with prototype.
+ * getopt1.c (const): Remove macro.
+ (getopt_long, getopt_long_only, main): Define with prototype.
+
+ * getugroups.c: Include <string.h> unconditionally.
+
+ * getusershell.c: Include <stdlib.h> unconditionally.
+ (getusershell, setusershell, endusershell, readname, main):
+ Define with prototypes.
+
+ * group-member.c: Include group-member.h first.
+ Include <stdlib.h> unconditionally.
+
+ * hard-locale.c: Include hard-locale.h first.
+ Include <stdlib.h>, <string.h> unconditionally.
+
+ * hash.c (free, malloc): Remove decls.
+ Include <stdlib.h> unconditionally.
+
+ * human.c: Include <stdlib.h>, <string.h> unconditionally.
+ (getenv): Do not declare.
+
+ * idcache.c: Include <string.h> unconditionally.
+
+ * long-options.c: Include long-options.h first, to test interface.
+ Include <stdlib.h> unconditionally.
+
+ * makepath.c: Include makepath.h first, to test interface.
+ Include <stdlib.h> and <string.h> unconditionally.
+
+ * linebuffer.c: Include <stdlib.h>.
+ (free): Remove decl.
+
+ * malloc.c: Include <stdlib.h>, for malloc; don't bother with stddef.h.
+ rpl_malloc returns void *, not char *.
+ * realloc.c (rpl_realloc): Likewise. Also, define with a prototype.
+
+ * md5.h: Include <limits.h> unconditionally.
+ (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
+ (__P): Remove; all uses removed.
+ * md5.c: Include "md5.h" first.
+ (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
+ md5_buffer, md5_process_bytes, md5_process_block):
+ Define with prototypes.
+ * sha.h (__P): Remove all uses. (It wasn't defined??)
+ * sha.c: Include "sha.h" first.
+ Include <stdlib.h>, <string.h> unconditionally.
+
+ * memchr.c (__ptr_t): Remove; all uses changed to void *.
+ * memcmp.c (__ptr_t): Likewise.
+ * memrchr.c (__ptr_t): Likewise.
+ * memchr.c, memcmp.c, memcoll.c, memrchr.c:
+ Include <string.h> unconditionally.
+ * memchr.c, memrchr.c: Include <limits.h> unconditionally.
+ * memchr.c: Include <stdlib.h> unconditionally.
+ * memchr.c (LONG_MAX): Remove.
+ * memrchr.c (LONG_MAX): Likewise.
+ * memchr.c (__memchr): Define via a prototype.
+ * memrchr.c (__memrchr): Likewise.
+ * memcmp.c (__P): Remove, and remove all uses.
+ (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
+ Remove forward decls; no longer needed.
+ * memcpy.c, memmove.c, memset.c: Include <stddef.h>.
+ Use types required by C89 in prototype.
+
+ * mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
+ * savedir.c: Likewise.
+ * mkdir.c (free): Remove decl.
+ * rmdir.c (rmdir): Define with a prototype.
+ * savedir.c: Include savedir.h first, to test interface.
+
+ * mktime.c (STDC_HEADERS): Remove.
+ Include <stdlib.h>, <string.h> unconditionally.
+
+ * modechange.c: Include <stdlib.h> unconditionally.
+ (malloc): Remove decl.
+
+ * mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
+ (free): Remove decl.
+
+ * obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
+ Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
+ (This type really should be intptr_t, but that's a C99ism.)
+ (_obstack_memcpy): Remove: all uses changed to memcpy.
+ Include <string.h> unconditionally.
+ (struct obstack): Assume __STDC__ for types of members
+ chunkfun, freefun, extra_arg.
+ (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
+ _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
+ obstack_begin, obstack_specify_allocation,
+ obstack_specify_allocation_with_arg, obstack_chunkfun,
+ obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
+ Remove unprototyped decls and the macros that use them.
+ * obstack.c (POINTER): Remove. All uses changed to void *.
+ (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
+ _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
+ (defined __STDC__ && __STDC__)]:
+ Remove nonprototyped code.
+ Include <stdlib.h> unconditionally.
+ (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
+ _obstack_allocated_p, _obstack_free, obstack_free,
+ _obstack_memory_used, print_and_abort):
+ Define using prototypes.
+ (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
+ obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
+ obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
+ obstack_next_free, obstack_object_size, obstack_room) [0]:
+ Remove unused, unprototyped code.
+
+ * path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
+
+ * physmem.c (physmem_total, physmem_available, main): Define
+ with prototypes.
+
+ * posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
+ (main): Define with a prototype.
+
+ * posixver.c (getenv): Remove decl.
+
+ * putenv.c (malloc): Returns void *, not char *.
+ Include <string.h> unconditionally.
+ (strchr, memcpy, NULL): Do not define.
+
+ * readtokens.c: Include readtokens.h first, to test interface.
+ Include <stdlib.h>, <string.h> unconditionally.
+ (init_tokenbuffer): Define with a prototype.
+
+ * regex.c (PARAMS): Remove. All uses removed.
+ All uses of _RE_ARGS removed, too.
+ Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
+ unconditionally.
+ (bzero): Assume memset exists.
+ (memcmp, memcpy, NULL): Remove.
+ (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
+ char, or assignments to local vars of type signed char.
+ (init_syntax_once, PREFIX(extract_number_and_incr),
+ PREFIX(print_partial_compiled_pattern),
+ PREFIX(print_compiled_pattern), PREFIX(print_double_string),
+ convert_mbs_to_wcs, print_fastmap, re_set_syntax,
+ PREFIX(regex_grow_registers), PREFIX(regex_compile),
+ PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
+ PREFIX(insert_op2), PREFIX(at_begline_loc_p),
+ PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
+ wcs_compile_range, byte_compile_range, truncate_wchar,
+ PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
+ re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
+ count_mbs_length, wcs_re_match_2_internal,
+ byte_re_match_2_internal, PREFIX(group_match_null_string_p),
+ PREFIX(alt_match_null_string_p),
+ PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
+ re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
+ regfree, PREFIX(extract_number)): Define with prototype. Remove
+ now-unnecessary declaration, if any.
+ (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
+ regcomp, regexec):
+ Remove now-unnecessary casts among pointer types.
+ * regex.h (_RE_ARGS): Remove. All uses removed.
+
+ * rename.c: Include <stdlib.h>, <string.h> unconditionally.
+ (free): Remove decl.
+
+ * rpmatch.c: Include <stdlib.h> unconditionally.
+
+ * save-cwd.c: Include <stdlib.h> unconditionally.
+ * xgetcwd.c: Likewise.
+
+ * stat.c: Include <stdlib.h>, <string.h> unconditionally.
+ (free): Remove decl.
+
+ The following changes are not K&R related:
+
+ * group-member.h: Include <sys/types.h>, so that this file is
+ self-contained.
+ * makepath.h: Likewise.
+
+ * getusershell.c (readname, default_index, line_size, readname):
+ Use size_t, not int, for sizes.
+ (readname): If the size overflows, report an error instead of
+ looping forever.
+
+2003-09-09 Derek Robert Price <derek@ximbiot.com>
+
+ * getndelim2.c: Assume stdlib.h per the C89 spec.
+
+2003-09-08 Paul Eggert <eggert@twinsun.com>
+
+ Assume C89 or better; remove K&R cruft.
+ A few of these changes were first proposed by Derek Robert Price
+ in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
+
+ * addext.c: Include <string.h> unconditionally.
+ * backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
+ Don't declare getenv or malloc.
+
+ * alloca.c: Include <string.h>, <stdlib.h> unconditionally.
+ (POINTER_TYPE, pointer): Remove; all uses changed to void *.
+ (NULL): Remove.
+ (find_stack_direction, alloca): Use prototypes.
+
+ * atexit.c (atexit): Define using a prototype.
+
+ * basename.c, dirname.c, stripslash.c:
+ Include <string.h> unconditionally.
+
+ * bcopy.c: Include <stddef.h>.
+ (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
+
+ * canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
+
+ * error.h (error, error_at_line, error_print_progname)
+ [! (defined (__STDC__) && __STDC__)]: Remove decls.
+ * error.c: Include error.h first, to check interface.
+ Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
+ (VA_START): Remove; all uses changeed to va_start.
+ (exit, strerror): Remove decls.
+ (error_print_progname): Prototype uncondionally.
+ Don't include <errno.h>; no longer needed.
+ (private_strerror): Remove.
+ (error_tail): Always define.
+ (error, error_at_line): Assume C89 or better; always use prototypes.
+
+ * euidaccess.c (main): Define with a prototype.
+
+ * exclude.c: Include <stdlib.h>, <string.h> unconditionally.
+
+ * exitfail.c: Include <stdlib.h> unconditionally.
+
+ * fnmatch_.h (__P): Remove. All uses changed to assume prototypes.
+ * fnmatch.c: Include fnmatch.h first, to test interface.
+ Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
+ (getenv): Remove decl.
+ (fnmatch): Define using a prototype.
+ * fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
+ (FCT): Define using a prototype.
+
+ * getdate.y: Include <stdlib.h>, <string.h> unconditionally.
+
+ * gethostname.c: Include <stddef.h>.
+ (gethostname): Define with prototype. Length is size_t, not int.
+
+2003-09-08 Paul Eggert <eggert@twinsun.com>
+
+ * utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
+ (utime_null): Fix typo: 'st' was sometimes called 'sb'.
+
+2003-09-09 Jim Meyering <jim@meyering.net>
+
+ * getversion.c: Remove unused file. Reported by Paul Eggert.
+
+2003-09-03 Paul Eggert <eggert@twinsun.com>
+
+ * human.c (human_readable): Fix bug that rounded 10501 to 10k.
+ Bug reported by Lute Kamstra in
+ <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
+
+ * getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
+ "yesterday", "today", and "now" rather than tMINUTE_UNIT. Of
+ course with correspondingly smaller numbers for tomorrow and
+ yesterday. From Tadayoshi Funaba. Originally installed into
+ sh-utils on 1999-08-07, but the patch was mistakenly reverted by
+ the next change to that shared file (but this time in fileutils)
+ on 1999-08-29.
+
+2003-08-18 Paul Eggert <eggert@twinsun.com>
+
+ * same.c: Include <stdlib.h> and <string.h> unconditionally,
+ as we're now assuming that part of hosted C89.
+ (free) [!HAVE_DECL_FREE]: Remove decl; no longer needed.
+ (same_name): Invoke pathconf on destination, not source, as
+ that's a bit clearer even if they are the same dir.
+
+2003-08-18 Jim Meyering <jim@meyering.net>
+
+ * getopt.h: Remove space before TAB.
+
+2003-08-17 Paul Eggert <eggert@twinsun.com>
+
+ * same.c: Include <stdbool.h>, <limits.h>.
+ (_POSIX_NAME_MAX): Define if not defined.
+ (MIN): New macro.
+ (same_name): If file names are silently truncated, report
+ that the file names are the same if they are the same after
+ the silent truncation.
+
+2003-08-16 Paul Eggert <eggert@twinsun.com>
+
+ Merge from gnulib.
+ * Makefile.am (libfetish_a_SOURCES): Remove getndelim2.c,
+ getndelim2.h, xstrtoimax.c. Add localcharset.h.
+ (CLEANFILES, SUFFIXES): Initialize to empty.
+ (EXTRA_DIST): Add getndelim2.c, getndelim2.h.
+ (install-exec-local): Use $(GLIBC21), not @GLIBC21@.
+ Do not mkdir libdir if not glibc21.
+ (charset.alias): @host@ -> $(host).
+ (SUFFIXES, .sin.sed, CLEANFILES): Reorder rules
+ to match gnulib module suggestions.
+ * localcharset.h, readlink.c: New files, from gnulib.
+ * asnprintf.c, asnprintf.c, asprintf.c, backupfile.h,
+ canon-host.c, config.charset, dirname.h, euidaccess.c, exclude.c,
+ fsusage.h, full-write.c, getloadavg.c, getndelim2.h, gettext.h,
+ group-member.h, hard-locale.h, hash.c, hash.h, hash-pjw.c,
+ localcharset.c, long-options.h, makepath.h, malloc.c, mbswidth.c,
+ mbswidth.h, md5.h, memcasecmp.c, memcasecmp.h, memcoll.h,
+ mkstemp.c, modechange.h, mountlist.h, path-concat.h, pathmax.h,
+ physmem.h, posixtm.h, printf-args.c, printf-args.h,
+ printf-parse.c, printf-parse.h, putenv.c, quote.h, readutmp.h,
+ ref-add.sin, ref-del.sin, safe-read.c, savedir.h, setenv.c,
+ setenv.h, stdbool_.h, strnlen.c, strpbrk.c, strtoimax.c,
+ strverscmp.h, tempname.c, unicodeio.c, unicodeio.h,
+ unistd-safer.h, unlocked-io.h, vasnprintf.c, vasnprintf.h,
+ vasprintf.c, vasprintf.h, version-etc.h, xgethostname.c,
+ xmemcoll.c, xstrtoimax.c, xstrtoumax.c: Sync with gnulib.
+
+2003-08-15 Paul Eggert <eggert@twinsun.com>
+
+ * physmem.c: Include "physmem.h" before system includes.
+
+2003-08-10 Jim Meyering <jim@meyering.net>
+
+ * utimens.c (utimens): Revert most of last change.
+ Test HAVE_WORKING_UTIMES instead of HAVE_UTIMES.
+
+2003-08-09 Jim Meyering <jim@meyering.net>
+
+ * utimens.c (utimens): Test HAVE_UTIME, not HAVE_UTIMES.
+ Prefer utime, since it works and utimes doesn't on some systems.
+ FIXME: Revert the above change once we have a working utimes
+ replacement function.
+
+2003-08-06 Paul Eggert <eggert@twinsun.com>
+
+ * Makefile.am (libeftish_a_SOURCES): Add utimens.c, utimens.h.
+ * utimens.c, utimens.h: New files.
+
+2003-08-09 Jim Meyering <jim@meyering.net>
+
+ * unicodeio.c (unicode_to_mb): Change to `Solaris 5.7' in comment.
+ * putenv.c: Likewise.
+
+ * fatal.c, fatal.h: Remove unused files.
+
+ * Makefile.am: Use the e.g., `$(FNMATCH_H)' notation for AC_SUBST'd
+ variable names, rather than @FNMATCH_H@.
+ Likewise for $(ALLOCA_H).
+ (fnmatch.h): Use `$@' in the commands, in place of the three copies
+ of the literal target, `fnmatch.h'.
+ (alloca.h): Likewise.
+
+2003-08-08 Paul Eggert <eggert@twinsun.com>
+
+ * Makefile.am (libfetish_a_SOURCES): Remove fnmatch_.h.
+ (lib_OBJECTS): New macro, for convenience when cutting and
+ pasting Makefile.am templates from gnulib.
+ (EXTRA_DIST): Remove fnmatch_loop.c.
+ (BUILT_SOURCES): Append $(FNMATCH_H).
+ * Makefile.am: Import the following changes from gnulib templates
+ for alloca and fnmatch):
+ (all-local $(lib_OBJECTS)): New dependencies.
+ (alloca.h): Use alloca.h-t for temporary.
+ (EXTRA_DIST): Append fnmatch_.h, fnmatch_loop.c.
+ (fnmatch.h): New rule.
+ (MOSTLYCLEANFILES): Add fnmatch.h, fnmatch.h-t.
+ (DISTCLEANFILES): Remove fnmatch.h
+
+2003-08-08 Jim Meyering <jim@meyering.net>
+
+ * mountlist.c (read_filesystem_list) [MOUNTED_GETFSSTAT]:
+ Use MNT_NOWAIT, rather than MNT_WAIT. Otherwise, `df DIR' could
+ hang on OSF/1 5.1 for DIR on both local and remote file systems.
+ Reported by (and fix confirmed by) Nelson H. F. Beebe.
+
+2003-08-07 Jim Meyering <jim@meyering.net>
+
+ * regex.h (RE_SYNTAX_POSIX_AWK): Remove SPACE in SPACE-TAB sequence.
+
+2003-08-05 Paul Eggert <eggert@twinsun.com>
+
+ Merge getline from gnulib.
+ * getline.h, getline.c: Merge from gnulib.
+ * getndelim2.h, getndelim2.c: New files, from gnulib.
+ * getdelim2.c, getdelim2.h: Remove.
+ * Makefile.am (libfetish_a_SOURCES): Change getdelim2.c and
+ getdelim2.h to getndelim2.c and getndelim2.h.
+
+2003-08-04 Paul Eggert <eggert@twinsun.com>
+
+ * regex.c, regex.h: Sync with gnulib.
+
+2003-08-03 Paul Eggert <eggert@twinsun.com>
+
+ * stdbool_.h (_Bool): Use a #define, not a typedef.
+
+2003-07-31 Paul Eggert <eggert@twinsun.com>
+
+ * bumpalloc.h: Remove.
+ * Makefile.am (libfetish_a_SOURCES): Remove bumpalloc.h.
+
+2003-07-28 Jim Meyering <jim@meyering.net>
+
+ * stdbool_.h: Renamed from stdbool.hin.
+ * Makefile.am: Reflect renaming: stdbool.hin -> stdbool_.h.
+ * stdbool.hin: Remove file.
+
+2003-07-28 Paul Eggert <eggert@twinsun.com>
+
+ * stdbool.hin (_Bool): Make it signed char, instead of
+ an enum type, so that it's guaranteed to promote to int.
+
+2003-07-23 Jim Meyering <jim@meyering.net>
+
+ * xstrndup.h: New file.
+ * xstrndup.c: New file, factored out of dircolors.c from coreutils.
+ * Makefile.am (libfetish_a_SOURCES): Add xstrndup.c and xstrndup.h.
+
+2003-07-23 Jim Meyering <jim@meyering.net>
+
+ * lstat.c, save-cwd.c, stat.c, utime.c, xgethostname.c: Normalize
+ naming of Sun operating systems in comments, e.g., SunOS4 -> SunOS 4,
+ Solaris5.9 -> Solaris 9. From Paul Eggert.
+
+2003-07-22 Paul Eggert <eggert@twinsun.com>
+
+ * xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
+ over-parenthesization in macros.
+
+2003-07-18 Paul Eggert <eggert@twinsun.com>
+
+ * closeout.h (close_stdout_set_status, close_stdout_status): Remove.
+ * closeout.c: Likewise. Include "closeout.h" right after config.h,
+ to test that it can stand by itself. Include "exitfail.h".
+ Clients should set exit_failure instead.
+ (EXIT_FAILURE): Remove; no longer needed. Do not include <stdlib.h>.
+
+2003-07-18 Andreas Schwab <schwab@suse.de>
+
+ * memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
+
+2003-07-17 Paul Eggert <eggert@twinsun.com>
+
+ * xalloca.h, xmalloc.c, xmemcoll.c, xmemcoll.h:
+ Merge with gnulib. Use a single exit_failure variable rather
+ than a separate one for each module.
+
+2003-07-16 Jim Meyering <jim@meyering.net>
+
+ * Makefile.am (AM_CPPFLAGS): Rename from `INCLUDES', to avoid
+ warning from automake -Wall.
+
+2003-07-14 Jim Meyering <jim@meyering.net>
+
+ * save-cwd.h: Add copyright.
+
+2003-07-13 Jim Meyering <jim@meyering.net>
+
+ * xgethostname.c: Include <stdlib.h> for declaration of free.
+ (xgethostname): Return NULL, rather than exiting, upon any
+ non-malloc/realloc error.
+
+2003-07-12 Jim Meyering <jim@meyering.net>
+
+ * Makefile.am (BUILT_SOURCES): Use `BUILT_SOURCES += $(STDBOOL_H)'
+ rather than `all-local: $(STDBOOL_H)'. The latter didn't force
+ creation of stdbool.h before most other targets.
+ Likewise for $(ALLOCA_H).
+
+ Don't emit diagnostics. Let callers do that.
+ * save-cwd.c: Don't include "error.h".
+ (save_cwd): Don't call error. Ensure that errno is valid
+ when returning nonzero.
+
+ * obstack.h: Update from gnulib.
+
+ * makepath.c (make_path): Enclose diagnostic in _(...).
+
+2003-07-10 Jim Meyering <jim@meyering.net>
+
+ * userspec.c: Include "posixver.h".
+ (parse_user_spec): Accept `.' as a separator only
+ in pre-POSIX-200112 mode.
+
+ * Makefile.am (libfetish_a_SOURCES): Add these:
+ printf-args.h, printf-parse.h, vasprintf.h, vasnprintf.h.
+
+ Now that a program (`who') uses asprintf, we need all of these:
+ * asnprintf.c, asprintf.c, printf-args.c, printf-args.h, printf-parse.c:
+ * printf-parse.h, vasnprintf.c, vasnprintf.h, vasprintf.c, vasprintf.h:
+ New files, from gnulib.
+
+ * alloca_.h, getpass.c, memrchr.c, obstack.h, posixver.c,
+ strftime.c, strnlen.c, strverscmp.c: Switch from LGPL to GPL.
+
+2003-07-09 Jim Meyering <jim@meyering.net>
+
+ * mktime.c: Update from gnulib.
+ FIXME: but still need to adjust m4/mktime.c so that this fixed
+ version is used when needed.
+
+ Fix the bug that would make `du /' omit the `/' on the last line.
+ E.g., `du --exclude '[^/]*' -x /' would print only "4\t\n" for me.
+ * ftw.c (ftw_dir): Don't clobber the leading `/'.
+ Reported by Chris Lesniewski as http://bugs.debian.org/200542.
+
+2003-07-04 Jim Meyering <jim@meyering.net>
+
+ Update from gnulib.
+ * xreadlink.c: Include <sys/types.h> unconditionally, instead of
+ having it depend on HAVE_SYS_TYPES_H.
+
+2003-06-18 Jim Meyering <jim@meyering.net>
+
+ * inttostr.h (PARAMS): Remove. All uses removed.
+
+ Merge in change from gnulib.
+ * makepath.c: Remove block of alloca-related code in favor
+ of an unconditional `#include <alloca.h>'.
+
+ * xalloc.h: Include <stddef.h>.
+ Remove unnecessary parentheses.
+ Use `1990-2000' notation in Copyright line until Emacs'
+ copyright-update function learns how to handle a comma-separated
+ list of years that spans a line boundary.
+
+ * Makefile.am (libfetish_a_SOURCES): Add getdelim2.c and getdelim2.h.
+
+ * getline.c (getdelim2): Move this function into its own file.
+ * getdelim2.c: Extracted from getline.c.
+
+ * linebuffer.c, linebuffer.h: Update from gnulib.
+
+ * getdelim2.c, getdelim2.h: New files.
+ * getstr.c, getstr.h: Remove files.
+
+ * same.h: Update from gnulib.
+ * xstrtol.h: Update from gnulib.
+
+2003-06-17 Paul Eggert <eggert@twinsun.com>
+
+ Assume C89, so PARAMS isn't needed.
+ * backupfile.h (PARAMS): Remove. All uses removed.
+ * closeout.h, dirname.h, filemode.h, fsusage.h, getdate.h, getline.h,
+ group-member.h, hard-locale.h, hash.h, linebuffer.h, long-options.h,
+ makepath.h, memcasecmp.h, memcoll.h, modechange.h, mountlist.h,
+ path-concat.h, physmem.h, posixtm.h, quote.h, readutmp.h, same.h,
+ save-cwd.h, savedir.h, stdio-safer.h, strtoimax.c, strverscmp.h,
+ unistd-safer.h, version-etc.h, xalloc.h, xreadlink.h, xstrtod.h,
+ xstrtol.h: Likewise.
+ * filemode.h, hard-locale.h, memcoll.h, modechange.h, physmem.h, same.h,
+ * strverscmp.h: Do not include config.h; no longer needed.
+ Anyway, config.h should always be included before any other file.
+
+2003-06-17 Jim Meyering <jim@meyering.net>
+
+ * getline.c: Update from gnulib.
+
+ Merge in changes from gnulib.
+ * hash.c: Include <stdbool.h> unconditionally.
+ Include <limits.h>.
+ (CHAR_BIT): Don't define.
+
+2003-06-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * acl.c: Include <sys/types.h> before <sys/stat.h>.
+ Required on Ultrix 4.3.
+
+2003-05-20 Derek Price <derek@ximbiot.com>
+
+ * stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is necessary.
+
+2003-06-10 Jim Meyering <jim@meyering.net>
+
+ * getdate.y: Also accept dates of the form May-23-2003.
+ Suggestion from Karl Berry.
+
+2003-06-09 Jim Meyering <jim@meyering.net>
+
+ * gettimeofday.c: Also undefine gmtime.
+ (rpl_gmtime): New function. Suggestion from Paul Eggert.
+
+2003-06-08 Jim Meyering <jim@meyering.net>
+
+ * getline.h: Update from gnulib.
+
+ Clean up, as part of merge with emacs version of strftime.c.
+ * strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
+ Remove function, now that we can rely on a working tzset function.
+ [!_LIBC]: Ensure that the required autoconf test has been run.
+ * gettimeofday.c: Also undef tzset.
+ (rpl_tzset): New function, for use by new macro, gl_FUNC_TZSET_CLOBBER.
+
+2003-06-07 Jim Meyering <jim@meyering.net>
+
+ * readtokens.h: Add copyright notice.
+ Include <stdio.h>.
+ Remove definition and uses of __P.
+
+ * readtokens.c: Put `Free Software Foundation, Inc.' in place of
+ my name in the copyright comment.
+ (init_tokenbuffer): Remove unnecessary parentheses around malloc.
+
+ Update from gnulib.
+ * getdate.y: Include alloca.h unconditionally.
+ * xmemcoll.h: Include <stddef.h>.
+
+ * Makefile.am (MOSTLYCLEANFILES): Add alloca.h and alloca.ht.
+ (MOSTLYCLEANFILES): Add stdbool.ht.
+
+ * human.c: Include <stdio.h>, once again, for declaration of sprintf.
+
+ Update from gnulib.
+ * tempname.c: Include <stddef.h> unconditionally.
+ Include <inttypes.h> as an alternative to <stdint.h>.
+ * strtoimax.c: Include <stdint.h> as an alternative to <inttypes.h>.
+ * xstrtol.h: Likewise.
+ * xstrtoimax.c: Likewise.
+ * xstrtoumax.c: Likewise.
+
+ Update from gnulib.
+ * strcasecmp.c: Include <stddef.h>, not <sys/types.h>.
+ * savedir.c: Include <stddef.h>.
+ (NULL): Don't define, since <stddef.h> does that.
+
+2003-06-06 Jim Meyering <jim@meyering.net>
+
+ Update from gnulib.
+ * rpmatch.c: Include <limits.h> without checking for HAVE_LIMITS_H.
+ Include <stddefs.h> unconditionally.
+ (NULL): Don't define, since <stddef.h> does that.
+ * rename.c: #undef rename before defining rpl_rename.
+ [HAVE_CONFIG_H]: Guard inclusion of config.h.
+ * putenv.c: Include <stddef.h> rather than <sys/types.h>,
+ as we merely need size_t.
+ * realloc.c: Likewise.
+ * quote.c: Don't include <stddef.h> or <sys/types.h>; not needed.
+ * modechange.c: Include <stddef.h>.
+ (NULL): Don't define, since <stddef.h> does that.
+ * memcoll.h: Include <stddef.h>, to get size_t.
+ * memcoll.c: Include "memcoll.h", which gets us size_t and checks
+ our interface, instead of including <sys/types.h>
+ (memcoll): Fall back on a simple algorithm using
+ memcmp if strcoll doesn't work.
+ * memcasecmp.h: Include <stddef.h>.
+ * memcasecmp.c: Don't include <sys/types.h>.
+
+ From gnulib.
+ * alloca_.h: New file.
+ * Makefile.am (EXTRA_DIST): Add alloca_.h.
+ (all-local $(lib_OBJECTS)): Depend on $(ALLOCA_H).
+ (alloca.h): New rule.
+
+ * addext.c: Update from gnulib.
+ * backupfile.c: Likewise.
+ * config.charset: Likewise.
+ * dirname.h: Likewise.
+ * fsusage.c: Likewise.
+ * userspec.c: Likewise.
+ * xreadlink.c: Likewise.
+ * xstrtol.c: Likewise.
+ * __fpending.h: Likewise.
+
+ * md5.c: Include <string.h> and <stdlib.h> unconditionally.
+ (memcpy): Remove definition.
+
+ * posixtm.c: Include <stdbool.h> unconditionally.
+
+2003-06-05 Jim Meyering <jim@meyering.net>
+
+ From gnulib.
+ * mktime.c: Assume freestanding C89 or better.
+ (HAVE_LIMITS_H): Remove. Assume it's 1.
+ (__P): Remove; not used.
+ (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
+ (mktime, not_equal_tm, print_tm, check_result,
+ main): Use prototypes. Use const * where appropriate.
+ (main): Fix typo in testing code that uncovered by above changes.
+ (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
+
+2003-06-04 Paul Eggert <eggert@twinsun.com>
+
+ Merge human.c etc. from gnulib.
+ * exclude.c, human.c, human.h: Merge from gnulib.
+ * cycle-check.c, cycle-check.h, src/system.h:
+ Include <stdbool.h> unconditionally.
+
+2003-06-02 Jim Meyering <jim@meyering.net>
+
+ * stdbool.hin: New file. From gnulib.
+ * Makefile.am (MOSTLYCLEANFILES): Initialize.
+ (stdbool.h): New rule.
+ (all-local $(lib_OBJECTS)): Depend on $(STDBOOL_H)
+ (MOSTLYCLEANFILES): Add stdbool.h.
+ (EXTRA_DIST): Add stdbool.h.
+
+2003-05-30 Jim Meyering <jim@meyering.net>
+
+ * addext.c: Update from gnulib.
+ * mktime.c: Likewise.
+
+2003-05-29 Jim Meyering <jim@meyering.net>
+
+ Make the %r format directive honor any locale setting.
+ * strftime.c: (my_strftime) [!defined _NL_CURRENT && HAVE_STRFTIME]:
+ Use underlying_strftime for %r.
+
+2003-05-15 Jim Meyering <jim@meyering.net>
+
+ * getopt.h: Remove a space before a TAB.
+
+2003-05-13 Jim Meyering <jim@meyering.net>
+
+ * setenv.c (setenv): Don't apply cast to argument of free.
+ * putenv.c (rpl_putenv): Likewise.
+ * alloca.c (alloca): Likewise.
+
+2003-05-12 Jim Meyering <jim@meyering.net>
+
+ * ftw.c (ftw_startup): Always call free_cwd after restore_cwd.
+ Reported by Matti Aarnio as
+ https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=90563.
+ Forwarded by Tim Waugh.
+
+ * strftime.c (my_strftime): Let the `-' (no-pad) flag affect
+ the space-padded-by-default conversion specifiers, %e, %k, %l.
+
+2003-05-07 Paul Eggert <eggert@twinsun.com>
+
+ * xnanosleep.c (timespec_subtract): Don't modify the 2nd arg.
+ Work even if X-Y overflows when subtracting. Make explicit the
+ assumption that tv_nsec must be in range.
+ (clock_get_realtime): Remove. All callers changed to invoke gettime,
+ for simplicity.
+ (xnanosleep): Check for gettime failure every time.
+
+2003-05-06 Jim Meyering <jim@meyering.net>
+
+ * xnanosleep.c (clock_get_realtime): Use gettime.c's gettime function,
+ rather than an inferior, open-coded version that would fail on
+ AIX systems due to clock_gettime failing with errno == ENOSYS.
+ Reported by Jérôme Zago.
+
+2003-05-05 Jim Meyering <jim@meyering.net>
+
+ Avoid array overrun.
+ * ftw.c (nftw_arr): Update to reflect complete list of members.
+ (ftw_arr): Likewise
+ Reported by Olatunji Oluwabukunmi Ruwase.
+
+ Make it less likely that the above can happen again.
+ * ftw.c (struct dummy): Ensure that at least the number of
+ initializers matches the number of members in the corresponding enum.
+ * ftw_.h (enum Ftw_option): Name this previously-anonymous enum.
+ (enum Ftw_option) [FTW_N_MEMBERS]: New member.
+
+2003-05-04 Jim Meyering <jim@meyering.net>
+
+ * setenv.c (__set_errno, LOCK, UNLOCK): Define.
+ (unsetenv): Update from GNU libc.
+ Ifdef-out this function, since the only caller
+ is putenv.c and that file now has its own copy.
+
+ This avoids a core dump on systems without GNU putenv,
+ when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
+ * putenv.c (__set_errno, LOCK, UNLOCK): Define.
+ (unsetenv): New static function, from GNU libc.
+ (rpl_putenv): Use it.
+
+2003-05-02 Jim Meyering <jim@meyering.net>
+
+ * canonicalize.c (canonicalize_file_name) [!HAVE_RESOLVEPATH]:
+ A memory-allocation error could result in heap corruption. Fix it
+ by also updating `dest' when rpath may be changed by xrealloc.
+
+2003-04-15 Jim Meyering <jim@meyering.net>
+
+ * getloadavg.c: Remove (or replace-with-TAB(s) to retain alignment)
+ each sequence of spaces before a TAB character.
+ * md5.c, getopt.c, getopt.h, obstack.h, strftime.c: Likewise.
+
+2003-04-11 Jim Meyering <jim@meyering.net>
+
+ * readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
+
+ * canonicalize.c, exclude.c, getgroups.c, getusershell.c:
+ * group-member.c, idcache.c, mountlist.c, readtokens.c, readutmp.c:
+ * bumpalloc.h: Remove anachronistic casts of xmalloc, xrealloc,
+ and xcalloc return values.
+
+ * xalloc.h (PARAMS): Remove definitions and uses.
+ (XMALLOC, XCALLOC, XREALLOC): Remove unnecessary casts.
+
+ * xmalloc.c: Remove use of PARAMS.
+
+2003-04-10 Jim Meyering <jim@meyering.net>
+
+ * canonicalize.c (canonicalize_file_name) [HAVE_RESOLVEPATH]: Remove
+ stray semicolon that caused `readlink --canonical RELATIVE_NAME' to
+ fail on e.g., Solaris systems. Reported by Bruce Korb.
+ (canonicalize_file_name): Return NULL immediately if resolvepath fails.
+ Otherwise, `readlink --canonical /no-such-file' would exhaust
+ virtual memory on some systems (e.g. Solaris).
+ (canonicalize_file_name): Always free `extra_buf' before returning.
+ (canonicalize_file_name): NUL-terminate the result.
+
+2003-04-05 Jim Meyering <jim@meyering.net>
+
+ * Makefile.am (DEFS): Use += notation rather than `DEFS = ... @DEFS@'.
+ Use $(VAR) rather than @VAR@, now that we can rely on automake to
+ emit a definition for each substituted variable.
+
+2003-03-26 Richard Dawe <rich@phekda.freeserve.co.uk>
+
+ * dirname.c [TEST_DIRNAME]: Update build instructions for test.
+ Add test-cases for DOS filenames. Declare program_name.
+ (main): Set up program_name.
+
+2003-03-22 Jim Meyering <jim@meyering.net>
+
+ * strftime.c (widen): Cast alloca return value to proper type.
+
+ * fnmatch_loop.c
+ (NEW_PATTERN): Cast alloca return value to proper type.
+ Otherwise, it wouldn't compile with at least /bin/cc on
+ ymp-cray-unicos9.0.2.X.
+ Combine two mostly-identical uses of alloca into one.
+ Thanks to the Cray-Cyber project for access to a Cray Y-MP.
+
+2003-03-19 Jim Meyering <jim@meyering.net>
+
+ DJGPP doesn't have S_ISLNK, so provide a replacement.
+ * ftw.c (S_IFMT): Define, if necessary.
+ [STAT_MACROS_BROKEN]: Undefine S_ISLNK.
+ (S_ISLNK): Define, if necessary.
+ Based on a patch from Rich Dawe.
+
+ * exclude.h (PARAMS): Remove definition and uses.
+ * exclude.c: Remove uses of `PARAMS'.
+
+ * fnmatch_.h: Don't define __const.
+ (fnmatch): Use const, not __const in prototype.
+ From Paul Eggert.
+
+2003-03-17 Richard Dawe <rich@phekda.freeserve.co.uk>
+
+ * fchdir-stub.c: New file: trivial stub for fchdir.
+
+2003-03-18 Jim Meyering <jim@meyering.net>
+
+ * mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
+ error from mntctl.
+ Use mntctl's return value to drive the entry-processing loop, since
+ we can't rely on the value of the vmt_length member in the last
+ entry. On some systems doing so could result in exhausting
+ virtual memory. Based in part on a patch from Mike Jetzer.
+
+ * quote.c (quote_n): Fix typo in comment.
+
+2003-03-17 Jim Meyering <jim@meyering.net>
+
+ * raise.c (raise): Rename from rpl_raise.
+ Without that change, systems lacking raise (SunOS 4) would not be
+ able to link programs using raise. Reported by Volker Borchert.
+
+ * ftw.c (FTW_STAT): Rename from `STAT', to avoid conflict
+ with STAT definition from <sys/dir.h> on AIX 5.1.
+ Suggestion from Mike Jetzer and Petter Reinholdtsen.
+
+ * fchown-stub.c (fchown): Put function type on its own line.
+ * readlink-stub.c (readlink): Likewise.
+ * lstat-stub.c (lstat): Likewise.
+
+2003-03-14 Jim Meyering <jim@meyering.net>
+
+ * Makefile.am (AUTOMAKE_OPTIONS): Remove definition --
+ before it pointed to ../src/ansi2knr. Some of these files
+ have required an ANSI (c89) compiler for a year or two.
+ (libfetish_a_SOURCES): Remove unused files: c-stack.c, c-stack.h.
+
+2003-02-04 Dmitry V. Levin <ldv@altlinux.org>
+
+ * stat.c: Include "xalloc.h".
+
+2003-03-13 Paul Eggert <eggert@twinsun.com>
+
+ Merge changes from Bison.
+ * obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
+ (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
+ when compiling Bison 1.875's `bitset bset = obstack_alloc
+ (bobstack, bytes);'. Problem reported by Nelson H. F. Beebe.
+
+2003-01-30 Richard Dawe <rich@phekda.freeserve.co.uk>
+
+ * fchown-stub.c: New file: trivial stub for fchown.
+ * lstat-stub.c: New file: trivial stub for lstat.
+ * readlink-stub.c: New file: trivial stub for readlink.
+
+2003-03-09 Paul Eggert <eggert@twinsun.com>
+
+ * argmatch.c (EXIT_FAILURE): Define if the system doesn't.
+ Reported by Bruce Becker; see:
+ http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
+
+2003-03-03 Paul Eggert <eggert@twinsun.com>
+ Bruno Haible <bruno@clisp.org>
+
+ * mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
+ Reported by John Hughes, see
+ http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
+
+2003-03-09 Jim Meyering <jim@meyering.net>
+
+ * ftw.c: Include "save-cwd.h".
+ (ftw_startup): Avoid use of getcwd, if possible.
+ Instead, use fopen/fchdir via save_cwd/restore_cwd.
+
+2003-03-08 Jim Meyering <jim@meyering.net>
+
+ * xnanosleep.c: Don't use `defined' in a #define directive.
+
+2003-03-07 Jim Meyering <jim@meyering.net>
+
+ * Makefile.am (libfetish_a_SOURCES): Remove mmap-stack.h.
+
+ * mmap-stack.c, mmap-stack.h: Remove files.
+
+ * getcwd.c: #undef getcwd only after *all* included header files.
+ Declare getcwd unconditionally. The problem was that same.h
+ included config.h, and that defined getcwd to rpl_getcwd a second
+ time (after the original #undef), and led to the rpl_getcwd
+ function calling itself endlessly. This was the cause of at least
+ the `du' test failures on IRIX 6.5, reported by Nelson Beebe.
+
+ * same.h (same_name): Remove unnecessary inclusion of config.h.
+ It also happened to lead to infinite recursion in getcwd.c.
+ (PARAMS): Remove definition and use.
+
+2003-03-06 Jim Meyering <jim@meyering.net>
+
+ * ftw.c (ftw_startup): Declare `func' parameter to be of type
+ NFTW_FUNC_T, not void* which may be smaller on 64-bit systems.
+ Remove now-unnecessary cast.
+ (FTW_NAME): Cast func argument to type `NFTW_FUNC_T'.
+
+2003-03-05 Jim Meyering <jim@meyering.net>
+
+ * physmem.c (ARRAY_SIZE): Define it.
+
+2003-03-04 Jim Meyering <jim@meyering.net>
+
+ * makepath.c (CLEANUP_CWD): Call error here, now that restore_cwd
+ no longer does it.
+
+ * save-cwd.h (restore_cwd): Update prototype.
+ * save-cwd.c (restore_cwd): Remove two parameters.
+ Simplify. Don't call error upon failure. Let callers do that.
+ (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
+ when auditing is enabled. But don't bother updating the #if.
+
+ * xgetcwd.c (xgetcwd): Improve comment.
+
+ * getcwd.c: New file.
+
+2003-02-28 Jim Meyering <jim@meyering.net>
+
+ * ftw.c (ftw_startup): Return -1 if alloca fails.
+
+2003-02-28 Jim Meyering <jim@meyering.net>
+
+ * fts.c (fts_children): If opening `.' fails, set the fts_child
+ member to NULL before returning. From NetBSD.
+
+ * fts.c (fts_children): If fchdir fails, close file descriptor
+ before returning. From NetBSD.
+
+2003-02-27 Jim Meyering <jim@meyering.net>
+
+ * physmem.c (physmem_total, physmem_available): Add comments.
+ From Kaveh Ghazi.
+
+ * physmem.c: Merge in portability changes from gcc/libiberty
+ to support AIX, Tru64, and Windows. See the ChangeLog there
+ for credits and details. Thanks to Kaveh Ghazi for helping
+ to keep these files in sync.
+
+2003-02-24 Jim Meyering <jim@meyering.net>
+
+ * fts_.h [__USE_FILE_OFFSET64]: Remove #error directive.
+
+ (fts_open): Initialize local, tmp, to pacify gcc.
+
+ * fts_.h [struct FTS] (fts_dir_signatures): New, opaque member.
+ * fts.c: Include <search.h>.
+ (struct known_object): Define.
+ (object_compare, add_object, find_object): New functions, like
+ those in ftw.c.
+ (fts_open): Initialize new member.
+ (fts_close): Free memory allocated for new member.
+ (fts_stat): Detect a cycle in O(logN) time per directory processed.
+
+ * fts.c [HAVE_CONFIG_H]: Include <config.h>.
+ Conditionalize inclusion of <sys/param.h>.
+ Conditionalize inclusion of <include/sys/stat.h> vs <sys/stat.h>.
+ Include autoconf-recommended block of dirent/NAMELEN-related
+ definitions and includes. Use NAMLEN throughout, rather than
+ _D_EXACT_NAMLEN.
+ [_LIBC] (close, closedir, fchdir, open, opendir): Define.
+ [_LIBC] (readdir, tdestroy, tfind, tsearch): Define.
+ Remove `__' prefix from all uses of the above. This will help
+ to merge *BSD changes.
+ [!_LIBC] (internal_function): Define.
+ [! _LIBC && ! LSTAT_FOLLOWS_SLASHED_SYMLINK]: Define lstat.
+ (__set_errno): Define if not already defined.
+
+ * fts.c: (fts_open): If fts_alloc returns NULL, don't dereference it.
+ (fts_read): If fts_safe_changedir fails because it is not
+ able to chdir into a subdirectory, then inform the caller.
+
+ * fts.c, fts_.h: New files, directly from glibc.
+
+2003-02-23 Jim Meyering <jim@meyering.net>
+
+ * fts_.h (struct _ftsent) [fts_level]: Change type from short to int,
+ so it can handle a root-relative file name longer than 32K bytes.
+ [fts_pathlen, fts_namelen]: Rearrange members to decrease size of
+ this struct from 84 to 80 bytes.
+
+2003-02-21 Jim Meyering <jim@meyering.net>
+
+ * mmap-stack.h: Undefine HAVE_MMAP_STACK, thus disabling
+ this code on all systems.
+
+ Merge in some changes from GNU libc.
+ * md5.h (md5_uintptr): Define.
+
+ * ftw.c: Include <sys/types.h> before <dirent.h>.
+ This is required for Apple Darwin 6.3 (MacOS 10.2.3).
+ Patch by Nelson Beebe.
+
+2003-02-19 Jim Meyering <jim@meyering.net>
+
+ * md5.c: Merge in some clean-up and optimization changes from glibc.
+ * sha.c: Apply those same changes here, too.
+
+2003-02-18 Jim Meyering <jim@meyering.net>
+
+ * md5.c (md5_stream) [BLOCKSIZE]: Move definition to top of file.
+ Ensure that it is a multiple of 64.
+ Rearrange loop exit tests so as to avoid performing an
+ additional fread after encountering an error or EOF.
+ * sha.c (sha_stream): Likewise.
+ Reported by Michael Bacarella.
+
+ * Makefile.am (CLEANFILES): Remove ftw.h and search.h.
+ (DISTCLEANFILES): Add them here.
+ Add fnmatch.h, too.
+
+ * sha.c (sha_stream): Rearrange loop exit tests so as to avoid
+ performing an additional fread after encountering an error or EOF.
+
+2003-02-17 Jim Meyering <jim@meyering.net>
+
+ * mmap-stack.h (RUN_WITH_BIG_STACK_4): Define.
+
+ * physmem.c: Undo most of last change.
+ Use sysmp instead, since it provides a cleaner interface.
+ From Kaveh Ghazi.
+
+2003-02-16 Jim Meyering <jim@meyering.net>
+
+ * Makefile.am (libfetish_a_SOURCES): Add mmap-stack.h.
+
+ * mmap-stack.c (MAP_ANONYMOUS): Use MAP_ANON, if possible.
+ Initialize `fd' to -1, so Solaris' mmap works with MAP_ANON.
+
+2003-02-15 Jim Meyering <jim@meyering.net>
+
+ * mmap-stack.c, mmap-stack.h: New files.
+ Let the caller run a function with a larger (mmap'd) stack.
+
+ Add Irix6 support to physmem.c.
+ * physmem.c (irix_sysget): New function.
+ (IRIX_SYSGET_TOTAL, IRIX_SYSGET_AVAILABLE): New macros.
+ (physmem_total, physmem_available): Use them.
+ (main) [DEBUG]: New function.
+
+2003-02-11 Jim Meyering <jim@meyering.net>
+
+ * Makefile.am (libfetish_a_SOURCES): Add euidaccess.h.
+ * euidaccess.c: Include "euidaccess.h".
+ * euidaccess.h: New file.
+
+2003-02-08 Jim Meyering <jim@meyering.net>
+
+ * ftw.c (ftw_startup): Don't shadow outer declaration of save_err.
+ Merge inconsequential changes from libc.
+
+ * ftw.c (ftw_startup): When using FTW_CHDIR, always remember
+ the current directory, not just when DIR contains a slash.
+ Reported by Manoj Srivastava via Michael Stone as Debian bug #180228.
+
+2003-02-07 Jim Meyering <jim@meyering.net>
+
+ Merge inconsequential changes from libc.
+ * ftw.c: Include limits.h earlier.
+ Move PATH_MAX definition `down' a little; add comment.
+ Rename local, saved_errno to save_err.
+
+2003-02-06 Jim Meyering <jim@meyering.net>
+
+ Support for pruning.
+ * ftw_.h (FTW_DPRE) [enum]: New member and definition.
+ (struct FTW) [skip]: New member.
+
+ * search_.h (__restrict): Define to `restrict' or to nothing.
+
+ * fsusage.c: Remove declaration of statfs.
+ It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
+ Reported by Nelson Beebe.
+
+2003-02-05 Jim Meyering <jim@meyering.net>
+
+ Fix a heap-corruption bug that affected Solaris systems.
+ * ftw.c: Include <limits.h>.
+ (PATH_MAX): Define to 1024, if not already defined.
+ (process_entry): Allocate enough space to hold the resulting
+ file name. Don't presume that 2*dirbufsize is enough.
+ (ftw_startup): Always use PATH_MAX to compute buffer size, now that
+ it is guaranteed to be defined.
+ Nelson Beebe reported that du would sometimes segfault on Solaris.
+
+ * ftw.c (process_entry): When using FTW_DEPTH, call `func', the
+ user-supplied callback, once for the current directory before calling
+ ftw_dir, in case that part of the hierarchy should be pruned.
+ `func' does that by setting `data->skip'.
+ (ftw_startup): Likewise.
+
+2003-02-02 Jim Meyering <jim@meyering.net>
+
+ * ftw.c (lstat) [!_LIBC && !LSTAT_FOLLOWS_SLASHED_SYMLINK]:
+ Define to rpl_lstat.
+
+2003-01-25 Jim Meyering <jim@meyering.net>
+
+ * ftw.c (ISSLASH, FILESYSTEM_PREFIX_LEN) [_LIBC]: Define.
+ (base_name): New function.
+ (ftw_startup): Don't strip trailing slashes.
+ Use base_name to find the offset of the basename.
+
+2003-01-25 Jim Meyering <jim@meyering.net>
+
+ * ftw.c (object_compare): Compare inode numbers before device numbers.
+ The former is much more likely to differ for any two given file objects.
+
+2003-01-23 Jim Meyering <jim@meyering.net>
+
+ * tsearch.c [HAVE_CONFIG_H]: Include <config.h>.
+ Add autoconf-recommended block of alloca-related code.
+ Cast each use of alloca to the required type, (node**).
+
+ * ftw.c: Add autoconf-recommended block of alloca-related code.
+ [!_LIBC] (__getcwd): Define to xgetcwd and declare xgetcwd.
+
+2003-01-22 Jim Meyering <jim@meyering.net>
+
+ * ftw.c (find_object): Don't use c99-style struct initializer.
+
+ * ftw_.h: Change all uses of __const to const.
+ * search_.h: Likewise.
+
+ * Makefile.am (CLEANFILES): Add generated files: ftw.h search.h.
+
+ * ftw.c (process_entry): Handle FTW_DCHP.
+ (ftw_dir): Handle FTW_DCH.
+
+ * ftw_.h [!_LIBC && !__USE_XOPEN_EXTENDED]: Define __USE_XOPEN_EXTENDED
+ and FTW_H_STANDALONE.
+ [anon enum] (FTW_DCH, FTW_DCHP): New members.
+ (FTW_DCH, FTW_DCHP): Define.
+
+ * ftw.c: Include autoconf-recommended block of dirent/NAMELEN
+ related definitions and includes. Use NAMELEN throughout,
+ rather than _D_EXACT_NAMLEN.
+ [_LIBC]: Define NAMELEN to _D_EXACT_NAMLEN.
+ (stpcpy): Declare, if necessary.
+ (mempcpy): Define, if necessary.
+ [!_LIBC] (__stpcpy, __mempcpy): Define.
+ [!_LIBC] (LXSTAT, XSTAT): Define.
+
+2003-01-21 Jim Meyering <jim@meyering.net>
+
+ * tsearch.c: New file, from GNU libc.
+ [! weak_alias]: Define __-prefixed names to publicized ones.
+ [! defined _LIBC] (weak_alias, internal_function): Define-away.
+ [defined weak_alias]: Guard each use of weak_alias.
+
+2003-01-20 Jim Meyering <jim@meyering.net>
+
+ * canonicalize.c: Include "path-concat.h".
+
+ * search_.h: New file, from GNU libc.
+
+ * Makefile.am (libfetish_a_SOURCES): Use ftw_.h here, too.
+ (libfetish_a_SOURCES): Add search_.h.
+ * ftw_.h: Rename from ftw.h.
+
+ * obstack.h (obstack_object_size): Declare temporary, __o,
+ to be const, in order to avoid warnings.
+ (obstack_room): Likewise.
+ (obstack_empty_p): Likewise.
+
+ Merge in changes from GNU libc
+ * error.c: Eliminate many `#ifdef USE_IN_LIBIO' conditionals.
+
+2003-01-19 Ulrich Drepper <drepper@redhat.com>
+
+ From GNU libc.
+ * strftime.c (my_strftime): Handle very large width
+ specifications for numeric values correctly. Improve checks for
+ overflow.
+
+2003-01-19 Jim Meyering <jim@meyering.net>
+
+ * strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical definitions.
+ (nl_get_alt_digit) [! defined my_strftime]: Define.
+ (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
+ _nl_get_alt_digit and _nl_get_walt_digit.
+
+ * strftime.c (my_strftime): Merge in locale-related changes from libc.
+ These changes have no effect outside of _LIBC.
+
+2003-01-14 Jim Meyering <jim@meyering.net>
+
+ * same.c (same_name): Declare *_basename locals to be `const'.
+ Consolidate declarations and initializations of *_base* locals.
+
+2003-01-11 Bruno Haible <bruno@clisp.org>
+
+ * same.c (same_name): Reorder tests so as to avoid calling stat()
+ when a string comparison is sufficient.
+
+2003-01-11 Bruno Haible <bruno@clisp.org>
+
+ * readtokens.c (readtoken): Cast character to 'unsigned char', not
+ 'unsigned int'.
+
+2003-01-14 Jim Meyering <jim@meyering.net>
+
+ * ftw.c: Merge in Ulrich's and my changes from libc.
+
+2003-01-12 Jim Meyering <jim@meyering.net>
+
+ * ftw.c (ftw_startup): Rename local-shadowing local to pacify gcc.
+ Also work on systems that have `struct direct', using autoconf's
+ AC_HEADER_DIRENT.
+ Tweak comments.
+
+ * ftw.h, ftw.c: New files, from glibc/io.
+
+ * Makefile.am (libfetish_a_SOURCES): Add ftw.h.
+
+2003-01-11 Jim Meyering <jim@meyering.net>
+
+ * makepath.c: Don't test HAVE_ERRNO_H. It's not necessary.
+
+ * canonicalize.c: Don't test HAVE_ERRNO_H. It's not necessary.
+ Don't test HAVE_STDDEF_H. It's not necessary.
+ Use definition of PTR_INT_TYPE from obstack.h.
+
+2002-12-01 Dmitry V. Levin <ldv@altlinux.org>
+
+ * canonicalize.c: New file.
+ The readlink-based implementation imported from GNU C Library.
+ The resolveip-based implementation imported from src/df.c (show_point).
+ * canonicalize.h: New file.
+ * Makefile.am (libfetish_a_SOURCES): Add canonicalize.h.
+
+2003-01-10 Jim Meyering <jim@meyering.net>
+
+ * save-cwd.h: Remove uses of PARAMS.
+
+2002-11-30 Dmitry V. Levin <ldv@altlinux.org>
+
+ * xgetcwd.h: New file.
+ * Makefile.am (libfetish_a_SOURCES): Add xgetcwd.h.
+ * save-cwd.c: Include "xgetcwd.h".
+ * xgetcwd.c: Likewise.
+
+2002-11-30 Dmitry V. Levin <ldv@altlinux.org>
+
+ * getgroups.c: Don't declare functions declared by xalloc.h.
+ Include "xalloc.h" instead.
+ * group-member.c: Likewise.
+ * idcache.c: Likewise.
+ * readutmp.c: Likewise.
+
+2003-01-08 Jim Meyering <jim@meyering.net>
+
+ * full-write.c: Undefine and define-away `const' after inclusion
+ of errno.h, not before. Suggestion from Bruno Haible.
+
+2003-01-06 Jim Meyering <jim@meyering.net>
+
+ * full-write.c: Rework so that it may serve to define full_read, too.
+ * full-read.c: Simply #define FULL_READ and include full-write.c.
+
+ * Makefile.am (libfetish_a_SOURCES): Add full-read.c and full-read.h.
+ * full-read.c, full-read.h: New files.
+
+ Update from gnulib.
+
+ 2002-12-10 Paul Eggert <eggert@twinsun.com>
+ Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
+ * exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
+ Choose values that are less likely to collide with system fnmatch
+ options.
+ * exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
+ defined (e.g., a pure POSIX system).
+ (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
+ instead of FNM_FILE_NAME, for compatibility with pure POSIX systems.
+
+ Update from gnulib.
+
+ * utime.c (utime_null): Use SAFE_READ_ERROR.
+ (utime_null): No need to call ftruncate if the file was nonempty.
+ * getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not HAVE_TM_ZONE.
+ * canon-host.c (strdup): Remove unused declaration.
+ * fsusage.c: Include full_read.h.
+ (get_fs_usage): Use full_read instead of safe_read.
+ Patches by Bruno Haible.
+
+2003-01-04 Jim Meyering <jim@meyering.net>
+
+ * version-etc.c: Update copyright date.
+
+2002-12-31 Jim Meyering <meyering@lucent.com>
+
+ * dev-ino.h: New file.
+ * cycle-check.c: New file.
+ * cycle-check.h: New file.
+ * Makefile.am (libfetish_a_SOURCES): Add cycle-check.c, cycle-check.h,
+ and dev-ino.h.
+
+2002-12-21 Jim Meyering <jim@meyering.net>
+
+ * stime.c: Remove file (for real, this time).
+
+2002-12-15 Jim Meyering <jim@meyering.net>
+
+ * strftime.h: New file, for declaration of nstrftime.
+ * Makefile.am (libfetish_a_SOURCES): Add strftime.h.
+
+2002-12-09 Jim Meyering <jim@meyering.net>
+
+ * unlocked-io.h: Sync from gnulib.
+
+2002-12-06 Jim Meyering <jim@meyering.net>
+
+ * unlocked-io.h: New file, but with proper copyright notice and
+ attribution. Note: this is *not* the same as the file in gnulib.
+ This uses #if HAVE_FUNC_UNLOCKED for each `FUNC', rather than
+ HAVE_DECL_FUNC_UNLOCKED. This usage is consistent with the autoconf
+ macro in ../m4/jm-glibc-io.m4. Modulo comments, this file still
+ contains exactly what was generated by gen-uio.
+
+2002-12-04 Paul Eggert <eggert@twinsun.com>
+
+ Do not generate unlocked-io.h automatically, since it's easier to
+ maintain it by hand.
+
+ * gen-uio: Remove.
+ * Makefile.am: Add copyright notice.
+ (libfetish_a_SOURCES): Add unlocked-io.h.
+ (BUILT_SOURCES, all-local): Remove unlocked-io.h.
+ (DISTCLEANFILES, io_functions): Remove macros.
+ (EXTRA_DIST): Remove gen_uio.
+ (unlocked-io.h): Remove rule.
+
+2002-12-05 Paul Eggert <eggert@twinsun.com>
+
+ * alloca.c [defined emacs]: Include "lisp.h".
+ (xalloc_die) [defined emacs]: New macro.
+ (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
+ [! defined emacs]: Include <xalloc.h>.
+ (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
+ (pointer): Typedef to POINTER_TYPE *.
+ (malloc): Remove decl; we now always use xmalloc.
+ (alloca): Use old-style definition, since Emacs needs this.
+ Check for arithmetic overflow when computing combined size.
+
+2002-12-04 Jim Meyering <jim@meyering.net>
+
+ Reflect the fact that stat.c and lstat.c are no longer generated.
+ * Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
+ (DISTCLEANFILES): Likewise.
+ (EXTRA_DIST): Likewise.
+ (all_local): Don't depend on stat.c or lstat.c.
+ (stat.c, lstat.c): Remove rules.
+ (EXTRA_DIST): Remove xstat.in.
+
+ * xstat.in: Remove file. Contents moved into stat.c.
+ * stat.c: Rework so that it may serve to define rpl_lstat, too.
+ * lstat.c: Simply #define LSTAT and include stat.c.
+
+ * safe-read.c: Rework so that it may serve to define safe_write, too.
+ * safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
+
+2002-12-03 Jim Meyering <jim@meyering.net>
+
+ * safe-read.h: Update from gnulib (add comments, include stddef.h).
+
+2002-12-02 Jim Meyering <jim@meyering.net>
+
+ * safe-read.c (EINTR): Define.
+ (safe_read): Rewrite to iterate IFF the read fails with EINTR.
+
+2002-12-01 Jim Meyering <jim@meyering.net>
+
+ * safe-read.c: Merge from gnulib.
+ (safe_read): Also exit the loop when read returns zero.
+ (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
+
+ * Makefile.am (libfetish_a_SOURCES): Add safe-write.c and safe-write.h.
+
+ * strtoll.c: Update from gnulib (trivial changes).
+ * strdup.c: Likewise.
+ * strpbrk.c: Likewise.
+ * strstr.c: Likewise.
+ * tempname.c: Likewise.
+ * obstack.c: Likewise.
+ * getopt.c: Likewise.
+ * getopt1.c: Likewise.
+ * getopt.h: Likewise.
+ * quote.h: Update from gnulib: add Copyright comment.
+ * quote.c: Likewise.
+
+2002-11-28 Jim Meyering <jim@meyering.net>
+
+ * mktime.c: Merge from gnulib/libc, for a slightly uglier solution.
+
+ Merge some more, in preparation for merge back into libc.
+ * error.c (_): Define only if not already defined.
+ Move definition to follow all #include directives.
+ Include unlocked-io.h only if !_LIBC.
+
+ Merge in changes from libc.
+ * error.c [_LIBC]: Include <libio/libioP.h>.
+ [USE_IN_LIBIO]: Include <libio/iolibio.h>
+ (fflush): Tweak definition to use INTUSE.
+ (putc): Define.
+
+2002-11-23 Jim Meyering <jim@meyering.net>
+
+ From gnulib, by Bruno Haible
+ * closeout.c: Include gettext.h instead of <libintl.h>.
+ * makepath.c: Likewise.
+ * rpmatch.c: Likewise.
+ * userspec.c: Likewise.
+ * version-etc.c: Likewise.
+ * xmemcoll.c: Likewise.
+ * error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
+
+ * mbswidth.h: Update from gnulib.
+ * mbswidth.c: Likewise.
+ * localcharset.c: Likewise.
+ * config.charset: Likewise.
+ * unicodeio.c: Likewise.
+
+2002-11-22 Paul Eggert <eggert@twinsun.com>
+
+ * quotearg.h: Allow multiple inclusion by surrounding with
+ "#ifndef QUOTEARG_H_". Include <stddef.h>, for size_t,
+ so that we can be included first.
+ (PARAMS): Remove; we now assume C89 or later. All uses removed.
+ * quotearg.c: Include quotearg.h immediately after config.h.
+ No need to include stddef.h or sys/types.h any more.
+ Surround local include files with "", not "<>".
+ Assume HAVE_LIMITS_H unconditionally, as we assume C89.
+ Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
+ HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
+ (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
+ (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
+ (ISPRINT): Remove; no longer needed now that we assume C89.
+
+ (clone_quoting_options, quotearg_buffer, quotearg_n_options):
+ Preserve errno.
+
+ (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
+ quotearg_char): Use SIZE_MAX rather than
+ (size_t) -1 when we are talking about "infinity".
+
+ (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
+
+2002-11-22 Jim Meyering <jim@meyering.net>
+
+ From gnulib.
+ * strstr.c: Don't include <sys/types.h>. It's unnecessary.
+
+2002-11-21 Bruno Haible <bruno@clisp.org>
+
+ Remove case insensitive option matching.
+ * argmatch.h (argcasematch): Remove declaration.
+ (ARGCASEMATCH): Remove macro.
+ (__xargmatch_internal): Remove case_sensitive argument.
+ (XARGMATCH): Update.
+ (XARGCASEMATCH): Remove macro.
+ * argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
+ case_sensitive argument.
+ (argcasematch): Remove function.
+ (__xargmatch_internal): Remove case_sensitive argument.
+ (main): Use XARGMATCH instead of XARGCASEMATCH.
+
+ * argmatch.c: Include gettext.h instead of <locale.h> and <libintl.h>.
+
+2002-11-21 Bruno Haible <bruno@clisp.org>
+
+ * xmalloc.c: Change compile-time error message. Add comment about
+ required autoconf version.
+ * xmalloc.c: Include gettext.h instead of <libintl.h>.
+ (textdomain): Remove definition.
+
+2002-11-21 Jim Meyering <jim@meyering.net>
+
+ * strdup.c (strdup): Merge in changes from gnulib; mainly to
+ use memcpy rather than strcpy.
+
+ * strcspn.c: Update from gnulib.
+
+ * sig2str.c (str2signum): Use unsigned, not size_t, for type of index.
+
+ * quotearg.c: Use `"'s when including quotearg.h and xalloc.h,
+ not the `<...>' notation.
+ Include <errno.h> and declare errno if necessary.
+
+ * README: Update from gnulib.
+
+2002-11-20 Paul Eggert <eggert@twinsun.com>
+
+ Merge argmatch cleanups from Bison. Assume C89.
+
+ * argmatch.c: Include config.h here, not in argmatch.h.
+ Include stdlib.h, for EXIT_FAILURE.
+ Always include <string.h>, since we assume C89.
+ (EXIT_FAILURE): Remove pre-C89 bug workaround.
+ * argmatch.h: Do not include <config.h> or <sys/types.h>.
+ Include <stddef.h> instead, since it's all we need for size_t.
+ (PARAMS): Remove. All uses removed.
+ (ARRAY_CARDINALITY): Do not bother to #undef.
+ (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
+ ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
+ Remove unnecessary parentheses.
+ (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
+ Insert necessary parentheses.
+ (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
+ (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
+
+2002-11-19 Jim Meyering <jim@meyering.net>
+
+ Be careful not to clobber errno.
+ * quotearg.c (quotearg_buffer_restyled): If mbrtowc returns
+ `(size_t) -1' (at which point it would also set errno to EILSEQ),
+ then restore errno to its previous value.
+ Reported by Phillip Jones via Tim Waugh as
+ https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=76334.
+
+ Avoid a link-time failure on some Linux systems.
+ * mktime.c (STATIC): Define to be empty (_LIBC) or `static' (otherwise).
+ (__mon_yday): Declare with the STATIC attribute.
+ (__mktime_internal): Likewise.
+ Based on a report from Greg Schafer.
+
+2002-11-14 Jim Meyering <jim@meyering.net>
+
+ * long-options.c: Don't include libintl.h, and don't define `_' --
+ they're not used.
+ * same.c: Likewise.
+
+2002-11-10 Jim Meyering <jim@meyering.net>
+
+ * raise.c: New file.
+
+2002-11-08 Paul Eggert <eggert@twinsun.com>
+
+ * human.c (human_readable): Revamp to avoid warning about unused
+ variable 'amt'. Unfortunately this means using some gotos.
+
+2002-11-08 Jim Meyering <jim@meyering.net>
+
+ * human.c (human_readable): Avoid warnings from gcc -Wshadow.
+
+2002-11-06 Jim Meyering <jim@meyering.net>
+
+ * Makefile.am (EXTRA_DIST): Add inttostr.h.
+
+2002-10-07 Paul Eggert <eggert@twinsun.com>
+
+ * Makefile.am (libfetish_a_SOURCES): Add imaxtostr.c, offtostr.c,
+ umaxtostr.c.
+ (EXTRA_DIST): Add inttostr.c.
+ * inttostr.c, inttostr.h, imaxtostr.c, offtostr.c, umaxtostr.c:
+ New files, taken from GNU tar.
+
+ * human.c, human.h: Rewrite to support locale-specific
+ notations like thousands separators.
+ Specify what includer of include.h must include beforehand.
+ (human_group_digits, human_suppress_point_zero, human_autoscale,
+ human_base_1024, human_SI, human_B): New enum values.
+ (human_readable): Rename from human_readable_inexact; put the
+ options before the sizes. All uses changed. The old human_readable
+ function has been removed; use inttostr.h instead.
+ (human_options): Renamed from human_block_size, with new signature
+ that allows block sizes up to UINTMAX_MAX. All callers changed.
+
+2002-10-13 Jim Meyering <jim@meyering.net>
+
+ * xnanosleep.c (initialized): Remove declaration now that it's unused.
+
+2002-10-12 Paul Eggert <eggert@twinsun.com>
+
+ * xnanosleep.c: There's no need to futz with the rounding mode,
+ since the code should work properly even in the default rounding mode.
+ (<fenv.h>): Do not include.
+ (#pragma STDC FENV_ACCESS ON): Remove.
+ (xnanosleep): Don't futz with rounding state.
+
+2002-10-06 Jim Meyering <jim@meyering.net>
+
+ * safe-read.c (safe_read): Change type of function
+ from ssize_t to size_t.
+ * safe-read.h: Update prototype.
+ (SAFE_READ_ERROR): Define.
+
+2002-09-28 Jim Meyering <jim@meyering.net>
+
+ * makepath.c (make_path): Restore umask *before* creating the final
+ component.
+
+2002-09-25 Paul Eggert <eggert@twinsun.com>
+
+ * fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include <stdint.h>.
+ (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
+ (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
+ int. Work more efficiently if X is the same width as uintmax_t.
+ Do not compare X to -1, to avoid bogus compiler warning.
+ (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
+ Don't assume that f_frsize and f_bsize are the same type.
+
+2002-09-25 Jim Meyering <jim@meyering.net>
+
+ * fsusage.c: Remove unneeded parentheses around operands of `defined'.
+
+ * safe-read.c (safe_read): Make comment more precise:
+ upon error, it returns -1.
+
+2002-09-22 Jim Meyering <jim@meyering.net>
+
+ * makepath.c (make_path): Minor reformatting.
+
+2002-09-14 Paul Eggert <eggert@twinsun.com>
+
+ * xnanosleep (xnanosleep): Return -1 on failure, not 1,
+ for consistency with nanosleep. Check errno after nanosleep
+ returns -1.
+
+2002-09-11 Jim Meyering <jim@meyering.net>
+
+ * xnanosleep.c, xnanosleep.h: New files, factored out of sleep.c.
+ * Makefile.am (libfetish_a_SOURCES): Add them.
+
+2002-09-04 Jim Meyering <jim@meyering.net>
+
+ * addext.c (addext): Add a cast to avoid gcc's warning about
+ `comparison between signed and unsigned'.
+
+ * sig2str.c (str2signum, sig2str): Declare loop index variables to be
+ of type size_t so that they match type of upper bound, thus avoiding
+ warning about `comparison between signed and unsigned'.
+
+2002-08-31 Jim Meyering <jim@meyering.net>
+
+ * mktime.c: Update from GNU libc.
+ * obstack.c: Likewise.
+ * getopt.c: Likewise.
+ * getopt1.c: Likewise.
+
+2002-08-05 Paul Eggert <eggert@twinsun.com>
+
+ Fix some minor time-related bugs with POSIX time arguments.
+ Some valid time stamps were being rejected (notably -1, and
+ time stamps before 1900 on 64-bit hosts). And some invalid
+ time stamps were being accepted, e.g. September 31.
+
+ * posixtm.h (posixtime): Return bool instead of time_t, so
+ that we can return (time_t) -1 successfully.
+ * posixtm.c: Likewise.
+ [HAVE_STDBOOL_H]: Include <stdbool.h>.
+ (bool, false, true) [!HAVE_STDBOOL_H]: New type.
+ (t): Remove static var.
+ (year, posix_time_parse): Now takes struct tm * arg to modify, instead
+ of static var. All uses changed.
+ (year): Do not reject years before 1900; they can occur with
+ 64-bit time_t.
+ (posix_time_parse): Do not check for out-of-range components;
+ that is now the caller's responsibility, since our checks were
+ only approximations.
+ (posixtime): Use mktime to check for out-of-range components,
+ since it knows them exactly.
+ If mktime returns (time_t) -1, check whether an error actually occurred
+ by invoking localtime on -1.
+ (main) [TEST_POSIXTIME]: Check for input data errors, and report
+ posixtime failures better.
+ Improve the test data (in comments only).
+
+2002-07-27 Jim Meyering <jim@meyering.net>
+
+ * readutmp.h: If we have both utmpx.h and utmp.h, and there exists
+ the utmp.ut_exit member, but not the utmpx.ut_exit member, then
+ undefine HAVE_UTMPX_H. For AIX 4.3.3. Doing all this in cpp is
+ a big kludge; someday we'll put the brains in an autoconf macro.
+ (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
+
+2002-07-20 Jim Meyering <jim@meyering.net>
+
+ * xmalloc.c: Adjust to work with new autoconf macros, AC_FUNC_MALLOC
+ and AC_FUNC_REALLOC: test #ifndef HAVE_MALLOC/HAVE_REALLOC.
+
+ * gettext.h: Upgrade to gettext-0.11.3.
+
+2002-07-13 Bruno Haible <bruno@clisp.org>
+
+ * xstat.in: Include <string.h>.
+ * mountlist.c: #undef MNT_IGNORE before defining it, to avoid warning
+ on FreeBSD.
+
+2002-07-09 Jim Meyering <jim@meyering.net>
+
+ * mountlist.h (ME_DUMMY): Don't count entries of type `auto' as dummy
+ ones. At least on GNU/Linux systems, `auto' means something else.
+ From Michael Stone.
+
+2002-07-01 Jim Meyering <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
+ redefinition due to Solaris 2.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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ 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 <jim@meyering.net>
+
+ * file-type.h: Use the version from diffutils-2.8.2.
+ * file-type.c: Likewise.
+
+2002-05-27 Jim Meyering <jim@meyering.net>
+
+ 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * gettext.h: New file, from Gettext.
+ * Makefile.am (INCLUDES): Remove -I../intl.
+ (libfetish_a_SOURCES): Add gettext.h.
+
+2002-04-16 Jim Meyering <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * dirfd.h (dirfd): Elide prototype if dirfd is a macro.
+
+2002-03-10 Jim Meyering <jim@meyering.net>
+
+ * makepath.c (make_path): Remove a comma from a diagnostic.
+ Suggestion from Santiago Vila.
+
+2002-03-08 Jim Meyering <jim@meyering.net>
+
+ * rename.c: Mention that this wrapper is needed also on
+ mips-dec-ultrix4.4 systems.
+
+2002-03-02 Jim Meyering <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * Makefile.am (getdate$U.o): Depend on unlocked-io.h.
+
+2002-01-22 Jim Meyering <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
+ on SunOS 4.
+
+ * Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
+ files will be created before anything else.
+
+2001-11-17 Jim Meyering <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * xstat.in (slash_aware_lstat): Correct a misleading comment.
+
+2001-11-03 Jim Meyering <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
+ and quote_n (1, ... to avoid clobbering a buffer.
+
+2001-10-05 Jim Meyering <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * localcharset.c: Update from latest gettext.
+ * config.charset: Likewise.
+
+2001-09-20 Jim Meyering <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * error.c: Update from GNU libc.
+
+2001-09-01 Jim Meyering <jim@meyering.net>
+
+ * 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 Solaris 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * gettimeofday.c: New file.
+ * gtod.h: New file.
+ * Makefile.am (libfetish_a_SOURCES): Add gtod.h.
+
+2001-08-04 Jim Meyering <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * regex.c: Update from GNU libc.
+
+2001-05-27 Jim Meyering <jim@meyering.net>
+
+ * readutmp.h (UT_TYPE): Define.
+
+2001-05-24 Jim Meyering <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * basename.c: Include <stdio.h>, needed by assert on SunOS 4.
+ From Bruno Haible.
+
+2001-01-14 Jim Meyering <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * dirname.c (dir_name_r): Add `const' in a few local declarations.
+
+2000-12-04 Jim Meyering <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * 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 <jim@meyering.net>
+
+ * strstr.c: Update from GNU libc.
+
+2000-11-16 Jim Meyering <jim@meyering.net>
+
+ * strverscmp.c: Incorporate weak-alias-related changes from glibc.
+
+2000-11-11 Jim Meyering <jim@meyering.net>
+
+ * error.c: Add a couple #includes, merging from GNU libc version.
+
+2000-11-10 Jim Meyering <jim@meyering.net>
+
+ * obstack.h: Update from GNU libc.
+ * obstack.c: Likewise.
+
+2000-11-06 Paul Eggert <eggert@twinsun.com>
+
+ * 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.
+
+2000-11-05 Jim Meyering <jim@meyering.net>
+
+ * makepath.h (make_dir): Declare.
+ * makepath.c (make_dir): Remove `static' attribute.
+ Tweak a comment.
+
+2000-11-04 Alexandre Duret-Lutz <duret_g@epita.fr>
+
+ * hash.c (hash_get_next): Fix a thinko: when ENTRY is the
+ last one in a bucket, advance to the next bucket.
+
+2000-11-02 Vesselin Atanasov <vesselin@bgnet.bg>
+
+ * 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>
+
+ * 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.
+
+ * xalloc.h: Add "2000" to Copyright line, as this file
+ was changed this year.
+
+2000-10-30 Paul Eggert <eggert@twinsun.com>
+
+ * 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.
+
+2000-10-29 Greg Louis <glouis@dynamicro.on.ca>
+
+ * regex.h (__restrict_arr): Move definition out of #ifndef block.
+ Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
+ doesn't define __restrict_arr.
+
+2000-10-29 Jim Meyering <jim@meyering.net>
+
+ * xstat.in: Fix grammar in comment.
+
+2000-10-28 Jim Meyering <jim@meyering.net>
+
+ * memchr.c: Update from libc.
+ Adjust for portability:
+ [HAVE_STDLIB_H]: Include stdlib.h.
+ [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
+ Undef __memchr, too.
+ [!weak_alias]: Define __memchr to memchr.
+
+ * regex.c: Update from libc.
+ * regex.h: Likewise.
+ * getopt1.c: Likewise.
+ * memcmp.c: Likewise.
+
+ * getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
+ Avoid using fseek, when possible -- it's broken by design.
+ Patch by Ulrich Drepper.
+
+2000-10-26 Jim Meyering <jim@meyering.net>
+
+ * strftime.c: Update from libc.
+
+2000-10-25 Jim Meyering <jim@meyering.net>
+
+ * obstack.c: Update from libc.
+
+2000-10-23 Jim Meyering <jim@meyering.net>
+
+ * hard-locale.c (hard_locale): Revert last change -- it was simply
+ wrong. That set_locale call must not have any side effects.
+ From Paul Eggert.
+
+2000-10-22 Jim Meyering <jim@meyering.net>
+
+ * md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
+ [CYCLIC]: Remove now-unused definition.
+
+ * save-cwd.c (O_DIRECTORY): Define, if needed.
+ (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
+ Suggestion from Ulrich Drepper.
+
+2000-10-21 Jim Meyering <jim@meyering.net>
+
+ * dirname.c (dir_name_r): New function, factored out of dir_name.
+ (dir_name): Use dir_name_r.
+ * dirname.h (dir_name_r): Declare it.
+
+2000-10-21 Jim Meyering <jim@meyering.net>
+
+ * dirname.c (memrchr): Declare if necessary.
+ (dir_name): Remove the restriction that there be no
+ trailing slashes. Now, this code skips past them, effectively
+ ignoring them.
+ [TEST_DIRNAME] (main): New unit tests.
+
+ * memrchr.c: New file from GNU libc.
+ Undef __memrchr, too.
+ [!weak_alias]: Define __memrchr to memrchr.
+ Guard weak_alias use with `#ifdef weak_alias'.
+
+2000-10-17 Jim Meyering <jim@meyering.net>
+
+ * quote.h (PARAMS): Define and use.
+ Reported by Akim Demaille.
+
+ * getopt.c: Update from libc.
+
+2000-10-16 Jim Meyering <jim@meyering.net>
+
+ * hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to setlocale.
+ From Jan Fedak.
+
+2000-09-25 Jim Meyering <jim@meyering.net>
+
+ * md5.h (rol): Define (from GnuPG).
+
+ * sha.c: Give credit (GnuPG) where due.
+ (M): Use rol rather than open-coding it.
+ Add a FIXME comment.
+
+2000-09-21 Jim Meyering <jim@meyering.net>
+
+ * userspec.c (parse_user_spec): Remove debugging printf I'd added.
+ Reported by Michael Stone.
+
+2000-09-20 Jim Meyering <jim@meyering.net>
+
+ * Makefile.am (libfetish_a_SOURCES): Add sha.c.
+ (noinst_HEADERS): Add sha.h.
+ Based on code from Scott G. Miller and from GnuPG.
+
+2000-09-15 Jim Meyering <jim@meyering.net>
+
+ * regex.c: Update from libc.
+
+2000-09-10 Jim Meyering <jim@meyering.net>
+
+ * getopt.c (_getopt_internal): Update from glibc.
+
+2000-09-09 Jim Meyering <jim@meyering.net>
+
+ * quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
+ think it should be used as a general replacement for isascii.
+ * fnmatch.c: Likewise.
+ * mbswidth.c: Likewise
+ * regex.c: Likewise.
+
+ Don't use atoi.
+ * userspec.c: Include sys/param.h and limits.h.
+ Include xstrtol.h.
+ (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
+ (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
+ (parse_user_spec): Use xstrtoul, not atoi when converting numeric
+ UID, GID. Check range.
+
+2000-09-06 Jim Meyering <jim@meyering.net>
+
+ * getopt.c (_getopt_internal): Update from glibc.
+
+2000-08-30 Jim Meyering <jim@meyering.net>
+
+ * strftime.c: Merge in changes from GNU libc.
+
+2000-08-26 Jim Meyering <jim@meyering.net>
+
+ * closeout.c: Include "__fpending.h".
+ (close_stdout_status): Return right away if there's nothing to flush.
+
+ * Makefile.am (noinst_HEADERS): Add __fpending.h.
+ * __fpending.c: New file.
+ * __fpending.h: New file.
+
+2000-08-07 Paul Eggert <eggert@twinsun.com>
+
+ Standardize on "memory exhausted" instead of "Memory exhausted"
+ or "virtual memory exhausted".
+ * obstack.c (print_and_abort): Use "memory exhausted", not
+ "virtual memory exhausted".
+ * same.c (same_name): Invoke xalloc_die instead of printing
+ our own message.
+ * userspec.c (parse_user_spec): Likewise.
+ * bumpalloc.h: comment fix
+ * same.c, userspec.c: Include xalloc.h.
+
+ * xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
+ not char *const and pointing to a constant array.
+ * xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
+ (xrealloc): Comment fix.
+
+ * userspec.c (parse_user_spec):
+ Don't translate a message until just before returning,
+ to avoid unnecessary translation.
+
+2000-08-07 Jim Meyering <jim@meyering.net>
+
+ * addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
+ chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
+ fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
+ getgroups.c, gethostname.c, getopt.h, group-member.c,
+ hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
+ linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
+ memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
+ pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
+ stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
+ strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
+ utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
+ yesno.c: Back out Copyright date changes for each file with no change
+ this year. This eases coordination with other programs using the same
+ source code modules. From Paul Eggert.
+
+2000-08-03 Greg McGary <greg@mcgary.org>
+
+ * regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
+ ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
+ (EXTEND_BUFFER): Use them.
+
+2000-08-01 Jim Meyering <jim@meyering.net>
+
+ * dirname.c (ISSLASH): Define.
+ (BACKSLASH_IS_PATH_SEPARATOR): Define.
+ (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
+ both `\' and `/' may be use as path separators.
+ Based on a patch from Prashant TR.
+
+2000-07-31 Paul Eggert <eggert@twinsun.com>
+
+ * quotearg.c (quotearg_n_options): Don't make the initial
+ slot vector a constant, since it might get modified.
+
+2000-07-31 Jim Meyering <jim@meyering.net>
+
+ * xmalloc.c: Use `virtual memory exhausted', not `Memory exhausted'.
+ * obstack.c (print_and_abort): Likewise.
+
+2000-07-30 Paul Eggert <eggert@twinsun.com>
+
+ * quotearg.c (quotearg_n_options): Preallocate a slot 0
+ buffer, so that the caller can always quote one small
+ component of a "memory exhausted" message in slot 0.
+ From a suggestion by Jim Meyering.
+
+2000-07-30 Jim Meyering <jim@meyering.net>
+
+ * makepath.c (make_path): Quote the other instance, too.
+
+ * quotearg.c (N_STATIC_SLOTVECS): Define.
+ (STATIC_BUF_SIZE): Define.
+ (quotearg_n_options): Use only statically allocated storage when
+ N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
+ than STATIC_BUF_SIZE.
+
+2000-07-29 Jim Meyering <jim@meyering.net>
+
+ * diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
+ * dirname.c (dir_name): Likewise.
+
+ * basename.c (base_name): Use ISSLASH rather than comparing against `/'.
+
+ * dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
+ (dir_name): Assert that there are no trailing slashes.
+
+2000-07-18 Bruno Haible <haible@clisp.cons.org>
+
+ * mbswidth.h (mbswidth): Add a flags argument.
+ (mbswidth): New declaration.
+ (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
+ * mbswidth.c (mbswidth): Add a flags argument.
+ (mbsnwidth): New function.
+
+2000-07-24 Jim Meyering <jim@meyering.net>
+
+ * mbswidth.c: Remove useless #else. From Bruno Haible.
+
+2000-07-23 Paul Eggert <eggert@twinsun.com>
+
+ * mbswidth.c (_XOPEN_SOURCE):
+ Don't define; this causes problems on Solaris 7.
+ (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
+
+2000-07-23 Paul Eggert <eggert@twinsun.com>
+
+ * quotearg.c:
+ Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
+ so that mbstate_t is always defined.
+
+ Do not inspect MB_LEN_MAX, since it's incorrectly defined to
+ be 1 in at least one GCC installation, and this configuration
+ error is likely to be common. Ignoring MB_LEN_MAX hurts
+ performance on hosts that have mbrtowc but have only unibyte
+ locales, but I assume these hosts are rare.
+
+2000-07-23 Paul Eggert <eggert@twinsun.com>
+
+ * quotearg.c: Streamline by invoking multibyte code only if needed.
+ <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
+ (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
+ (quotearg_buffer_restyled): If a unibyte locale, don't bother to
+ invoke multibyte primitives.
+
+2000-07-23 Jim Meyering <jim@meyering.net>
+
+ * basename.c (base_name): Add an assertion.
+
+2000-07-15 Bruno Haible <clisp.cons.org>
+
+ * quotearg.c: When the system forces us to redefine mbstate_t,
+ shadow its mbsinit function.
+
+2000-07-16 Bruno Haible <haible@clisp.cons.org>
+
+ * mbswidth.h: New file.
+ * mbswidth.c: New file.
+ * Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
+ (noinst_HEADERS): Add mbswidth.h.
+
+2000-07-17 Bruno Haible <haible@clisp.cons.org>
+
+ * config.charset: Add support for FreeBSD. Improve support for HP-UX
+ and IRIX 6.
+
+2000-07-15 Jim Meyering <jim@meyering.net>
+
+ * makepath.c: Include quote.h.
+ (make_path): Convert "`%s'" in format strings to "%s", and wrap each
+ corresponding argument in a `quote (...)' call.
+ Give better diagnostics.
+
+ * Makefile.am (libfetish_a_SOURCES): Add quote.c.
+ (noinst_HEADERS): Add quote.h.
+
+ * quote.c (quote, quote_n): New file. Two functions taken verbatim
+ from tar's src/misc.c.
+ * quote.h: New file. Prototypes for same.
+
+2000-07-10 Paul Eggert <eggert@twinsun.com>
+
+ From a suggestion by Bruno Haible.
+ * quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
+ Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
+ to decide whether to define the BeOS workaround macro;
+ this adjusts to the change to AC_MBSTATE_T.
+
+2000-07-13 Paul Eggert <eggert@twinsun.com>
+
+ * quotearg.h (enum quoting style): New enum clocale_quoting_style.
+
+ * 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}"
+ and "{RIGHT QUOTATION MARK}" msgids.
+
+2000-07-05 Paul Eggert <eggert@twinsun.com>
+
+ The old behavior of quoting `like this' doesn't look good with
+ newer, ISO-style fonts. See:
+ http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
+
+ Instead, quote "like this" by default. Let the translator
+ tailor the locale-specific quoting behavior by providing
+ translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
+
+ * quotearg.c (N_): New macro.
+ (gettext_default): New function.
+ (quotearg_buffer_restyled): Use
+ gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
+ gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
+
+2000-07-09 Jim Meyering <jim@meyering.net>
+
+ * Most files: Update copyright dates to include 2000.
+
+2000-07-08 Jim Meyering <jim@meyering.net>
+
+ * xgethostname.c (ENAMETOOLONG): Define to an unlikely value
+ if not defined.
+ (xgethostname): Remove now-unnecessary #ifdef.
+ Move declaration of `err' into loop where it's used.
+
+2000-07-05 Bruno Haible <haible@clisp.cons.org>
+
+ * xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
+ by allocating a larger buffer. Test the gethostname return value for
+ being >= 0, not == 0, for BeOS. Don't exhaust memory if gethostname
+ returns an error and ENAMETOOLONG isn't defined.
+
+2000-07-05 Paul Eggert <eggert@twinsun.com>
+ and Bruno Haible <haible@clisp.cons.org>
+
+ * quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
+
+2000-07-05 Bruno Haible <haible@clisp.cons.org>
+
+ * quotearg.c (struct quoting_options): Simplify quote_these_too
+ dimension.
+
+2000-07-03 Jim Meyering <jim@meyering.net>
+
+ * strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
+ Reported by Bruno Haible.
+
+2000-07-04 Jim Meyering <jim@meyering.net>
+
+ * quotearg.c: Make inclusion of <wchar.h> independent of whether
+ HAVE_MBRTOWC is set. Required at least for irix-5.6, which
+ lacks mbrtowc.
+
+2000-07-03 Paul Eggert <eggert@twinsun.com>
+ and Bruno Haible <haible@clisp.cons.org>
+
+ * quotearg.c (mbrtowc):
+ Assign to *pwc, and return 1 only if result is nonzero.
+ (iswprint): Use ISPRINT when substituting our own mbrtowc.
+
+2000-07-03 Jim Meyering <jim@meyering.net>
+
+ * readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
+ This is necessary to get a definition of e.g., UTMP_FILE on HP-UX 10.20.
+ From Bob Proulx.
+
+2000-07-02 Jim Meyering <jim@meyering.net>
+
+ * quotearg.c (mbstate_t): Don't define here.
+
+2000-07-02 Jim Meyering <jim@meyering.net>
+
+ * nanosleep.c (SIGCONT): Define if not already defined.
+
+2000-06-17 Bruno Haible <haible@clisp.cons.org>
+
+ * mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
+ per change in ../m4/ls-mntd-fs.m4.
+ (read_filesystem_list): Ignore symbolic links.
+
+2000-06-29 Jim Meyering <jim@meyering.net>
+
+ * same.c: Include <string.h> or <strings.h>, as appropriate,
+ for declaration of strcmp.
+
+ * long-options.c: Include <stdlib.h>, for declaration of exit.
+
+ * mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
+ Avoid warning by casting result to `char *' to remove `const'.
+
+2000-06-17 Bruno Haible <haible@clisp.cons.org>
+
+ * Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
+
+2000-06-26 Paul Eggert <eggert@twinsun.com>
+
+ savedir now sets errno on failure and invokes xmalloc to get memory.
+ Fix a couple of other minor bugs while we're at it.
+
+ * savedir.c (<unistd.h>): Do not include; there's no need.
+ (NAMLEN): Remove macro.
+ (malloc, realloc): Remove decls.
+ (stpcpy): Likewise.
+ ("xalloc.h"): Include.
+ (NAME_SIZE_DEFAULT): New macro.
+ (savedir): Use xmalloc / xrealloc to allocate memory.
+ Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
+ Skip "" directory entries.
+ Use strlen to calculate directory entry length, since the old method
+ is rarely used these days and isn't worth supporting.
+ Don't use a pointer after freeing it.
+ Check for integer overflow when calculating allocation size.
+ Use memcpy to copy entries, instead of stpcpy.
+ Set errno properly when returning NULL.
+ Check for readdir error.
+
+2000-06-26 Jim Meyering <jim@meyering.net>
+
+ * posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
+
+2000-06-17 Bruno Haible <haible@clisp.cons.org>
+
+ * getusershell.c (xmalloc, xrealloc): Remove functions.
+ Include xalloc.h.
+ Don't include <stdlib.h>. Don't declare malloc, realloc.
+
+2000-06-23 Bruno Haible <haible@clisp.cons.org>
+
+ * unicodeio.c (print_unicode_char): Work around ansi2knr deficiency.
+
+2000-06-24 Jim Meyering <jim@meyering.net>
+
+ * error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
+
+2000-06-21 Jim Meyering <jim@meyering.net>
+
+ * getpass.c: New file, from Bruno Haible. Required for BeOS.
+
+2000-06-19 Paul Eggert <eggert@twinsun.com>
+
+ * quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
+ (mbrtowc, mbstate_t): Define substitutes if
+ HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
+ (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
+ not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
+
+2000-06-17 Bruno Haible <haible@clisp.cons.org>
+
+ * xgetcwd.c (xgetcwd): If the required pathname length is smaller
+ than 1024, return a memory chunk of least possible size, instead
+ of size PATH_MAX + 2. In the loop, increment the size proportionally.
+ Use free/xmalloc instead of xrealloc to avoid copying for very long
+ paths.
+
+2000-06-17 Bruno Haible <haible@clisp.cons.org>
+
+ * canon-host.c (canon_host): Use malloc and memcpy to copy an
+ address, not strdup. Include <stdlib.h> and don't declare free().
+
+2000-06-17 Bruno Haible <haible@clisp.cons.org>
+
+ * path-concat.c (path_concat): Don't access dir[-1] if dir is
+ the empty string.
+
+2000-06-21 Jim Meyering <jim@meyering.net>
+
+ * Makefile.am (libfetish_a_SOURCES): Add getstr.c.
+ (noinst_HEADERS): Add getstr.h.
+
+ * getline.c (getstr): Move into a separate file.
+ * getstr.c (getstr): New file, extracted from getline.c, with
+ the following changes: new parameter, delim2; both delim[12]
+ parameters have type `int', not `char'. The latter would lose
+ with 8-bit delimiters.
+ * getstr.h: New file.
+
+2000-06-19 Jim Meyering <jim@meyering.net>
+
+ * getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
+
+2000-06-18 Jim Meyering <jim@meyering.net>
+
+ * mkdir.c: Remove file, due mainly to copyright incompatibility.
+ Besides, these days every porting target provides a mkdir function.
+
+ * strnlen.c: Include memory.h, string.h, and/or strings.h as needed.
+ (this snippet comes from src/system.h).
+
+2000-06-15 Paul Eggert <eggert@twinsun.com>
+
+ * human.c (adjust_value): New function.
+ (human_readable_inexact): Apply rounding style even when
+ printing approximate values.
+
+2000-06-14 Paul Eggert <eggert@twinsun.com>
+
+ * human.c (human_readable_inexact): Allow an input block
+ size that is not a multiple of the output block size, and vice versa.
+ Reported by Piergiorgio Sartor.
+
+2000-06-14 Paul Eggert <eggert@twinsun.com>
+
+ * getdate.y (get_date): Apply relative times after time
+ zone indicator, not before. Reported by Todd A. Jacobs.
+
+2000-06-13 Jim Meyering <jim@meyering.net>
+
+ * Makefile.am (all-local): Depend on lstat.c and stat.c.
+
+ * xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
+
+2000-06-12 Paul Eggert <eggert@twinsun.com>
+
+ * xstat.in: Include <stdlib.h> in lstat, to declare "free".
+
+2000-06-04 Paul Eggert <eggert@twinsun.com>
+
+ * strnlen.c: Include <config.h> if HAVE_CONFIG_H.
+
+2000-06-04 Jim Meyering <jim@meyering.net>
+
+ * getugroups.c (getugroups): Cast -1 to gid_t, for systems like
+ SunOS 4.1.4 for which gid_t is an unsigned type.
+
+2000-06-03 Jim Meyering <jim@meyering.net>
+
+ * strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
+
+2000-05-26 Bruno Haible <haible@clisp.cons.org>
+
+ * Makefile.am (install-exec-local): On systems with glibc-2.1 or
+ newer, don't install charset.alias.
+ * config.charset: Change the Linux/glibc rules so they become empty
+ on glibc-2.1 or newer.
+
+2000-06-02 Jim Meyering <jim@meyering.net>
+
+ * mountlist.c: Back out last change. Instead, do this...
+ * mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the me_dummy
+ member using the same `ignore'-testing code.
+ * mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
+ fs_type strings.
+ From Mark D. Roth.
+
+2000-05-29 Jim Meyering <jim@meyering.net>
+
+ * mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore mounts
+ with the `ignore' attribute. Based on a patch from Mark D. Roth.
+
+2000-05-22 Jim Meyering <jim@meyering.net>
+
+ * makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
+
+2000-05-18 Jim Meyering <jim@meyering.net>
+
+ * hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
+ back, too, since it may have been modified by allocate_entry.
+ (hash_delete): Rewrite to use neither the assignment operator
+ nor the comma operator in an if-expression.
+
+2000-05-15 Paul Eggert <eggert@twinsun.com>
+
+ * closeout.c:
+ <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
+ Remove; no longer needed.
+ "quotearg.h": Add include.
+ (file_name): Do not bother to explicitly initialize to NULL; it's less
+ efficient on some hosts.
+ (close_stdout_status): Remove test as to whether stdout was already
+ closed; it breaks for the case "echo x | sort >&-".
+ Quote file name colons.
+ Do not assume that _("write error") lacks format strings.
+
+2000-05-15 Jim Meyering <jim@meyering.net>
+
+ * version-etc.c (version_etc_copyright): Update the copyright string
+ used in all --version output.
+
+2000-05-14 Jim Meyering <jim@meyering.net>
+
+ * closeout.c (close_stdout_set_file_name): New function.
+ (close_stdout_status): Use new file-scoped global.
+ Return right away if fstat says the stdout file descriptor is invalid.
+ * closeout.h (close_stdout_set_file_name): Declare.
+
+2000-05-10 Jim Meyering <jim@meyering.net>
+
+ * closeout.c [default_exit_status]: New file-scoped variable.
+ (close_stdout_set_status): New function.
+ * closeout.h (close_stdout_set_status): Declare.
+
+2000-05-08 Jim Meyering <jim@meyering.net>
+
+ * long-options.c: Don't include closeout.h.
+ (parse_long_options): Don't call close_stdout for --version.
+
+2000-05-06 Jim Meyering <jim@meyering.net>
+
+ * strnlen.c: Undefine __strnlen and strnlen.
+ [!weak_alias]: Define __strnlen to strnlen.
+
+ * atexit.c: New file, from libiberty.
+
+2000-05-06 Jim Meyering <jim@meyering.net>
+
+ * closeout.c (close_stdout_status): Also check for errors on the
+ stderr stream.
+
+2000-05-05 Bruno Haible <haible@clisp.cons.org>
+
+ * localcharset.c (get_charset_aliases): Use malloc, realloc and memcpy
+ instead of xmalloc, xrealloc, path_concat.
+ (locale_charset): Treat empty environment variables as absent.
+ (DIRECTORY_SEPARATOR, ISSLASH): New macros.
+
+2000-05-04 Jim Meyering <jim@meyering.net>
+
+ * getopt.c: Update from glibc.
+ * obstack.c: Likewise.
+ * obstack.h: Likewise.
+ * regex.c: Likewise. NB: K&R compiler support is dropped for this file
+
+ * regex.h: Likewise.
+ * strndup.c: Likewise.
+ * strnlen.c: New file, from glibc.
+
+2000-05-01 Jim Meyering <jim@meyering.net>
+
+ * full-write.c (full_write): Remove `FIXME' part of comment.
+
+2000-04-29 Jim Meyering <jim@meyering.net>
+
+ * path-concat.c: Declare strdup only if it's not defined.
+ * canon-host.c: Likewise.
+
+2000-04-28 Jim Meyering <jim@meyering.net>
+
+ * rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to avoid
+ redefinition warning on some systems (HPUX). Otherwise, regex.h is
+ included first, then limits.h is included by locale.h by libintl.h.
+ From John David Anglin.
+
+2000-04-25 Jim Meyering <jim@meyering.net>
+
+ * makepath.c (S_IRWXUGO): Define.
+ (make_path): Always perform explicit chmod if MODE specifies any
+ of the `special' permission bits. Prompted by a bug report against
+ install from Mate Wierdl and Joost van Baal.
+
+2000-04-18 Jim Meyering <jim@meyering.net>
+
+ * README: New file.
+
+ * getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
+ getpagesize. For BeOS. Based on a patch from Bruno Haible.
+
+2000-04-17 Jim Meyering <jim@meyering.net>
+
+ * strftime.c (my_strftime) [strftime]: Declare strftime here, since
+ the definition of it to rpl_strftime also defined-away the system's
+ declaration.
+
+2000-04-15 Jim Meyering <jim@meyering.net>
+
+ Use `C' to denote so-called `contiguous' files, the same way
+ that tar does.
+ * filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
+ (ftypelet): Use S_ISCTG.
+ From Michael Deutschmann.
+
+2000-04-14 Jim Meyering <jim@meyering.net>
+
+ * strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
+
+2000-04-08 Jim Meyering <jim@meyering.net>
+
+ * Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
+ names don't conflict. Reported by Eli Zaretskii.
+
+2000-03-28 Bruno Haible <haible@clisp.cons.org>
+
+ * unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
+ bug. Deal with the different error behavior of Irix iconv.
+
+2000-04-07 Jim Meyering <jim@meyering.net>
+
+ * putenv.c: Move inclusion of errno.h so it follows that of sys/types.h,
+ to work around system header problems on AIX 3.2.5. From Bruno Haible.
+
+2000-04-05 Jim Meyering <jim@meyering.net>
+
+ Portability tweaks required for ultrix4.3.
+ * readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare getutent.
+ * readutmp.c: Include sys/types.h before sys/stat.h.
+ * canon-host.c: Declare strdup.
+ * path-concat.c: Likewise.
+ From John David Anglin.
+
+2000-04-04 Jim Meyering <jim@meyering.net>
+
+ Be more DOS 8.3-friendly.
+ * ref-add.sin: Renamed from ref-add.sed.in.
+ * ref-del.sin: Renamed from ref-del.sed.in.
+ * Makefile.am: Reflect renaming.
+ Reported by Eli Zaretskii.
+
+ Use a temporary file name that won't clash with `charset.alias'
+ in the DOS 8.3 name space.
+ * Makefile.am (charset_tmp): Define.
+ (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
+ (uninstall-local): Likewise.
+ Reported by Eli Zaretskii.
+
+2000-03-29 Paul Eggert <eggert@twinsun.com>
+
+ * time/strftime.c (my_strftime): Make sure we call the system
+ strftime, not ourselves, when invoking the underlying strftime.
+
+2000-03-24 Jim Meyering <jim@meyering.net>
+
+ * Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
+ (charset_alias): Define.
+ (install-exec-local): Factor out common code.
+ (uninstall-local): Split lines longer than 80.
+ (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
+ (SUFFIXES): Define.
+ (.sed.in.sed): New rule. Don't redirect directly to $@.
+ (CLEANFILES): Add ref-add.sed and ref-del.sed.
+
+2000-03-19 Bruno Haible <haible@clisp.cons.org>
+
+ * config.charset: Output a line containing "Packages using this file".
+ * ref-add.sed.in, ref-del.sed.in: New files.
+ * Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
+ ref-del.sed): New rules.
+
+2000-03-17 Jim Meyering <jim@meyering.net>
+
+ * unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
+ Otherwise, include <strings.h>
+
+2000-03-17 Bruno Haible <haible@clisp.cons.org>
+
+ * unicodeio.c (utf8_wctomb): New function.
+ (print_unicode_char): Pass the Unicode character to iconv in UTF-8
+ format instead of in UCS-4 with platform dependent endianness.
+
+2000-03-07 Paul Eggert <eggert@twinsun.com>
+
+ * savedir.c (savedir): Work even if directory size is
+ negative; this can happen with some screwy NFS configurations.
+
+2000-03-06 Jim Meyering <jim@meyering.net>
+
+ * localcharset.c (get_charset_aliases): Don't try to free file_name
+ if it's NULL (because we ran out of memory). From Bruno Haible.
+
+2000-03-05 Jim Meyering <jim@meyering.net>
+
+ * localcharset.c ("path-concat.h"): Include.
+ (get_charset_aliases): Use path_concat instead of ANSI string
+ concatenation.
+
+ * unicodeio.h (PARAMS): Define.
+ Use it to guard prototype.
+
+2000-03-04 Jim Meyering <jim@meyering.net>
+
+ * Makefile.am (install-exec-local): Create $(libdir) before installing
+ into it.
+ (uninstall-local): Uncomment this rule so `make distcheck' works
+ once again.
+
+ * unicodeio.c (<errno.h>): Include it.
+ (errno): Declare if not defined.
+
+ * localcharset.c: Add Bruno's comment justifying use of volatile.
+
+ * config.charset: New version, incorporating remarks from a linux
+ i18n mailing list. From Bruno Haible.
+
+2000-03-02 Jim Meyering <jim@meyering.net>
+
+ * Makefile.am (EXTRA_DIST): Add config.charset.
+
+2000-03-01 Jim Meyering <jim@meyering.net>
+
+ * localcharset.c: Guard some #includes with `#if HAVE_...'.
+ * unicodeio.c: Likewise.
+
+2000-02-02 Bruno Haible <haible@clisp.cons.org>
+
+ * config.charset: New file.
+ * localcharset.c: New file.
+ * unicodeio.h, unicodeio.c: New files.
+ * Makefile.am (DEFS): Add -DLIBDIR=...
+ (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
+ (noinst_HEADERS): Add unicodeio.h.
+ (all-local, install-exec-local, charset.alias): New targets.
+
+2000-02-28 Paul Eggert <eggert@twinsun.com>
+
+ * quotearg.c (ALERT_CHAR): New macro.
+ (quotearg_buffer_restyled): Use it.
+
+2000-02-27 Jim Meyering <jim@meyering.net>
+
+ * strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
+ Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
+
+ * backupfile.c: Guard inclusion of stdlib.h with `#if HAVE_STDLIB_H',
+ not `#if STDC_HEADERS'.
+ Declare malloc if needed.
+
+ * backupfile.c: Use `#if !HAVE_DECL...' instead of `#ifndef HAVE_DECL..'
+ now that autoconf always defines the HAVE_DECL_ symbols.
+ * human.c: Likewise.
+ * same.c: Likewise.
+ * strtoumax.c: Likewise.
+
+ * backupfile.c: Arrange for cpp to fail if the configure-time
+ declaration check was not run.
+ * hash.c: Likewise.
+ * human.c: Likewise.
+ * same.c: Likewise.
+ * strtoumax.c: Likewise.
+
+ * userspec.c (parse_user_spec): If there is no `:' but there is a `.',
+ then first look up the entire `.'-containing string as a login name.
+
+2000-02-18 Paul Eggert <eggert@twinsun.com>
+
+ * getdate.y: Handle two-digit years with leading zeros correctly.
+ (textint): New typedef.
+ (parser_control): Member year changed from int to textint.
+ All uses changed.
+ (YYSTYPE): Removed; replaced by %union with int and textint members.
+ (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
+ tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
+ tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
+ (tSNUMBER, tUNUMBER): Now of type <textintval>.
+ (date, number, to_year): Use width of number in digits, not its value,
+ to determine whether it's a 2-digit year, or a 2-digit time.
+ (yylex): Store number of digits of numeric tokens.
+ Reported by John Kendall.
+
+ (parser_control): Changed from struct parser_control to typedef (for
+ consistency). All uses changed.
+
+ (tID): Removed; not used.
+ (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
+
+2000-02-14 Paul Eggert <eggert@twinsun.com>
+
+ * getpagesize.h (getpagesize): Port to VMS for Alpha;
+ adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
+
+2000-02-12 Jim Meyering <jim@meyering.net>
+
+ * userspec.c (ISDIGIT): Define it.
+ (isdigit): Remove definition.
+ (is_number): Use ISDIGIT, not isdigit.
+ <libintl.h>: Include.
+ (_ and N_): Define.
+ (parse_user_spec): Mark translatable strings.
+
+2000-02-10 Jim Meyering <jim@meyering.net>
+
+ With these changes, nanosleep.[ch] are finally enough like the other
+ lib/* replacement files to compile on a few more losing systems.
+
+ * nanosleep.h: Don't include config.h.
+ Remove prototype from declaration of nanosleep.
+ (PARAMS): Remove now-unneeded definition.
+ * nanosleep.c: #undef nanosleep.
+ (rpl_nanosleep): Rename from nanosleep.
+
+2000-02-03 Jim Meyering <jim@meyering.net>
+
+ * readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
+ rather than with `#if HAVE_UTMPNAME'.
+
+2000-02-01 Jim Meyering <jim@meyering.net>
+
+ * readutmp.h (UT_USER): Add parens. From Andreas Schwab.
+
+2000-01-31 Jim Meyering <jim@meyering.net>
+
+ * nanosleep.h (nanosleep): Guard declaration with
+ `#if ! HAVE_DECL_NANOSLEEP'.
+ Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
+ the declaration in that vendor's sys/timers.h.
+ Reported by Christian Krackowizer.
+
+ * quotearg.c (ISASCII): Add #undef and move definition to follow
+ inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
+ (ISPRINT): Likewise.
+ Reported by Tom Tromey.
+
+2000-01-30 Jim Meyering <jim@meyering.net>
+
+ * readutmp.c (extract_trimmed_name): Use UT_USER instead of hard-coding
+ uses of ->ut_name. The latter doesn't work with new Linux header files
+ where only utmpx.ut_user is declared.
+
+ * readutmp.h (UT_USER): Define.
+
+2000-01-23 Jim Meyering <jim@meyering.net>
+
+ * Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
+ obstack.c.
+
+2000-01-22 Jim Meyering <jim@meyering.net>
+
+ * strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
+ [! HAVE_DECL_STRTOULL]: Declare strtoull.
+ Required for some AIX systems. Reported by Christian Krackowizer.
+ [TESTING] (main): New function.
+
+ 1997-10-17 Eli Zaretskii <eliz@is.elta.co.il>
+ * dirname.c (dir_name): Support for DOS-style file names with drive
+ letters.
+
+ * quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of iswprint.
+
+ * strverscmp.c (ISDIGIT): Define.
+ (strverscmp): Use ISDIGIT, not isdigit.
+
+2000-01-17 Paul Eggert <eggert@twinsun.com>
+
+ * nanosleep.c (nanosleep):
+ Don't use SA_INTERRUPT to decide whether to call sigaction, as
+ POSIX.1 doesn't require SA_INTERRUPT and some systems
+ (e.g. Solaris 7) don't define it. Use SA_NOCLDSTOP instead;
+ it's been part of POSIX.1 since day 1 (in 1988).
+
+2000-01-17 Jim Meyering <jim@meyering.net>
+
+ * interlock: Remove unused file. Reported by François Pinard.
+
+2000-01-16 Paul Eggert <eggert@twinsun.com>
+
+ * quotearg.c (quotearg_buffer_restyled): Do not quote
+ alert, backslash, formfeed, and vertical tab unnecessarily in
+ shell quoting style.