Optimization: Avoid unnecessary stat() calls.
[gnulib.git] / lib / ChangeLog
index 279148d..a0e46ab 100644 (file)
@@ -1,3 +1,296 @@
+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-11  Bruno Haible  <bruno@clisp.org>
+
+       * hash-pjw.c: Add comment about low quality of this function.
+
+2003-01-12  Paul Eggert  <eggert@twinsun.com>
+
+       Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
+       to avoid collisions with libcurses and libreadline.
+
+       * Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
+       * getstr.h, getstr.c: Remove.
+       * getline.c: Include "getline.h", to check interface.
+       Move body of old getstr.c here: this defines MIN_CHUNK and
+       declares getdelim2, which is renamed from getstr.
+       (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
+
+       * linebuffer.c (readlinebuffer): Renamed from readline.
+       All uses changed.
+       * linebuffer.h: Likewise.
+       (readline): Remove backward-compatibility macro.
+
+2003-01-12  Jim Meyering  <jim@meyering.net>
+
+       * makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
+
+2003-01-10  Bruno Haible  <bruno@clisp.org>
+
+       * alloca_.h: New file.
+       * getdate.y: Unconditionally include alloca.h.
+       * makepath.c: Likewise.
+       * setenv.c: Likewise.
+       * userspec.c: Likewise.
+
+2003-01-09  Bruno Haible  <bruno@clisp.org>
+
+       * stdbool.h.in: New file.
+
+2003-01-08  Bruno Haible  <bruno@clisp.org>
+
+       * safe-read.c: Include specification header first, to ensure its
+       selfcontainedness.
+       * full-write.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-07  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.
+
+2003-01-06  Jim Meyering  <jim@meyering.net>
+
+       * version-etc.c: Update year in translatable copyright string.
+
+2002-12-25  Bruno Haible  <bruno@clisp.org>
+
+       * strtoimax.c: Include <stdint.h> as an alternative to <inttypes.h>.
+       * xstrtol.h: Likewise.
+       * xstrtoimax.c: Likewise.
+       * xstrtoumax.c: Likewise.
+       * human.h: Likewise.
+
+       * tempname.c: Include <inttypes.h> too. Avoids a compilation error
+       on systems that have <inttypes.h> but not <stdint.h>.
+
+2002-12-31  Paul Eggert  <eggert@twinsun.com>
+
+       * memcoll.c (memcoll): Fall back on a simple algorithm using
+       memcmp if strcoll doesn't work.
+
+2002-12-23  Bruno Haible  <bruno@clisp.org>
+
+       * localcharset.h: New file.
+       * localcharset.c: Include it.
+       * unicodeio.c: Likewise.
+
+2002-12-22  Bruno Haible  <bruno@clisp.org>
+
+       * utime.c (utime_null): No need to call ftruncate if the file was
+       nonempty.
+
+2002-12-23  Bruno Haible  <bruno@clisp.org>
+
+       * memcoll.c (STRCOLL): New macro.
+       (memcoll): Use it.
+
+2002-12-22  Bruno Haible  <bruno@clisp.org>
+
+       * getstr.h (getstr): Define, to avoid clash with libcurses.
+       * linebuffer.h (readline): Define, to avoid clash with libreadline.
+
+2002-12-22  Bruno Haible  <bruno@clisp.org>
+
+       * getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not HAVE_TM_ZONE.
+
+2002-12-23  Bruno Haible  <bruno@clisp.org>
+
+       * getline.h: Include <stddef.h>, for size_t.
+
+       * unicodeio.h: Include <stddef.h>, for size_t.
+       * unicodeio.c: Don't include <stddef.h>.
+
+2002-12-17  Bruno Haible  <bruno@clisp.org>
+
+       * canon-host.c (strdup): Remove unused declaration.
+
+       * fsusage.c: Include full_read.h.
+       (get_fs_usage): Use full_read instead of safe_read.
+
+       * utime.c (utime_null): Use SAFE_READ_ERROR.
+
+2002-12-11  Bruno Haible  <bruno@clisp.org>
+
+       * setenv.h: Rewritten to cope with systems that have setenv() but not
+       unsetenv().
+       * setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
+       modifications:
+
+       2002-12-11  Bruno Haible  <bruno@clisp.org>
+
+               * setenv.c (alloca): Fall back to malloc.
+               (freea): New macro.
+               (setenv): Use freea() to free memory allocated with alloca().
+
+       2002-11-13  Bruno Haible  <bruno@clisp.org>
+
+               * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
+               function declarations.
+               * unsetenv.c (unsetenv): Likewise.
+
+       2002-03-04  Bruno Haible  <bruno@clisp.org>
+
+               Portability to AIX 4.3.3.
+               * unsetenv.c: New file, extracted from setenv.c.
+               * setenv.c: Move the unsetenv() function to unsetenv.c.
+
+       2001-12-20  Bruno Haible  <bruno@clisp.org>
+
+               * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
+               use malloc instead. For SunOS4.
+
+       2001-12-11  Bruno Haible  <bruno@clisp.org>
+
+               * setenv.c: Declare alloca.
+               (compar_fn_t): New typedef.
+               (KNOWN_VALUE, STORE_VALUE): Use it.
+
+       * Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
+       setenv.h.
+
+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 sytems.
+
+2002-12-06  Jim Meyering  <jim@meyering.net>
+
+       * error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
+
+       Merge in changes from libc's misc/error.c, in preparation
+       for the merge of gnulib's changes 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.
+       [_LIBC]: Include <libio/libioP.h>.
+       [USE_IN_LIBIO]: Include <libio/iolibio.h>
+       (fflush): Tweak definition to use INTUSE.
+       (putc): Define.
+
+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  Paul Eggert  <eggert@twinsun.com>
+
+       Do not generate unlocked-io.h automatically, since it's easier to
+       maintain it by hand.
+
+       * unlocked-io.h: New file, from GNU diffutils,
+       but with proper copyright notice and attribution.
+       * 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-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: New file.  Contents mostly from xstat.in.
+       * stat.c: Rework so that it may serve to define rpl_lstat, too.
+       * lstat.c: New file. 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.c, safe-write.c: Change variable names and comments, but
+       not semantics, to minimize the differences between these two files.
+       (safe_read): Change comment to mention SAFE_READ_ERROR.
+
+       * safe-read.c (IS_EINTR): Define.
+       (safe_read): Use IS_EINTR in place of in-function cpp directives.
+
+2002-12-02  Bruno Haible  <bruno@clisp.org>
+
+       * safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
+       Define, taken from safe-read.c.
+       (INT_MAX): Provide fallback.
+       (safe_write): Rewrite to iterate IFF the write fails with EINTR.
+       * safe-write.h (SAFE_WRITE_ERROR): Define.
+
+       * safe-read.c (EINTR): Remove definition.
+       (safe_read): Don't use EINTR if it is absent.
+
+2002-12-02  Jim Meyering  <jim@meyering.net>
+
+       * safe-read.c (EINTR): Define.
+       (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
+       (INT_MAX): Provide fallback.
+       (safe_read): Rewrite to iterate IFF the read fails with EINTR.
+
+       * safe-read.h (SAFE_READ_ERROR): Define.
+
+2002-12-01  Jim Meyering  <jim@meyering.net>
+
+       * safe-read.c: (safe_read): Also exit the loop when read returns zero.
+       (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
+
+2002-11-27  Paul Eggert  <eggert@twinsun.com>
+
+       * hash.c (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
+       hash_rehash): Replace `if (limit <= value) abort ();' with
+       `if (! (value < limit)) abort ();', for readability.
+
+2002-11-26    <karl@gnu.org>
+
+       * strdup.c: copy from libc again, with jim's ok.
+       * .cppi-disable: re-add strdup.c
+
+2002-11-25    <karl@gnu.org>
+
+       * strtoll.c: copy from libc, meaning we now #include <strtol.c>
+       instead of "strtol.c".
+
+2002-11-25  Jim Meyering  <jim@meyering.net>
+
+       * mktime.c: Sync from libc, now that it has the latest fix.
+
+2002-11-24    <karl@gnu.org>
+
+       * error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
+       regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
+
 2002-11-24  Jim Meyering  <jim@meyering.net>
 
        Update from coreutils: