New module 'timegm'.
[gnulib.git] / lib / ChangeLog
index 772433a..9f5c07e 100644 (file)
@@ -1,5 +1,677 @@
+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.
+       * backupfile.h (PARAMS): Remove.  All uses removed.
+       * closeout.h, dirname.h, filemode.h, fsusage.h, getdate.h, getline.h,
+       group-member.h, hard-locale.h, hash.h, linebuffer.h, long-options.h,
+       makepath.h, memcasecmp.h, memcoll.h, modechange.h, mountlist.h,
+       path-concat.h, physmem.h, posixtm.h, quote.h, readutmp.h, same.h,
+       save-cwd.h, savedir.h, stdio-safer.h, strtoimax.c, strverscmp.h,
+       unistd-safer.h, version-etc.h, xalloc.h, xreadlink.h, xstrtod.h,
+       xstrtol.h: Likewise.
+       * 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.
+
+2003-05-20  Derek Price  <derek@ximbiot.com>
+
+       * stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is necessary.
+
+2003-06-10  Simon Josefsson  <jas@extundo.com>
+
+       * strchrnul.h: New file.
+       * strchrnul.c: New file.
+
+2003-06-10  Simon Josefsson <jas@extundo.com>
+
+       * argp.h: New file, from glibc.
+       * argp-ba.c: New file, from glibc.
+       * argp-eexst.c: New file, from glibc.
+       * argp-fmtstream.c: New file, from glibc.
+       * argp-fmtstream.h: New file, from glibc.
+       * argp-fs-xinl.c: New file, from glibc.
+       * argp-help.c: New file, from glibc.
+       * argp-namefrob.h: New file, from glibc.
+       * argp-parse.c: New file, from glibc.
+       * argp-pv.c: New file, from glibc.
+       * argp-pvh.c: New file, from glibc.
+       * argp-xinl.c: New file, from glibc.
+
+2003-06-07  Jim Meyering  <jim@meyering.net>
+
+       * readtokens.h: Put `Free Software Foundation, Inc.'
+       in place of my name in the copyright comment.
+       Remove definition and uses of __P.
+
+       From coreutils.
+       * stat.c: Don't declare xmalloc explicitly.
+       Instead, include "xalloc.h".
+       * readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
+       xrealloc, and xcalloc return values.
+       * xgetcwd.c (xgetcwd): Include "xgetcwd.h".
+       Improve comment.
+       * xgetcwd.h: Remove definition/uses of PARAMS.
+
+2003-06-06  Jim Meyering  <jim@meyering.net>
+
+       * stdbool_.h: Renamed from stdbool.h.in.
+
+2003-06-06  Jim Meyering  <jim@meyering.net>
+
+       Merge from coreutils.
+       * same.c: (same_name): Declare *_basename locals to be `const'.
+       Consolidate declarations and initializations of *_base* locals.
+
+       Merge from coreutils.
+       This avoids a core dump on systems without GNU putenv,
+       when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
+       * putenv.c (__set_errno, LOCK, UNLOCK): Define.
+       (unsetenv): New static function, from GNU libc.
+       (rpl_putenv): Use it.
+
+       * modechange.c: Remove trailing blanks.
+
+       Merge from coreutils.
+       * fsusage.c: Remove declaration of statfs.
+       It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
+
+       * posixtm.c: Include <stdbool.h> unconditionally.
+
+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.
+       (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
+       (mktime, not_equal_tm, print_tm, check_result,
+       main): Use prototypes.  Use const * where appropriate.
+       (main): Fix typo in testing code that uncovered by above changes.
+       (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
+
+2003-06-04  Paul Eggert  <eggert@twinsun.com>
+
+       * mktime.c: Fix Debian bug 177940
+       <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
+       (localtime_offset): Now long int, not time_t, because we want it
+       to be guaranteed to be signed.  All uses changed.
+       (__mktime_internal): If overflow would occur when adding offset,
+       don't add it.
+
+       Merge 'human' changes from coreutils.  Rewrite to support
+       locale-specific notations like thousands separators.
+       * human.c: Simplify authorship notice.
+       Include human.h immediately after config.h.
+       <sys/types.h>, <stdio.h>: Do not include; no longer needed.
+       <limits.h>: Do not include, since human.h does.
+       (SIZE_MAX, UINTMAX_MAX): New macros.
+       <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
+       <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
+       (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
+       (power_letter): Renamed from suffixes.
+       (generate_suffix_backwards): Remove.
+       (adjust_value): Now takes int style (because of human.h changes)
+       and long double value (for greater precision on some platforms).
+       (group_number): New function.
+       (human_readable): Use it.  Use integer options, not enum.
+       Put the options before the sizes in the arg list.
+       Support all the new options.
+       The old human_readable function has been removed;
+       use inttostr.h instead.
+       (human_readable, default_block_size, humblock):
+       Use uintmax_t, not int, for block sizes.
+       (human_readable_inexact, block_size_types): Remove.
+       (block_size_opts): New constant.
+       (human_options): Renamed from human_block_size, with new signature
+       that allows block sizes up to UINTMAX_MAX.  All callers changed.
+       * human.h: Add copyright and authorship notice.
+       Include <limits.h> and <stdbool.h> unconditionally.
+       (PARAMS): Remove.  All uses removed.
+       (LONGEST_HUMAN_READABLE): Add support for thousands separator.
+       (enum human_inexact_style): Remove tag; now a nameless enum.
+       (human_floor, human_ceiling, human_round_to_even): Now have
+       values 2, 0, 1 rather than -1, 1, 0.
+       (human_group_digits, human_suppress_point_zero, human_autoscale,
+       human_base_1024, human_SI, human_B): New constants.
+       (human_readable_inexact, human_block_size): Remove.
+       (human_readable): Size args are now uintmax_t, not int.
+       (human_options): New decl.
+
+       * exclude.c: (new_exclude, add_exclude): Remove casts that are
+       unnecessary now that we assume C89 or better.  This change
+       imported from coreutils.
+
+       * mktime.c (__mktime_internal): Do not reject negative timestamps
+       arbitrarily.  This is the same patch as 2003-05-28, but it got lost
+       in the 2003-05-30 sync from glibc.
+
+       .h files should stand alone, but we shouldn't include <sys/types.h>
+       if we can get away with just <stddef.h>.
+
+       * __fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
+       malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
+       rather than <sys/types.h>, as we merely need size_t.
+       * dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
+       to get size_t.
+       * hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
+       Include <stdio.h>, to get FILE.
+       * memcasecmp.c: Don't include <sys/types.h>, as we can assume
+       memcasecmp.h has included <stddef.h> and all we need is size_t.
+       * memcoll.c: Include "memcoll.h", which gets us size_t and checks
+       our interface, instead of including <sys/types.h>
+
+2003-06-02  Paul Eggert  <eggert@twinsun.com>
+
+       [from coreutils]
+       Fix some minor time-related bugs with POSIX time arguments.
+       Some valid time stamps were being rejected (notably -1, and
+       time stamps before 1900 on 64-bit hosts).  And some invalid
+       time stamps were being accepted, e.g. September 31.
+
+       * posixtm.h (posixtime): Return bool instead of time_t, so
+       that we can return (time_t) -1 successfully.
+       * posixtm.c: Likewise.
+       [HAVE_STDBOOL_H]: Include <stdbool.h>.
+       (bool, false, true) [!HAVE_STDBOOL_H]: New type.
+       (t): Remove static var.
+       (year, posix_time_parse): Now takes struct tm * arg to modify, instead
+       of static var.  All uses changed.
+       (year): Do not reject years before 1900; they can occur with
+       64-bit time_t.
+       (posix_time_parse): Do not check for out-of-range components;
+       that is now the caller's responsibility, since our checks were
+       only approximations.
+       (posixtime): Use mktime to check for out-of-range components,
+       since it knows them exactly.
+       If mktime returns (time_t) -1, check whether an error actually occurred
+       by invoking localtime on -1.
+       (main) [TEST_POSIXTIME]: Check for input data errors, and report
+       posixtime failures better.
+       Improve the test data (in comments only).
+
+2003-05-30    <karl@gnu.org>
+
+       * mktime.c: update from libc.
+
+2003-05-30  Bruno Haible  <bruno@clisp.org>
+
+       * config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
+       * localcharset.h: Likewise.
+       * localcharset.c: Likewise.
+
 2003-05-28  Paul Eggert  <eggert@twinsun.com>
 
+       Assume the headers required for C89 freestanding compilers.
+       * addext.c, backupfile.c, fsusage.c, human.c, pathmax.h,
+       rpmatch.c, userspec.c, xreadlink.c, xstrtol.c: Include <limits.h>
+       without checking for HAVE_LIMITS_H.
+       * backupfile.c, fsusage.c, hash.c, human.c, safe-read.c, userspec.c,
+       xstrtol.c (CHAR_BIT) : Don't define, since <limits.h> is guaranteed
+       to do that.
+       * fatal.c: Include <stdarg.h> without checking for __STDC__.
+       * exclude.c: Include <stdbool.h> unconditionally.
+       * tempname.c: Include <stddef.h> unconditionally.
+       * hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
+       * modechange.c, rpmatch.c (NULL): Don't define, since
+       <stddef.h> does that.
+       * quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
+       * safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
+       * safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer needed.
+       * xstrtol.c: Likewise.
+       * safe-read.c: Remove TYPE_SIGNED; no longer needed.
+       * savedir.c: Include <stddef.h> instead of defining NULL.
+
        * addext.c (addext): Use assignment rather than cast, to avoid
        warnings on some platforms.
 
        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.
 
        * argmatch.c: Include "quote.h".
        (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
-       quote function.  Reported by Göran Uddeborg.
+       quote function.  Reported by Göran Uddeborg.
 
 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
 
 
 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.
 
 
 2000-01-17  Jim Meyering  <meyering@lucent.com>
 
-       * interlock: Remove unused file.  Reported by François Pinard.
+       * interlock: Remove unused file.  Reported by François Pinard.
 
 2000-01-16  Paul Eggert  <eggert@twinsun.com>