Remove K&R cruft.
[gnulib.git] / lib / ChangeLog
index 8bedcba..32a2b80 100644 (file)
@@ -1,3 +1,713 @@
+2003-09-09  Paul Eggert  <eggert@twinsun.com>
+
+       More K&R removal.
+
+       * acosl.c (main): Use a prototype.
+       * asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
+       tanl.c: Likewise.
+
+       * 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.
+
+       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.
+       * fatal.c: Include "fatal.h" first, to test interface.
+       Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
+       (VA_START): Remove; all uses changed to va_start.
+       [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
+       this case.
+       (exit): Remove decl.
+       (fatal): Prototype unconditionally.  Assume va_start works.
+       Abort at end, to pacify gcc.
+
+       * 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>
+
+       * getversion.c: Remove; was migrated to backupfile.c in 1997.
+       getversion.c should have been removed then, but was accidentally
+       preserved.
+
+       * utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
+       (utime_null): Fix typo: 'st' was sometimes called 'sb'.
+
+2003-09-07  Paul Eggert  <eggert@twinsun.com>
+
+       * time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
+       copy_tm_result.  Bug reported by Simon Josefsson in
+       <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
+
+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>.
+
+       * timegm.c: Switch to glibc implementation, with the following changes:
+       [defined HAVE_CONFIG_H]: Include <config.h>.
+       [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
+       (__mktime_internal) [!defined _LIBC]: New decl.
+       (__gmtime_r) [!defined _LIBC]: New macro and function.
+       (timegm): Use a prototype, since gnulib assumes C89.
+       Do not bother declaring tmp to be const, as it's not really usefu.
+       * timegm.h: Hoist "#include <time.h>" out of #ifdef.
+       (timegm): Declare only if HAVE_DECL_TIMEGM.
+
+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 got lost (I guess during the
+       coreutils merge?).
+
+2003-08-31  Simon Josefsson  <jas@extundo.com>
+
+       * timegm.h: New file.
+       * timegm.c: New file.  Based on wget-1.8.2/src/http.c:mktime_from_utc.
+
+2003-08-31  Karl Berry  <karl@gnu.org>
+
+       * argp.h: update from libc.
+
+2003-08-28  Bruno Haible  <bruno@clisp.org>
+
+       * binary-io.h: Undefine O_BINARY before defining it. This avoids a
+       warning on QNX, which defines O_BINARY to 000000.
+
+2003-08-24  Bruno Haible  <bruno@clisp.org>
+
+       * binary-io.h: Include <stdio.h>, to avoid a compilation error when
+       MSVC7 <stdio.h> is included later.
+
+2003-08-20  Bruno Haible  <bruno@clisp.org>
+
+       * progname.h: New file, from GNU gettext.
+       * progname.c: New file, from GNU gettext.
+       * progreloc.c: New file, from GNU gettext.
+
+2003-08-19  Bruno Haible  <bruno@clisp.org>
+
+       * xstrdup.c: Assume <string.h> exists.
+
+2003-08-18  Jim Meyering  <jim@meyering.net>
+
+       * setenv.h: Indent nested cpp directive.
+       * vasnprintf.c: Remove trailing blanks.
+
+2003-08-17  Simon Josefsson  <jas@extundo.com>
+           Bruno Haible  <bruno@clisp.org>
+
+       * xstrndup.h: New file.
+       * xstrndup.c: New file.
+
+2003-08-17  Bruno Haible  <bruno@clisp.org>
+
+       * strndup.h: New file.
+
+2003-08-16  Paul Eggert  <eggert@twinsun.com>
+
+       * regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
+       space, undoing this 2003-08-12 change:
+       <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
+
+2003-08-16  Jim Meyering  <jim@meyering.net>
+
+       Merge from coreutils.
+       * xstrtoimax.c: #else #if -> #elif.
+       * xstrtoumax.c: Likewise.
+
+2003-08-15  Paul Eggert  <eggert@twinsun.com>
+
+       * config.charset, ref-add.sin, ref-del.sin: Use three spaces,
+       rather than tab, after '#' in shell-script copyright notices.
+       Suggested by Bruno Haible.
+
+2003-08-15  Jim Meyering  <jim@meyering.net>
+       and Paul Eggert  <eggert@twinsun.com>
+
+       Merge from coreutils.
+       * readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
+       member but strut utmpx does not.  Needed for AIX 4.3.3.
+       (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
+
+2003-08-15  Jim Meyering  <jim@meyering.net>
+
+       Merge from coreutils.
+       * xgethostname.c: Include <stdlib.h>.
+       (xghostname): Don't exit for anything other than memory-related
+       failure; just return NULL.
+       * userspec.c: Include "posixver.h".
+       (parse_user_spec): Accept `.' as a separator only
+       in pre-POSIX-200112 mode.
+       * strtoimax.c: Use #elif rather than #else #if.
+       * 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.
+       [!defined _NL_CURRENT && HAVE_STRFTIME]:
+       Use underlying_strftime for %r.
+       * sha.c: Merge in some clean-up and optimization changes from glibc.
+       * sha.c (sha_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.
+       * realloc.c: Update copyright date.
+
+2003-08-14  Jim Meyering  <jim@meyering.net>
+
+       Merge from coreutils.
+       * obstack.h: Whitespace changes.
+       * mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
+       and xcalloc return values.
+       (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.
+       (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.
+
+2003-08-14  Jim Meyering  <jim@meyering.net>
+       and Paul Eggert  <eggert@twinsun.com>
+
+       Merges from coreutils, plus other fixes.
+       * physmem.c: Merge in portability changes from gcc/libiberty
+       to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
+       for credits and details.  Thanks to Kaveh Ghazi for helping
+       to keep these files in sync.
+       (ARRAY_SIZE): Define it.
+       (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
+       * memcasecmp.c: Remove unnecessary parentheses after 'defined'.
+       (memcasecmp): Don't assume size_t fits in unsigned int.
+       Remove casts and duplicate code.
+       * md5.c: Include <string.h> and <stdlib.h> unconditionally.
+       (memcpy): Remove definition.
+       Merge in some clean-up and optimization changes from glibc.
+       [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.
+       * md5.h (md5_uintptr): Define.
+       * makepath.c (CLEANUP_CWD): Report an error if we failed to
+       return to the initial working directory.  Preserve errno
+       for caller.
+       * idcache.c: Include "xalloc.h".
+       (xmalloc, xrealloc): Remove decls.
+       (getuser): Remove casts no longer required in C89.
+       * human.c: Include stdio.h, for sprintf.
+       * group-member.c: Include "xalloc.h".
+       (xmalloc, xrealloc): Remove decls.
+       (get_group_info): Remove casts no longer required in C89.
+       * getusershell.c (readname): Remove casts no longer required in C89.
+       * gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
+       * getline.c: Whitespace fix, from coreutils.
+
+2003-08-13  Paul Eggert  <eggert@twinsun.com>
+
+       * exclude.c: Include <ctype.h>
+       (IN_CTYPE_DOMAIN): New macro.
+       (is_space): New fn.
+       (add_exclude_file): If LINE_END is a space, ignore trailing spaces
+       and empty lines.
+
+       * argp-help.c, argp-parse.c, config.charset, getopt.h:
+       Undo previous (whitespace-only) change.
+
+2003-08-12  Paul Eggert  <eggert@twinsun.com>
+
+       * argp-help.c, argp-parse.c, config.charset, getopt.h:
+       Normalize leading white space and remove trailing white space.
+       * ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
+       notice, as per ../config/srclist-update.
+
+       Merge from coreutils.
+       * euidaccess.h: New file.
+       * euidaccess.c: Include it.
+       * .cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
+       vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
+       * regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
+
+2003-08-11  Bruno Haible  <bruno@clisp.org>
+
+       * vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
+       (vasnprintf): Use it instead of wcslen.
+
+2003-08-11  Bruno Haible  <bruno@clisp.org>
+
+       * stdbool_.h (_Bool): Undo last change; instead use a negative enum
+       value to ensure that _Bool promotes to int. Use #define for _Bool when
+       using the Solaris C compiler. Adds comments suggested by Paul Eggert.
+
+2003-08-10  Karl Berry  <karl@gnu.org>
+
+       * regex.h: update from libc (whitespace fix).
+
+2003-08-09  Paul Eggert  <eggert@twinsun.com>
+
+       Merge some files from coreutils.  These changes were
+       originally made by Jim Meyering.
+       * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
+       many older Unixes require this.
+       * lib/alloca.c (alloca): Remove cast to argument of free;
+       no longer needed in C89.
+       * lib/alloca_.h, lib/regex.h: Fix white space to match
+       what GNU indent does.
+
+2003-08-05  Paul Eggert  <eggert@twinsun.com>
+
+       * bumpalloc.h: Remove.
+
+2003-08-04  Paul Eggert  <eggert@twinsun.com>
+
+       * getloadavg.c: Change copyright notice and spacing to conform to
+       GNU coding style.
+
+       Merge from coreutils.
+       * error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is 1.
+       From glibc.
+       * getdate.y (date): Also accept dates like May-23-2003; suggestion
+       from Karl Berry, implemented by Jim Meyering.
+       * getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
+       from Dmitry V. Levin.
+       Remove anachronistic cast of xrealloc.
+       * fnmatch_.h (__const): Remove.  Use 'const'.
+       * 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-08-04  Dave Love <d.love@dl.ac.uk>
+
+       [From Emacs.]
+
+       * getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
+       #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
+       F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
+       obsolete NLIST_NAME_UNION.
+       [__GNU__]: Undef BSD and FSCALE.
+       [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
+
+2003-08-03  Paul Eggert  <eggert@twinsun.com>
+
+       * stdbool_.h (_Bool): Make it signed char, instead of
+       an enum type, so that it's guaranteed to promote to int.  See:
+       <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
+
+2003-07-31  Paul Eggert  <eggert@twinsun.com>
+
+       * strerror.c: Include config.h, limits.h.  Declare sprintf.
+       (strerror): Don't assume that a printable int fits in 14 bytes.
+
+2003-07-24  Derek Robert Price  <derek@ximbiot.com>
+           Bruno Haible  <bruno@clisp.org>
+
+       * getline.h (getline, getdelim): Change return type to ssize_t.
+       * getline.c (getline, getdelim): Likewise.
+       Remove _GNU_SOURCE define; now it's defined in config.h through
+       m4/getline.m4.
+
+2003-07-22  Paul Eggert  <eggert@twinsun.com>
+
+       * xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
+       over-parenthesization in macros.
+
+       Sync with coreutils.
+
+       * xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
+       required by C99.
+
+       Use `exit_failure' for xalloc and xmemcoll instead of their own
+       private exit-failure variables.
+       * xalloc.h (xalloc_exit_failure): Remove.
+       * xmalloc.c: Likewise.  Include exitfail.h.
+       (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
+       * xmemcoll.h (xmemcoll_exit_failure): Remove.
+       * xmemcoll.c: Likewise.  Include exitfail.h.
+       (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
+
+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-18  Bruno Haible  <bruno@clisp.org>
+
+       * getndelim2.h: New file.
+       * getndelim2.c: Make into a module of its own. Include config.h,
+       getndelim2.h.
+       (getndelim2): Make non-static. Change return type to ssize_t.
+       * getline.h: Change argument names.
+       * getline.c: Include getndelim2.h instead of getndelim2.c.
+       * getnline.c: Include getndelim2.h.
+
+2003-07-17  Bruno Haible  <bruno@clisp.org>
+
+       * Makefile.am: Remove file.
+       * Makefile.in: Remove file.
+
+2003-07-17  Bruno Haible  <bruno@clisp.org>
+
+       * getnline.h: New file.
+       * getnline.c: New file.
+       * getndelim2.c: New file, extracted from getline.c.
+       (getndelim2): Renamed from getdelim2, with added nmax argument.
+       * getline.c: Include getndelim2.c.
+       (getdelim2): Moved out to getndelim2.c.
+       (getline, getdelim): Update.
+
+2003-07-15    <karl@gnu.org>
+
+       * vasnprintf.c: update from gettext.
+
+2003-07-15  Jim Meyering  <jim@meyering.net>
+
+       * makepath.c (make_path): Enclose diagnostic in _(...).
+
+2003-07-14  Paul Eggert  <eggert@twinsun.com>
+
+       * asnprintf.c, asprintf.c, config.charset, gettext.h,
+       localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
+       printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
+       ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
+       vasprintf.c, vasprintf.h: Regenerate.  These files are now being
+       updated automatically by ../config/srclist-update.  This changes
+       their license from LPGL to GPL.
+
+2003-07-14  Jim Meyering  <jim@meyering.net>
+
+       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.
+
+       * 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.
+
+2003-07-14  Simon Josefsson  <jas@extundo.com>
+
+       * mempcpy.h: New file.
+       * mempcpy.c: New file.
+
+2003-07-14  Paul Eggert  <eggert@twinsun.com>
+
+       * ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
+       sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
+       unicodeio.c, unicodeio.h, unlocked-io.h:
+       Switch from LGPL to GPL.
+
+2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
+
+       * obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
+       it breaks C++ compilation.
+       [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
+
+2003-07-10  Jim Meyering  <jim@meyering.net>
+
+       * vasnprintf.c: Remove trailing blanks.
+       Make cpp indentation consistent.
+
+2003-07-09  Paul Eggert  <eggert@twinsun.com>
+
+       * alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
+       posixver.c, strftime.c, strnlen.c, strverscmp.c:
+       Switch from LGPL to GPL.
+
+2003-07-07  Paul Eggert  <eggert@twinsun.com>
+
+       * mktime.c: Fix some boundary cases and remove need for floating point.
+
+       Issue a compile-time diagnostic if time_t is floating point, or if
+       two's complement arithmetic is not in effect, or if arithmetic
+       right shift does not propagate the sign.  These assumptions were
+       all in the original code but they weren't checked.
+
+       (TIME_T_MIDPOINT, verify): New macros.
+       (__isleap): Remove; it has integer overflow problems.
+       (leapyear): New function, without those problems.
+       (ydhms_tm_diff): Remove; splitting into two parts.
+       (ydhms_diff): New function, containing the arithmetic part of
+       the old ydhms_tm_diff function.  Issue a compile-time
+       diagnostic if we are not using C99 integer division.
+       Avoid casts when possible.
+       (guess_time_tm): New function, containing the checking part of
+       the old ydhms_tm_diff function.  Return the new value, rather than
+       the difference between it and the old.  Accept a new argument T
+       so that *T specifies the old value.  Check for overflow in the result.
+
+       (__mktime_internal): Use a time_t offset, not a long int offset.
+       This undoes the 2003-06-04 change, which is no longer needed now
+       that we have better overflow checking.
+       (localtime_offset): Likewise.
+
+       (__mktime_internal): Avoid harmful overflow on hosts where time_t
+       and long are 64-bit but int is only 32-bit.
+       (ydhms_diff): Use long int to store year1 and yday1.
+       Issue a compile-time diagnostic if long int is not wide enough.
+
+       (__mktime_internal): Use long int to store adjusted year and yday.
+       Use plain C rather than preprocessor commands, if that doesn't
+       affect efficiency.
+       Check for overflow (and try to repair) after each probe
+       rather than checking only at the very end.  This avoids some bugs
+       (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
+       does not equal GMT offset at maximum time).
+       Use integer to check for overflow rather than floating point; this
+       is more portable to non-IEEE hosts, and is a tad faster.
+       When we detect that we are oscillating between two values,
+       don't check whether tm_isdst has the requested value, since
+       we already know the answer.  When tm_isdst has the wrong value,
+       use a different heuristic to find the right one, based on the
+       extreme values actually observed in practice in tz2003a,
+       rather than the (overly optimistic) "previous 3 calendar quarters".
+
+       (not_equal_tm, print_tm, check_result): Use "const T" rather than
+       "T const" to accommodate glibc style.
+       (check_result): Use less-confusing report format.  "long" -> "long int.
+       (main): Likewise.
+       Don't loop if the iteration overflows time_t.
+       Allow a negative step in the iteration.
+
+2003-07-01  Paul Eggert  <eggert@twinsun.com>
+
+       * xreadlink.c: Include <sys/types.h> unconditionally, instead of
+       having it depend on HAVE_SYS_TYPES_H.
+
+2003-06-25  Bruno Haible  <bruno@clisp.org>
+
+       * readlink.c: New file.
+
+2003-06-20  Bruno Haible  <bruno@clisp.org>
+
+       Assume C89, so PARAMS isn't needed.
+       * unicodeio.h (PARAMS): Remove.
+       * unicodeio.c: Don't use PARAMS.
+
+2003-06-18  Jim Meyering  <jim@meyering.net>
+
+       Merge changes from coreutils.
+       * readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
+       Remove explicit declarations of xmalloc and realloc.
+       Include xalloc.h.
+       (read_utmp): Remove anachronistic cast of xmalloc.
+
 2003-06-17  Paul Eggert  <eggert@twinsun.com>
 
        Assume C89, so PARAMS isn't needed.
        * 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-11  Simon Josefsson  <jas@extundo.com>
 
        * sysexit_.h: New file.
        * strchrnul.h: New file.
        * strchrnul.c: New file.
 
-2003-06=10  Simon Josefsson <jas@extundo.com>
+2003-06-10  Simon Josefsson <jas@extundo.com>
 
        * argp.h: New file, from glibc.
        * argp-ba.c: New file, from glibc.
 
 2003-06-05  Paul Eggert  <eggert@twinsun.com>
 
+       * mktime.c (__mktime_internal): When resolving a tm_isdst
+       mismatch, look in future quarters as well as past.  This fixes a
+       bug when processing fall-backwards gaps immediately after a long
+       period of daylight-saving time.
+
        * mktime.c: Assume freestanding C89 or better.
        (HAVE_LIMITS_H): Remove.  Assume it's 1.
        (__P): Remove; not used.
        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>
+           Bruno Haible  <bruno@clisp.org>
 
        * mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
        Reported by John Hughes, see
        2001-12-20  Bruno Haible  <bruno@clisp.org>
 
                * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
-               use malloc instead. For SunOS4.
+               use malloc instead. For SunOS 4.
 
        2001-12-11  Bruno Haible  <bruno@clisp.org>
 
 2002-06-22  Jim Meyering  <meyering@lucent.com>
 
        * fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
-       redefinition due to Solaris5.6's definition in /usr/include/sys/euc.h.
+       redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
 
 2002-06-22  Paul Eggert  <eggert@twinsun.com>
 
        included.
 
        * regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
-        __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
+       __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
 
 2001-11-30  Akim Demaille  <akim@epita.fr>
 
 2001-11-18  Jim Meyering  <meyering@lucent.com>
 
        * tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
-       on SunOS4.
+       on SunOS 4.
 
        * Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
        files will be created before anything else.
        * 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
+       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.
 
 2001-01-16  Jim Meyering  <meyering@lucent.com>
 
-       * basename.c: Include <stdio.h>, needed by assert on SunOS4.
+       * basename.c: Include <stdio.h>, needed by assert on SunOS 4.
        From Bruno Haible.
 
 2001-01-14  Jim Meyering  <meyering@lucent.com>
 
 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
 
-       * xgethostname.c (xgethostname): Protect against the SunOS5.5 bug
+       * 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-06-04  Jim Meyering  <meyering@lucent.com>
 
        * getugroups.c (getugroups): Cast -1 to gid_t, for systems like
-       SunOS4.1.4 for which gid_t is an unsigned type.
+       SunOS 4.1.4 for which gid_t is an unsigned type.
 
 2000-06-03  Jim Meyering  <meyering@lucent.com>
 
        Reported by Christian Krackowizer.
 
        * quotearg.c (ISASCII): Add #undef and move definition to follow
-       inclusion of wctype.h to work around solaris2.6 namespace pollution.
+       inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
        (ISPRINT): Likewise.
        Reported by Tom Tromey.