+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,
+ lib/unistd-safer.h: New files.
+
+2001-02-25 Paul Eggert <eggert@twinsun.com>
+
+ The mkstemp replacement is taken from glibc 2.2.2, with some
+ portability fixes for use outside glibc, as follows:
+
+ * tempname.c (struct_stat64): New macro.
+ (direxists, __gen_tempname): Use it.
+ This avoids a portability problem with Solaris 8.
+
+ * tempname.c (<config.h>): Include if HAVE_CONFIG_H.
+ (<stddef.h>, <stdint.h>, <string.h>):
+ Include only if STDC_HEADERS || _LIBC.
+ (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
+ (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
+ (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
+ (__set_errno): Define this macro if <errno.h> doesn't.
+ (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
+ Define these macros if <stdio.h> doesn't.
+ (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
+ Define these macros if <sys/stat.h>
+ doesn't. Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
+ (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
+ __xstat64): Define if not _LIBC.
+ (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
+ (__gen_tempname): Invoke gettimeofday only if
+ HAVE_GETTIMEOFDAY || _LIBC;
+ otherwise, fall back on plain "time".
+ Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
+
+ * mkstemp.c (__GT_FILE): Define to zero if not defined.
+
+ * mkstemp.c, tempname.c: New files, taken from glibc 2.2.2.
+
+2001-02-17 Jim Meyering <meyering@lucent.com>
+
+ * strtoul.c: Sync from GNU libc. Use double quotes, not <...>
+ around included file name.
+
+ * strnlen.c (__strnlen): Merge in a change from GNU libc.
+
+ * strftime.c: Update from GNU libc (the only changes were to comments).
+
+2001-02-13 Bruno Haible <haible@clisp.cons.org>
+
+ * mbswidth.h (mbswidth): Also define as macro, to avoid prototype clash.
+
+2001-02-17 Paul Eggert <eggert@twinsun.com>
+
+ * mbswidth.c, quotearg.c (mbrtowc, mbsinit):
+ Remove workaround macros for hosts that have mbrtowc but not
+ mbstate_t, as we now insist on proper declarations for both
+ before using mbrtowc.
+
+2001-02-17 Jim Meyering <meyering@lucent.com>
+
+ * regex.c: Update from libc.
+
+2001-02-16 Paul Eggert <eggert@twinsun.com>
+
+ * alloca.c (malloc): Undef before defining, since stdlib.h
+ may have defined it. Needed for Encore Umax-3.0.9.16b systems.
+ Reported by Mark Hounschell via Paul Eggert.
+
+2001-01-30 Bruno Haible <haible@clisp.cons.org>
+
+ * config.charset: Update for FreeBSD 4.2.
+
+2001-01-26 Jim Meyering <meyering@lucent.com>
+
+ * quotearg.c: Include stddef.h.
+ * quote.c: Include stddef.h.
+ Reported by Axel Kittenberger.
+
+ * xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
+ line in double quotes so that it evokes a better diagnostic.
+ [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
+ Reported by Axel Kittenberger.
+
+2001-01-15 Bruno Haible <haible@clisp.cons.org>
+
+ * unicodeio.c (print_unicode_char): Cast the second iconv() arg,
+ to avoid a warning. Add back 'const' to inptr.
+
+2001-01-16 Jim Meyering <meyering@lucent.com>
+
+ * basename.c: Include <stdio.h>, needed by assert on SunOS4.
+ From Bruno Haible.
+
+2001-01-14 Jim Meyering <meyering@lucent.com>
+
+ * rename.c: New file. From Volker Borchert.
+ Include stdlib.h, string.h or strings.h, and xalloc.h.
+ Use strip_trailing_slashes rather than open-coding it.
+
+2001-01-03 Paul Eggert <eggert@twinsun.com>
+
+ * strftime.c: Sync with glibc time/strftime.c 1.81.
+
+2001-01-03 Jim Meyering <meyering@lucent.com>
+
+ * unicodeio.c (print_unicode_char): Remove `const' from declaration of
+ local `inptr' to avoid warning with some system declarations of iconv.
+
+2000-12-29 Paul Eggert <eggert@twinsun.com>
+
+ * modechange.c: Do not assume that mode_t uses the
+ traditional octal encoding. E.g. "chmod 1 FOO" should set
+ the other-execute bit of FOO even if S_IXOTH != 1.
+
+ (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
+ WOTH, XOTH, ALLM): New macros.
+ (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
+ S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
+ Use them.
+ (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
+ (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
+ (mode_compile):
+ No need to use uintmax_t; unsigned long is long enough.
+ Don't bother to get suffix since we don't use it.
+
+2000-12-24 Jim Meyering <meyering@lucent.com>
+
+ * hash.c (is_prime): Return explicit boolean values.
+ (hash_get_first): Return NULL to appease Irix5.6's 89.
+ Reported by Nelson Beebe.
+
+2000-10-31 Bruno Haible <haible@clisp.cons.org>
+
+ * localcharset.c (locale_charset): Add support for Win32.
+
+2000-12-18 Paul Eggert <eggert@twinsun.com>
+
+ * physmem.h, physmem.c: New files.
+
+ * Makefile.am (libfetish_a_SOURCES): Add physmem.c.
+ (noinst_HEADERS): Add physmem.h.
+
+ * xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
+ 't' for compatibility with Solaris 8 sort.
+
+2000-12-18 Bruno Haible <haible@clisp.cons.org>
+
+ * config.charset: Add support for BeOS.
+
+2000-12-16 Jim Meyering <meyering@lucent.com>
+
+ * getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
+ SHELLS_FILE to a file name that's useful on djgpp systems.
+ Include stdlib.h.
+ (ADDITIONAL_DEFAULT_SHELLS): Define.
+ (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
+ Based mostly on a patch from Prashant TR.
+
+2000-12-16 Jim Meyering <meyering@lucent.com>
+
+ This bug had a serious impact on chown: `chown N:M FILE' (for integer
+ N and M) would have treated it like `chown N:N FILE'.
+
+ * userspec.c (parse_user_spec): Fix typo: s/u/g/.
+
+2000-10-31 Bruno Haible <haible@clisp.cons.org>
+
+ * config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB, VISCII,
+ CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256, CP1257
+ to the list of canonical encodings. Rename EUC-CN to GB2312.
+
+2000-12-08 Andreas Schwab <schwab@suse.de>
+
+ * mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
+ invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
+
+2000-12-07 Jim Meyering <meyering@lucent.com>
+
+ * stripslash.c (ISSLASH): Define.
+ (strip_trailing_slashes): Use ISSLASH rather than comparing against `/'.
+ From Prashant TR.
+
+ * dirname.c (FILESYSTEM_PREFIX_LEN): Define.
+ (dir_name_r): Declare this function as static.
+ [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
+ manifest itself on a name containing a mix of slashes and
+ backslashes.
+ Make this function work with names starting with a DOS-style
+ drive letter and colon prefix.
+ (dir_name): Append `.' if necessary.
+ Based mostly on patches from Prashant TR and Eli Zaretskii.
+
+ * dirname.h (dir_name_r): Remove prototype.
+
+2000-12-05 Jim Meyering <meyering@lucent.com>
+
+ * dirname.c (dir_name_r): Add `const' in a few local declarations.
+
+2000-12-04 Jim Meyering <meyering@lucent.com>
+
+ * path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
+ Also include memory.h, stdlib.h, unistd.h if appropriate.
+ Reported by Andreas Jaeger (conflicting declaration of malloc).
+
+2000-12-02 Jim Meyering <meyering@lucent.com>
+
+ * closeout.h: Make idempotent, to avoid some obscure warnings.
+
+2000-12-01 Paul Eggert <eggert@twinsun.com>
+
+ * memrchr.c: Include <config.h> before any system include file.
+
+2000-11-29 Paul Eggert <eggert@twinsun.com>
+
+ * dirname.c (dir_name_r): Fix typo: int -> size_t.
+
+2000-11-26 Jim Meyering <meyering@lucent.com>
+
+ * memcoll.c: Include sys/types.h. From Werner Almesberger.
+
+2000-11-22 Paul Eggert <eggert@twinsun.com>
+
+ * strftime.c (my_strftime): Do not invoke mbrlen with a
+ size of (size_t) -1; it's not portable.
+
+2000-11-17 Akim Demaille <akim@epita.fr>
+
+ * obstack.h: Formatting changes.
+ (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
+ prevent type checking.
+ (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
+ cast the value to (void *): assigning a `foo *' to a `void *'
+ variable is valid.
+ (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
+
+2000-11-17 Jim Meyering <meyering@lucent.com>
+
+ * strstr.c: Update from GNU libc.
+
+2000-11-16 Jim Meyering <meyering@lucent.com>
+
+ * strverscmp.c: Incorporate weak-alias-related changes from glibc.
+
+2000-11-11 Jim Meyering <meyering@lucent.com>
+
+ * error.c: Add a couple #includes, merging from GNU libc version.
+
+2000-11-10 Jim Meyering <meyering@lucent.com>
+
+ * obstack.h: Update from GNU libc.
+ * obstack.c: Likewise.
+
+2000-11-06 Paul Eggert <eggert@twinsun.com>
+
+ * 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 <meyering@lucent.com>
+
+ * 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 <meyering@lucent.com>
+
+ * xstat.in: Fix grammar in comment.
+
2000-10-28 Jim Meyering <meyering@lucent.com>
* memchr.c: Update from libc.
* getopt1.c: Likewise.
* memcmp.c: Likewise.
- * getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseek0.
+ * 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 <meyering@lucent.com>
* 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}"