+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.
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}"