Document recent checkins.
[gnulib.git] / lib / ChangeLog
index ebf591c..fb74cdb 100644 (file)
+2003-09-26  Paul Eggert  <eggert@twinsun.com>
+
+       * error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
+       (error_tail): Do not loop, reallocating temporary buffer, since
+       the original size is big enough.  This avoids one potential size
+       overflow calculation.  Check for size overflow when calculating
+       temporary buffer size.  Free temporary buffer when done, if
+       it was allocated with malloc; this closes a memory leak.
+
+       Merge error changes from glibc.
+
+       * error.c, error.h: Update copyright notice header to match glibc.
+       * error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
+       (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
+       Disable cancellation while printing error.
+       * error.h: Prepend __ to parameter names.
+
+2003-09-25  Karl Berry  <karl@gnu.org>
+
+       * argp-fmtstream.c, argp-help.c: update from libc.
+
+2003-09-25  Bruno Haible  <bruno@clisp.org>
+
+       * version-etc-2.h: New file, from version-etc.h with modifications.
+       * version-etc-2.c: New file, from version-etc.c with modifications.
+
+2003-09-25  Simon Josefsson  <jas@extundo.com>
+
+       * xgetdomainname.h: New file.
+       * xgetdomainname.c: New file.
+
+2003-09-25  Simon Josefsson  <jas@extundo.com>
+            Bruno Haible  <bruno@clisp.org>
+
+       * getdomainname.h: New file.
+       * getdomainname.c: New file.
+
+2003-09-24  Paul Eggert  <eggert@twinsun.com>
+
+       * linebuffer.c (freebuffer): Don't free the argument, just
+       the buffer associated with the argument.  Bug reported by
+       Simon Josefsson.
+
+2003-09-19  Karl Berry  <karl@gnu.org>
+
+       * argp.h: update from libc.
+
+2003-09-16  Paul Eggert  <eggert@twinsun.com>
+
+       * linebuffer.c (readlinebuffer): Return NULL immediately upon
+       input error, instead of returning NULL the next time we are called
+       (and therefore losing track of errno).
+
+2003-09-15  Paul Eggert  <eggert@twinsun.com>
+
+       * getndelim2.c (getndelim2): Don't trash errno when a read
+       fails, so that the caller gets the proper errno.
+
+       * readutmp.c (read_utmp): Likewise.
+       Check for fstat error.  Close stream and free storage
+       when failing.
+
+2003-09-14  Bruno Haible  <bruno@clisp.org>
+
+       * fwriteerror.h: New file.
+       * fwriteerror.c: New file.
+
+2003-09-14  Jim Meyering  <jim@meyering.net>
+
+       * getloadavg.c: Correct cpp indentation.
+       * strdup.c: Likewise.
+       * vasnprintf.c: Likewise.
+
+2003-09-12  Paul Eggert  <eggert@twinsun.com>
+
+       * argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
+       * obstack.c [!defined _LIBC]: Likewise.
+       * argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
+       * exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
+       * exitfail.c: Don't include stdlib.h; no longer needed.
+
+       More changes to assume C89 or better.
+
+       * error.c (error_tail): Assume vprintf.
+
+       * argmatch.c (getenv): Remove decl.
+       * progreloc.c (get_full_program_name): Define via prototype.
+       * setenv.c (clearenv): Likewise.
+       * stpncpy.c: Do not include <string.h> or <sys/types.h>; not
+       needed.
+       * strdup.c: Include <stdlib.h>, <string.h> unconditionally.
+       (malloc, memcpy): Remove decls.
+       * strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
+       (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
+       Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
+       (memcpy): Remove macro.
+       (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
+       (__P): Remove.  All uses removed.
+       (PTR): Remove.  All uses changed to void *.
+       (CHAR_BIT, NULL): Remove.
+       (spaces, zeros, memset_space, memset_zero)
+       [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
+       Remove.
+       (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
+       (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
+       Define with prototype.
+       Remove now-unnecessary prototype decl.
+       (extra_args_spec): Assume ANSI C.  All uses changed.
+       (extra_args_spec_iso): Remove.
+       (my_strftime, emacs_strftimeu): Define via prototype.
+       * strtod.c: Include <float.h>, <stdlib.h>, <string.h>
+       unconditionally.
+       (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
+       * strtoimax.c: Include <stdlib.h> unconditionally.
+       (strtoul, strtol): Remove decls.
+       * strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
+       LONG_MAX): Remove.
+       Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
+       (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
+       (LOCALE_PARAM_PROTO): New macro.
+       (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
+       (INTERNAL (strtol), strtol): Define with a prototype.
+       (PARAMS): Remove.  All uses removed.
+       * tempname.c: Include <string.h> unconditionally.
+       * userspec.c: Include <stdlib.h>, <string.h> unconditionally.
+       * xgethostname.c (main): Define with a prototype.
+       * xmalloc.c: Include "xalloc.h" first, to check interface.
+       Include <stdlib.h> unconditionally.
+       (calloc, malloc, realloc, free): Remove decls.
+       * xstrtod.c: Include "xstrtod.h" first, to check interface.
+       Include <stdlib.h> unconditionally.  Sort include file names.
+       (strtod): Remove.
+       (xstrtod): Define with a prototype.
+       * xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
+       (strtol, strtoul): Remove decls.
+
+2003-09-11  Paul Eggert  <eggert@twinsun.com>
+
+       * strndup.c: Don't include <stdio.h>, <sys/types.h>.
+       Include <stdlib.h>, <string.h> unconditionally.
+       Remove now-unnecessary cast to char *.
+       * strnlen.c: Include <string.h> unconditionally.
+       * yesno.c (yesno): Define with a prototype.
+
+2003-09-10  Bruno Haible  <bruno@clisp.org>
+
+       * strcspn.c: Include <string.h> unconditionally.
+       * strpbrk.c: Include <string.h> unconditionally.
+       * strstr.c: Include <string.h> unconditionally.
+       * unicodeio.c: Include <string.h> unconditionally.
+       * setenv.c: Include <stdlib.h> and <string.h> unconditionally.
+       * unsetenv.c: Likewise.
+       * xreadlink.c: Include <stdlib.h> unconditionally.
+       * yesno.c: Include <stdlib.h> unconditionally.
+       (rpmatch): Add prototype.
+
+2003-09-10  Jim Meyering  <jim@meyering.net>
+
+       * error.c: Correct indentation of cpp directives.
+
+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.
+
+       * posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
+       (main): Define with a prototype.
+
+       * posixver.c (getenv): Remove decl.
+
+       * putenv.c (malloc): Returns void *, not char *.
+       Include <string.h> unconditionally.
+       (strchr, memcpy, NULL): Do not define.
+
+       * readtokens.c: Include readtokens.h first, to test interface.
+       Include <stdlib.h>, <string.h> unconditionally.
+       (init_tokenbuffer): Define with a prototype.
+
+       * regex.c (PARAMS): Remove.  All uses removed.
+       All uses of _RE_ARGS removed, too.
+       Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
+       unconditionally.
+       (bzero): Assume memset exists.
+       (memcmp, memcpy, NULL): Remove.
+       (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
+       char, or assignments to local vars of type signed char.
+       (init_syntax_once, PREFIX(extract_number_and_incr),
+       PREFIX(print_partial_compiled_pattern),
+       PREFIX(print_compiled_pattern), PREFIX(print_double_string),
+       convert_mbs_to_wcs, print_fastmap, re_set_syntax,
+       PREFIX(regex_grow_registers), PREFIX(regex_compile),
+       PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
+       PREFIX(insert_op2), PREFIX(at_begline_loc_p),
+       PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
+       wcs_compile_range, byte_compile_range, truncate_wchar,
+       PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
+       re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
+       count_mbs_length, wcs_re_match_2_internal,
+       byte_re_match_2_internal, PREFIX(group_match_null_string_p),
+       PREFIX(alt_match_null_string_p),
+       PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
+       re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
+       regfree, PREFIX(extract_number)): Define with prototype.  Remove
+       now-unnecessary declaration, if any.
+       (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
+       regcomp, regexec):
+       Remove now-unnecessary casts among pointer types.
+       * regex.h (_RE_ARGS): Remove.  All uses removed.
+
+       * rename.c: Include <stdlib.h>, <string.h> unconditionally.
+       (free): Remove decl.
+
+       * rpmatch.c: Include <stdlib.h> unconditionally.
+
+       * same.c: Include <stdlib.h>, <string.h> unconditionally.
+       (free): Remove decl.
+
+       * save-cwd.c: Include <stdlib.h> unconditionally.
+       * xgetcwd.c: Likewise.
+
+       * stat.c: Include <stdlib.h>, <string.h> unconditionally.
+       (free): Remove decl.
+
+       * strchrnul.c (strchrnul): Define with a prototype.
+       Fix bug: c_in was not converted to char before searching.
+
+       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.
+       * 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>
 
 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.
        * exclude.c: (new_exclude, add_exclude): Remove casts that are
        unnecessary now that we assume C89 or better.  This change
        imported from coreutils.
        posixtime failures better.
        Improve the test data (in comments only).
 
        posixtime failures better.
        Improve the test data (in comments only).
 
-2003-06-02  Jim Meyering  <jim@meyering.net>
-
-       * stdbool.h.in: Rename to stdbool.hin.
-
 2003-05-30    <karl@gnu.org>
 
        * mktime.c: update from libc.
 2003-05-30    <karl@gnu.org>
 
        * mktime.c: update from libc.
        http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
 
 2003-03-03  Paul Eggert  <eggert@twinsun.com>
        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
 
        * 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,...),
        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>
 
 
        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
 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>
 
 
 2002-06-22  Paul Eggert  <eggert@twinsun.com>
 
        included.
 
        * regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
        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-30  Akim Demaille  <akim@epita.fr>
 
 2001-11-18  Jim Meyering  <meyering@lucent.com>
 
        * tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
 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 (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
        * 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.
        /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
 
        * 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-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
 
 
 2001-01-16  Jim Meyering  <meyering@lucent.com>
 
 
 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>
        From Bruno Haible.
 
 2001-01-14  Jim Meyering  <meyering@lucent.com>
 
 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
 
 
 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.
        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
 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>
 
 
 2000-06-03  Jim Meyering  <meyering@lucent.com>
 
        Reported by Christian Krackowizer.
 
        * quotearg.c (ISASCII): Add #undef and move definition to follow
        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.
 
        (ISPRINT): Likewise.
        Reported by Tom Tromey.
 
 
 2000-01-17  Jim Meyering  <meyering@lucent.com>
 
 
 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>
 
 
 2000-01-16  Paul Eggert  <eggert@twinsun.com>