*** empty log message ***
[gnulib.git] / lib / ChangeLog
index 94f6bb7..7f172ac 100644 (file)
@@ -1,7 +1,589 @@
-2001-02-07  Jim Meyering  <meyering@lucent.com>
+2001-10-11  Jim Meyering  <meyering@lucent.com>
+
+       * argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
+       and quote_n (1, ... to avoid clobbering a buffer.
+
+2001-10-05  Jim Meyering  <meyering@lucent.com>
+
+       * Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and hash-pjw.h.
+       * hash-pjw.c: New file (factored out of fileutils' remove.c).
+       * hash-pjw.h: New file.
+
+2001-09-30  Jim Meyering  <meyering@lucent.com>
+
+       * mountlist.c [MOUNTED_GETFSSTAT]:
+       Include <sys/ucred.h>, for Apple Darwin.
+       Include sys/mount.h and sys/fs_types.h only if available.
+       (FS_TYPE): Define.
+       (read_filesystem_list): Use FS_TYPE.
+
+2001-09-29  Paul Eggert  <eggert@twinsun.com>
+
+       * lib/exclude.c (excluded_filename): 0 -> false, since it's
+       a boolean context.
+
+2001-09-28  Paul Eggert  <eggert@twinsun.com>
+
+       Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
+       #defines strtoimax.  Also treat the other strto* functions
+       like strtoimax.
+
+       * xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
+       (strtoul): Do not declare if HAVE_DECL_STRTOUL.
+       (strtoimax, strtoumax): Do not declare if already defined as a macro.
+
+2001-09-26  Jim Meyering  <meyering@lucent.com>
+
+       Most macros in unlocked-io.h had the wrong number of arguments.
+       * gen-uio: New script.
+       (USE_UNLOCKED_IO): Define to 1 if not already defined.
+       * unlocked-io.hin: Remove file.
+       * Makefile.am (unlocked-io.h): Rewrite to use a separate script,
+       rather than trying to embed it here.
+       (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
+       Reported by Padraig Brady.
+
+2001-09-25  Volker Borchert  <bt@teknon.de>
+
+       * gettimeofday.c (rpl_gettimeofday): Declare local variable `result'.
+
+2001-09-23  Jim Meyering  <meyering@lucent.com>
+
+       * mountlist.c: Remove useless parentheses in #if directives.
+       (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
+       the deprecated MOUNTED symbol is no longer defined in mntent.h.
+
+2001-09-22  Jim Meyering  <meyering@lucent.com>
+
+       * localcharset.c: Update from latest gettext.
+       * config.charset: Likewise.
+
+2001-09-20  Jim Meyering  <meyering@lucent.com>
+
+       * xstrtol.c (strtoimax): Guard declaration with
+       `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
+       The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
+       have their own, conflicting declaration of strtoimax in sys/inttypes.h.
+       (strtoumax): Likewise, for completeness (it wasn't necessary).
+
+2001-09-06  Paul Eggert  <eggert@twinsun.com>
+
+       * strtoimax.c (HAVE_LONG_LONG):
+       Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
+       (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
+       to work around bug in IBM C compiler.
+
+2001-09-16  Jim Meyering  <meyering@lucent.com>
+
+       * mkdir.c: New file.
+
+2001-09-04  Paul Eggert  <eggert@twinsun.com>
+
+       * xgetcwd.c: Revert some of the previous change; intead,
+       fix the HAVE_GETCWD_NULL code to behave more like the
+       !HAVE_GETCWD_NULL code used to.
+
+       Include "xalloc.h".
+       (xgetcwd): Do not return NULL when memory is exhausted; instead,
+       invoke xalloc_die.
+
+2001-09-04  Paul Eggert  <eggert@twinsun.com>
+
+       * xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
+       Use ssize_t, not int, to store result of readlink.
+       Check for ssize_t overflow as well as size_t overflow,
+       as POSIX says the result of readlink is implementation-defined
+       when ssize_t overflows.
+       Remove unnecessary cast to char*.
+       Use free+malloc instead of realloc, as the storage doesn't need
+       to be preserved and it's clearer and can be more efficient that way.
+       (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
+       * xreadlink.h (xreadlink): Update prototype.
+
+2001-09-03  Paul Eggert  <eggert@twinsun.com>
+
+       * exclude.c (fnmatch_no_wildcards): Fix confusion between
+       usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
+       spotted by Jim Meyering.
+
+2001-09-03  Jim Meyering  <meyering@lucent.com>
+
+       * xreadlink.c (xreadlink): Preserve errno around `free' during failure.
+
+2001-09-03  Paul Eggert  <eggert@twinsun.com>
+
+       * xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
+       like the HAVE_GETCWD_NULL code.
+       Include pathmax.h if not HAVE_GETCWD.
+       Do not include xalloc.h.
+       (INITIAL_BUFFER_SIZE): New symbol.
+       Do not use xmalloc / xrealloc, since the caller is responsible for
+       handling errors.  Preserve errno around `free' during failure.
+       Do not overrun buffer when using getwd.
+
+2001-09-03  Paul Eggert  <eggert@twinsun.com>
+
+       * xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
+       __GLIBC__ && __GLIBC__ >= 2), to decide whether to use getcwd (NULL, 0).
+
+2001-09-02  Jim Meyering  <meyering@lucent.com>
+
+       * error.c: Update from GNU libc.
+
+2001-09-01  Jim Meyering  <meyering@lucent.com>
+
+       * xreadlink.c: New file.
+       * xreadlink.h: New file.
+       * Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and xreadlink.h.
+
+       * regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
+       doesn't conflict with sparc-sun-solaris2.7's definition in
+       /usr/include/sys/int_types.h.
+
+       * exclude.c: Use `""', not `<>' to #include non-system header files.
+       (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
+       and strncasecmp as r-values.  Unixware didn't have declarations.
+
+2001-08-31  Jim Meyering  <meyering@lucent.com>
+
+       * xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
+       Use an initial, malloc'd, buffer of length 128 rather than
+       a statically allocated one of length 1024.
+
+2001-08-30  Paul Eggert  <eggert@twinsun.com>
+
+       * lib/xgetcwd.c: Don't include pathmax.h.
+       Include stdlib.h and unistd.h if available.
+       Include xalloc.h.
+       (xmalloc, xstrdup, free): Remove decls.
+       (xgetcwd): Don't assume sizes fit in unsigned.
+       Check for overflow when computing sizes.
+       Simplify reallocation code.
+
+2001-08-28  Paul Eggert  <eggert@twinsun.com>
+
+       * Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
+
+       * strtoimax.c: Renamed from strtoxmax.c, removing the
+       old strtoimax.c.
+
+       Also, make the following further changes to make this file's
+       configuration more similar to that of strtol.c:
+       (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
+       (strtoumax, uintmax_t, strtoull, strtol): Remove.
+       (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
+       (strtoimax): Renamed from strtoumax.  All uses of unsigned values
+       changed to signed values.
+
+       And make the following changes as well:
+       Fix copyright notice, as 1999 was missing.
+       (verify): New macro.
+       (strtoimax): Check sizes at compile-time, not run-time.
+       Prefer strtol to strtoll if both work.
+       (main): Remove; it was not that useful and was a pain to maintain.
+
+       * strtoumax.c: Include strtoimax.c, not strtouxmax.c.
+
+2001-08-30  Paul Eggert  <eggert@twinsun.com>
+
+       * savedir.c (savedir): Remove size parameter, as POSIX says that
+       a directory's st_size can have an arbitrary value, so the old
+       usage could waste an arbitrary amount of memory.  All uses
+       changed.
+       * savedir.h: Update prototype.
+
+2001-08-30  Paul Eggert  <eggert@twinsun.com>
+
+       * xstrtol.c (strtoimax): New decl.
+
+2001-08-28  Paul Eggert  <eggert@twinsun.com>
+
+       * xstrtol.h: Add copyright notice.
+       (_DECLARE_XSTRTOL): Improve quality of diagnostic for
+       LONGINT_INVALID_SUFFIX_CHAR.
+
+2001-08-30  Paul Eggert  <eggert@twinsun.com>
+
+       * quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
+       tm to be declared.
+
+2001-08-30  Paul Eggert  <eggert@twinsun.com>
+
+       * hash.c: Remove '2001' from copyright notice.
+
+2001-08-30  Paul Eggert  <eggert@twinsun.com>
+
+       * full-write.h: New file.
+       * Makefile.am (libfetish_a_SOURCES): Add full-write.h.
+       * full-write.c: Correct credits, as cccp.c no longer
+       exists and anyway it was so heavily changed from the old cccp
+       code as to be unrecognizable.  Include full-write.h.
+       (full_write) Return size_t, with short writes meaning failure.
+       All callers changed.  This fixes a bug with large buffers
+       on 64-bit hosts.
+       * utime.c: Include full-write.h.
+
+2001-08-30  Paul Eggert  <eggert@twinsun.com>
+
+       Merge 'exclude' changes from tar 1.13.22.
+       This fixes one or two unlikely storage allocation overflow bugs,
+       but doesn't change user-visible behavior otherwise.
+
+2001-08-30  Paul Eggert  <eggert@twinsun.com>
+
+       * exclude.c (bool): Declare, perhaps by including stdbool.h.
+       (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
+       (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
+       Include if available.
+       (<xalloc.h>): Include
+       (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
+       (verify): New macro.  Use it to verify that EXCLUDE macros do not
+       collide with FNM macros.
+       (struct patopts): New struct.
+       (struct exclude): Use it, as exclude patterns now come with options.
+       (new_exclude): Support above changes.
+       (new_exclude, add_exclude_file):
+       Initial size must now be a power of two to simplify overflow checking.
+       (free_exclude, fnmatch_no_wildcards): New function.
+       (excluded_filename): No longer requires options arg, as the options
+       are determined by add_exclude.  Now returns bool, not int.
+       (excluded_filename, add_exclude):
+       Add support for the fancy new exclusion options.
+       (add_exclude, add_exclude_file): Now takes int options arg.
+       Check for arithmetic overflow when computing sizes.
+       (add_exclude_file): xrealloc might modify errno, so don't
+       realloc until after errno might be used.
+
+       * exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
+       New macros.
+       (free_exclude): New decl.
+       (add_exclude, add_exclude_file): Now takes int options arg.
+       (excluded_filename): No longer requires options arg, as the options
+       are determined by add_exclude.  Now returns bool, not int.
+
+2001-08-30  Paul Eggert  <eggert@twinsun.com>
+
+       * alloca.c (alloca): Arg is of type size_t, not unsigned.
+
+2001-08-27  Jim Meyering  <meyering@lucent.com>
+
+       * Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
+
+       * version-etc.c (N_): Remove definition.
+       Revert most of last change.
+       Instead, simply don't mark the `Copyright...' string for translation.
+       Based on advice from Paul Eggert.
+
+       * strtoxmax.c: Tweak comment.
+
+2001-08-26  Jim Meyering  <meyering@lucent.com>
+
+       * version-etc.c (version_etc_copyright_fmt): Replace literal year
+       of copyright with `%s' so translators don't get an untranslated
+       message in 2002.
+       (COPYRIGHT_YEAR): Define.
+       (version_etc): Use fprintf rather than fputs.
+       Suggestion from Ulrich Drepper.
+
+       * Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
+
+       * strtoll.c: New file, from GNU libc.
+       * xstrtoimax.c: New file.
+
+       * xstrtol.h: Add xstrtoimax.
+       * strtoumax.c: New file.  Simply include "strtoumax.c".
+       * strtoimax.c: New file.  Likewise, but first define STRTOUXMAX_SIGNED.
+
+       * strtoumax.c: Factor to work both for unsigned and signed types, ...
+       * strtoxmax.c: ... then renamed to this.
+
+2001-08-13  Paul Eggert  <eggert@twinsun.com>
+
+       * Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
+       Port to Solaris 8, where 'sed' requires a space after the 'r'
+       command, and where sh dislikes "$/".  Clean up the spacing a bit.
+       Redirect output to $tmp just once.
+
+2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
+
+       * addext.c (<errno.h>): Include.
+       (errno): Declare if not defined.
+       (addext): Work correctly when pathconf returns -1 and leaves
+       errno alone because there is no limit.  Also, work even if
+       pathconf returns a value greater than SIZE_MAX.
+
+2001-08-12  Jim Meyering  <meyering@lucent.com>
+
+       * xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
+       Simply `return getcwd (NULL, 0);'.
+       [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
+       Use 1300 as initial value for length, not PATH_MAX.
+
+       * pathmax.h: Clean up cpp syntax.
+
+2001-08-12  Jim Meyering  <meyering@lucent.com>
+
+       * gettimeofday.c: New file.
+       * gtod.h: New file.
+       * Makefile.am (libfetish_a_SOURCES): Add gtod.h.
+
+2001-08-04  Jim Meyering  <meyering@lucent.com>
+
+       * error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if stmt,
+       to get in sync with glibc.
+
+2001-08-03  Paul Eggert  <eggert@twinsun.com>
+
+       The following changes are from gettext 0.10.39 as maintained by
+       Bruno Haible.
+
+       * mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
+       Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
+       with inverted sense.  All uses changed.
+
+       * mbswidth.c: Don't include <limits.h>.
+       Include <stdlib.h> and <string.h> unconditionally.
+       (iswcntrl, mbsinit, ISCNTRL): New macros.
+       (mbsnwidth): Use K&R style function declarations.
+       Don't bother checking for MB_LEN_MAX == 1, since the compiler
+       can optimize it when MB_CUR_MAX == 1.
+       The width of control characters is zero, not 1.
+
+2001-07-15  Jim Meyering  <meyering@lucent.com>
+
+       * Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
+       (BUILT_SOURCES): Add unlocked-io.h.
+       (io_functions): Define.
+       (unlocked-io.h): New rule.
+       (DISTCLEANFILES): Add unlocked-io.h.
+       (all-local): Depend on unlocked-io.h, to ensure it is created.
+
+       * unlocked-io.hin: New file
+
+       * regex.c: Update from glibc.
+
+2001-07-05  Jim Meyering  <meyering@lucent.com>
+
+       * Makefile.am (noinst_HEADERS): Remove definition, per new automake
+       recommendation.
+       (libfetish_a_SOURCES): Put all .h files here instead.
+       Remove a thus-exposed (better checks in automake) duplicate and
+       two unnecessary .h files.
+
+2001-06-11  Jim Meyering  <meyering@lucent.com>
+
+       * regex.c: Update from GNU libc.
+
+2001-05-27  Jim Meyering  <meyering@lucent.com>
+
+       * readutmp.h (UT_TYPE): Define.
+
+2001-05-24  Jim Meyering  <meyering@lucent.com>
+
+       * argmatch.c: Include "quote.h".
+       (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
+       quote function.  Reported by Göran Uddeborg.
+
+2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+       * dirname.c (dir_name): Compute append_dot using path, not newpath
+       which is not yet declared.
+
+2001-05-11  Paul Eggert  <eggert@twinsun.com>
+
+       * Makefile.am (libfetish_a_SOURCES):
+       Add strftime.c, since we now compile it on all hosts.
+
+       * strftime.c (my_strftime):
+       Define to nstrftime if emacs, but only if my_strftime is not defined.
+       (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
+       ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
+       Add one more extra argument: a nanoseconds value.
+       All uses changed.
+       (ns): New macro.
+       (my_strftime function): Add %N format.
+       (emacs_strftimeu): Renamed from emacs_strftime,
+       with extra ut argument.
+
+2001-05-11  Paul Eggert  <eggert@twinsun.com>
+
+       dirname code cleanup.  base_name now behaves more compatibly
+       with POSIX basename when given file names that have trailing
+       slashes, and similarly for dir_name.  Add new primitives
+       base_len and dir_len.  Put the directory-name-related decls
+       into dirname.h.
+
+       * addext.c (ISSLASH, base_name): Remove; now in dirname.h.
+       * backupfile.c (base_name): Likewise.
+       * basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
+       * dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
+       * makepath.c (strip_trailing_slashes): Likewise.
+       * path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN, ISSLASH):
+       Likewise.
+       * rename.c (strip_trailing_slashes): Likewise.
+       * same.c (base_name): Likewise.
+       * stripslash.c (ISSLASH): Likewise.
+
+       * addext.c: Include <dirname.h> after size_t is defined.
+       * backupfile.c: Likewise.
+
+       * addext.c (addext): Use base_len to trim redundant
+       trailing slashes instead of doing it ourselves.
+       But do not trim the last slash if it is not redundant.
+
+       * backupfile.c (find_backup_file_name,
+       max_backup_version): Use base_len instead of rolling it ourselves.
+       Handle the case of "" and (on DOS) "C:" correctly.
+
+       * basename.c: Do not include <stdio.h>, <assert.h>; no longer needed.
+       Include <string.h>, <dirname.h>.
+       (base_name): Allow file names ending in slashes, other than names
+       that are all slashes.  In this case, return the basename followed
+       by the slashes.  This is more general, and can be used in places
+       where the original base_name purposely had an assertion failure.
+       (base_len): New function.
+
+       * dirname.c: Include <string.h> instead of <stdlib.h>.
+       Do not include <assert.h>; no longer needed.
+       Include xalloc.h.
+       (memrchr): Remove decl.
+       (dir_name_r): Remove.
+       (dir_len): Renamed from dirlen.  All callers changed.
+       Rewrite in terms of base_name, for simplicity and consistency.
+       (dir_name): Never return NULL.  All callers changed.
+       Do not include <stdlib.h> in test program; no longer needed.
+       return 0; is fine for test program.
+
+       * dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
+       New macros.
+       (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
+
+       * path-concat.c (path_concat): Use base_len to compute
+       base length, not strlen; this means we cannot rely on memcpy
+       to null-terminate.
+
+       * same.c (STREQ): Remove.
+       (same_name): Handle the case where the basename ends in trailing '/'.
+
+       * stripslash.c (strip_trailing_slashes): Return nonzero if
+       a slash was stripped.  Do not strip the last slash after a
+       file system prefix.
+
+2001-04-08  Jim Meyering  <meyering@lucent.com>
+
+       * getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
+       recomputed; that's necessary when the offset spans a DST transition.
+       Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
+
+2001-04-02  Jim Meyering  <meyering@lucent.com>
+
+       * regex.h, regex.c: Update from GNU libc.
+
+2001-03-19  Paul Eggert  <eggert@twinsun.com>
+
+       * version-etc.c (version_etc_copyright): Update to 2001.
+
+2001-03-16  Paul Eggert  <eggert@twinsun.com>
+
+       * tempname.c (uint64_t): Define to uintmax_t if
+       not defined, and if UINT64_MAX is not defined.
+       Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
+       Reported by John David Anglin.
+
+2001-03-10  Bruno Haible  <haible@clisp.cons.org>
+
+       * localcharset.c (locale_charset): Allow wildcard syntax. Also resolve
+       alias if codeset is empty.
+       * config.charset (BeOS): Use wildcard syntax.
+
+2001-03-13  Jim Meyering  <meyering@lucent.com>
+
+       * path-concat.c (path_concat) [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]:
+       Don't insert a backslash when concatenating e.g., `C:' and `foo'.
+       From Bruno Haible.
+
+2001-03-06  Bruno Haible  <haible@clisp.cons.org>
+
+       * localcharset.c (locale_charset): Don't use setlocale(LC_CTYPE,NULL).
+       Don't return NULL.
+       * unicodeio.c (print_unicode_char): Simplify accordingly.
+
+2001-03-06  Bruno Haible  <haible@clisp.cons.org>
+
+       * config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
+       support for DOS/DJGPP.
+
+2001-02-28  Paul Eggert  <eggert@twinsun.com>
+
+       * Makefile.am (libfetish_a_SOURCES):
+       Add dup-safer.c, fopen-safer.c.
+       (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
+
+       * dup-safer.c, fopen-safer.c, stdio-safer.h, unistd-safer.h: New files.
+
+2001-02-25  Paul Eggert  <eggert@twinsun.com>
+
+       The mkstemp replacement is taken from glibc 2.2.2, with some
+       portability fixes for use outside glibc, as follows:
+
+       * tempname.c (struct_stat64): New macro.
+       (direxists, __gen_tempname): Use it.
+       This avoids a portability problem with Solaris 8.
+
+       * tempname.c (<config.h>): Include if HAVE_CONFIG_H.
+       (<stddef.h>, <stdint.h>, <string.h>):
+       Include only if STDC_HEADERS || _LIBC.
+       (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
+       (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
+       (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
+       (__set_errno): Define this macro if <errno.h> doesn't.
+       (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
+       Define these macros if <stdio.h> doesn't.
+       (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
+       Define these macros if <sys/stat.h>
+       doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
+       (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
+       __xstat64): Define if not _LIBC.
+       (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
+       (__gen_tempname): Invoke gettimeofday only if
+       HAVE_GETTIMEOFDAY || _LIBC;
+       otherwise, fall back on plain "time".
+       Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
+
+       * mkstemp.c (__GT_FILE): Define to zero if not defined.
+
+       * mkstemp.c, tempname.c: New files, taken from glibc 2.2.2.
+
+2001-02-17  Jim Meyering  <meyering@lucent.com>
+
+       * strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
+       around included file name.
+
+       * strnlen.c (__strnlen): Merge in a change from GNU libc.
+
+       * strftime.c: Update from GNU libc (the only changes were to comments).
+
+2001-02-13  Bruno Haible  <haible@clisp.cons.org>
+
+       * mbswidth.h (mbswidth): Also define as macro, to avoid prototype clash.
+
+2001-02-17  Paul Eggert  <eggert@twinsun.com>
+
+       * mbswidth.c, quotearg.c (mbrtowc, mbsinit):
+       Remove workaround macros for hosts that have mbrtowc but not
+       mbstate_t, as we now insist on proper declarations for both
+       before using mbrtowc.
+
+2001-02-17  Jim Meyering  <meyering@lucent.com>
 
        * regex.c: Update from libc.
 
+2001-02-16  Paul Eggert  <eggert@twinsun.com>
+
+       * alloca.c (malloc): Undef before defining, since stdlib.h
+       may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
+       Reported by Mark Hounschell via Paul Eggert.
+
 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
 
        * config.charset: Update for FreeBSD 4.2.
 
 2001-01-03  Paul Eggert  <eggert@twinsun.com>
 
-       * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
+       * strftime.c: Sync with glibc time/strftime.c 1.81.
 
 2001-01-03  Jim Meyering  <meyering@lucent.com>
 
 
 2000-12-29  Paul Eggert  <eggert@twinsun.com>
 
-       * lib/modechange.c: Do not assume that mode_t uses the
+       * 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.
 
 
 2000-12-01  Paul Eggert  <eggert@twinsun.com>
 
-       * lib/memrchr.c: Include <config.h> before any system include file.
+       * memrchr.c: Include <config.h> before any system include file.
 
 2000-11-29  Paul Eggert  <eggert@twinsun.com>
 
-       * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
+       * dirname.c (dir_name_r): Fix typo: int -> size_t.
 
 2000-11-26  Jim Meyering  <meyering@lucent.com>
 
 
 2000-11-22  Paul Eggert  <eggert@twinsun.com>
 
-       * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
+       * 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>
 
-       * lib/obstack.h: Formatting changes.
+       * 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
 
        * quotearg.h (enum quoting style): New enum clocale_quoting_style.
 
-       * quotearg.c: (quoting_style_args, quoting_style_vals,
+       * quotearg.c (quoting_style_args, quoting_style_vals,
        quotearg_buffer_restyled): Add support for
        clocale_quoting_style.  Undo previous change to
        locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"