* modules/fts (Files): Remove m4/inttypes-pri.m4.
[gnulib.git] / lib / ChangeLog
index b5800b9..3c99eb4 100644 (file)
@@ -1,3 +1,710 @@
+2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * fts.c: Don't worry about debugging on pre-C99-comopatible hosts;
+       the configuration hassle isn't worth it.
+       Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
+       (LONGEST_MODIFIER, PRIuMAX): Remove.
+
+2005-05-27  Bruno Haible  <bruno@clisp.org>
+
+       * getlogin_r.h: Remove second include of <stddef.h>.
+
+2005-05-25  Bruno Haible  <bruno@clisp.org>
+           Derek Price  <derek@ximbiot.com>
+
+       * getlogin_r.h: Simplify API documentation.
+
+2005-05-25  Derek Price  <derek@ximbiot.com>
+           Paul Eggert  <eggert@cs.ucla.edu>
+
+       * getlogin_r.c, getlogin_r.h: New files.
+
+2005-05-22  Bruno Haible  <bruno@clisp.org>
+
+       * minmax.h: Include <limits.h> only when it defines MIN, MAX.
+       Also include <sys/param.h> if it defines MIN, MAX.
+       Based on a patch by Derek Price <derek@ximbiot.com>.
+
+2005-05-22  Bruno Haible  <bruno@clisp.org>
+
+       * stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
+       (INT64_MIN): Fix definition.
+       Suggested by Paul Eggert <eggert@cs.ucla.edu>.
+
+       * stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
+       NEED_SIGNED_INT_TYPES.
+
+       * stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
+       HAVE_SYSTEM_INTTYPES.
+
+2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
+       so that unistd-safer.h (GPL'ed code) need not be included.
+
+2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       New fts module.
+       * fts.c: Don't include "cycle-check.h" or "hash.h".
+       (setup_dir, free_dir): New functions.
+       (enter_dir, leave_dir): Define trivial
+       alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
+       (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
+       (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
+       (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
+       Move to fts-cycle.c.
+       (fts_open): Use setup_dir.
+       (fts_close): Use free_dir.
+       (fts_read): Have just one copy of the ENTER_DIR code rather than three.
+       This adds a label and some gotos, but the alternatives were messier.
+       Check for memory allocation failure when entering a dir.
+       (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
+       * fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
+       (FTS): New member fts_cycle, that is a union that contains the
+       old active_dir_ht and cycle_state.  All uses changed to mention
+       fts_cycle.ht and fts_cycle.state.
+       * fts-cycle.c: New file, containing GPL'ed code migrated out of
+       fts.c, with the following changes:
+       (setup_dir, free_dir): New functions.
+       (enter_dir): Now returns bool.  Return true if successful, false
+       if memory exhausted.  All callers changed.
+       Do not bother partly cleaning up on
+       memory allocation failure; that is free_dir's job.
+       However, free ad if hash_insert fails, to avoid memory leak.
+       (enter_dir, leave_dir): Accommodate change to FTS by inspecting
+       fts->fts_options to see which union member to use.
+
+2005-05-20  Jim Meyering  <jim@meyering.net>
+
+       * unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
+       Now a macro, to pacify GCC.
+
+2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
+
+       * chown.c (rpl_chown): Return -1 on failure.
+
+2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * canonicalize.c: Include canonicalize.h first, to test interface.
+       Include <stddef.h> unconditionally, since we assume C89 now.
+       All uses of PTR_INT_TYPE replaced by ptrdiff_t.
+       * fts.c: Include fts_.h first, to check interface.
+       Do not include intprops.h; no longer needed.
+       Include cycle-check.h and hash.h, since fts_.h no longer does.
+       Remove unnecessary casts of closedir to void.
+       (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
+       decide whether to decrement nlinks.
+       * fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
+       (FTS): Use struct hash_table * instead of Hash_table, so that
+       we no longer need to include hash.h here.
+
+2005-05-17  Jim Meyering  <jim@meyering.net>
+
+       * fts.c, fts_.h: New files, from coreutils.
+
+2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Sync from coreutils.
+       * unlinkdir.c, unlinkdir.h: New files.
+       * gethrxtime.c, gethrxtime.h, getpass.h, mountlist.h, path-concat.c,
+       regex.h, unlocked-io.h, xtime.h:
+       White space changes only.
+       * makepath.c (make_path): Port to hosts where leading "//" is special.
+       * yesno.c: Include getline.h, not ctype.h.
+       (yesno): Don't remove leading white space; POSIX doesn't allow it.
+       Use getline to remove arbitrary restriction on response length.
+
+2005-05-13  Bruno Haible  <bruno@clisp.org>
+
+       * stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
+       int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
+       UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
+       INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
+       INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
+       Add support for 64-bit integers in the MSVC compiler.
+
+2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * byteswap_.h, getsubopt.h, iconvme.h, strsep.c, strsep.h:
+       Change the initial comment to refer to GPL, not LGPL.
+       gnulib-tool will change it to LGPL as needed.
+
+       * __fpending.c, acl.c, acl.h, alloca_.h, allocsa.c, allocsa.h,
+       argmatch.c, argmatch.h, argp-ba.c, argp-eexst.c, argp-fmtstream.c,
+       argp-fmtstream.h, argp-fs-xinl.c, argp-help.c, argp-namefrob.h,
+       argp-parse.c, argp-pv.c, argp-pvh.c, argp-xinl.c, argp.h, argz.c,
+       argz_.h, asnprintf.c, asprintf.c, atanl.c, backupfile.c,
+       backupfile.h, base64.c, base64.h, basename.c, binary-io.h,
+       byteswap_.h, c-ctype.c, c-ctype.h, c-stack.c, c-stack.h,
+       c-strtod.c, calloc.c, canon-host.c, canonicalize.c,
+       canonicalize.h, ceill.c, chdir-long.c, chdir-long.h, chown.c,
+       classpath.c, classpath.h, cloexec.c, closeout.c, closeout.h,
+       concatpath.c, config.charset, copy-file.c, copy-file.h,
+       cycle-check.c, cycle-check.h, diacrit.c, diacrit.h, dirfd.c,
+       dirfd.h, dirname.c, dirname.h, dummy.c, dup-safer.c, dup2.c,
+       eealloc.h, error.c, error.h, euidaccess.c, exclude.c, exclude.h,
+       execute.c, execute.h, exit.h, exitfail.c, exitfail.h, expl.c,
+       fatal-signal.c, fatal-signal.h, fd-safer.c, file-type.c,
+       file-type.h, fileblocks.c, filemode.c, filemode.h, findprog.c,
+       findprog.h, floorl.c, fnmatch.c, fnmatch_.h, fnmatch_loop.c,
+       fopen-safer.c, free.c, frexpl.c, fsusage.c, fsusage.h,
+       full-read.c, full-read.h, full-write.c, full-write.h,
+       fwriteerror.c, fwriteerror.h, gai_strerror.c, gcd.c, gcd.h,
+       getaddrinfo.c, getaddrinfo.h, getcwd.c, getcwd.h, getdate.h,
+       getdate.y, getdomainname.c, getdomainname.h, getgroups.c,
+       gethostname.c, gethrxtime.c, gethrxtime.h, getline.c, getline.h,
+       getloadavg.c, getndelim2.c, getndelim2.h, getnline.c, getnline.h,
+       getopt.c, getopt1.c, getopt_.h, getopt_int.h, getpagesize.h,
+       getpass.c, getpass.h, getsubopt.c, getsubopt.h, gettext.h,
+       gettime.c, gettimeofday.c, getugroups.c, getusershell.c,
+       group-member.c, group-member.h, hard-locale.c, hard-locale.h,
+       hash-pjw.c, hash-pjw.h, hash.c, hash.h, human.c, human.h,
+       iconvme.c, iconvme.h, idcache.c, inet_ntop.h, intprops.h,
+       inttostr.c, inttostr.h, isdir.c, javacomp.c, javacomp.h,
+       javacomp.sh.in, javaexec.c, javaexec.h, javaexec.sh.in,
+       lbrkprop.h, lchown.c, ldexpl.c, linebreak.c, linebreak.h,
+       linebuffer.c, linebuffer.h, localcharset.c, localcharset.h,
+       logl.c, long-options.c, long-options.h, lstat.c, makepath.c,
+       makepath.h, malloc.c, mathl.h, mbswidth.c, mbswidth.h, md5.c,
+       md5.h, memcasecmp.c, memcasecmp.h, memchr.c, memcmp.c, memcoll.c,
+       memcoll.h, memcpy.c, memmem.c, memmem.h, mempcpy.c, mempcpy.h,
+       memrchr.c, memrchr.h, memset.c, minmax.h, mkdir.c, mkdtemp.c,
+       mkdtemp.h, mkstemp.c, mktime.c, modechange.c, modechange.h,
+       mountlist.c, mountlist.h, nanosleep.c, obstack.c, obstack.h,
+       openat.c, openat.h, pagealign_alloc.c, pagealign_alloc.h,
+       path-concat.c, path-concat.h, pathmax.h, pathname.h, physmem.c,
+       physmem.h, pipe.c, pipe.h, poll.c, poll_.h, posixtm.c, posixtm.h,
+       posixver.c, printf-args.c, printf-args.h, printf-parse.c,
+       printf-parse.h, progname.c, progname.h, progreloc.c, putenv.c,
+       quote.c, quote.h, quotearg.c, quotearg.h, raise.c, readlink.c,
+       readtokens.c, readtokens.h, readtokens0.c, readtokens0.h,
+       readutmp.c, readutmp.h, realloc.c, ref-add.sin, ref-del.sin,
+       regex.c, regex.h, rename.c, rmdir.c, rpmatch.c, safe-read.c,
+       safe-read.h, safe-write.c, safe-write.h, same.c, same.h,
+       save-cwd.c, save-cwd.h, savedir.c, savedir.h, setenv.c, setenv.h,
+       settime.c, sh-quote.c, sh-quote.h, sha1.c, sha1.h, sig2str.c,
+       sig2str.h, sincosl.c, snprintf.c, snprintf.h, sqrtl.c,
+       stat-macros.h, stat.c, stdbool_.h, stdint_.h, stdio-safer.h,
+       stpcpy.c, stpcpy.h, stpncpy.c, stpncpy.h, strcase.h, strcasecmp.c,
+       strchrnul.c, strchrnul.h, strcspn.c, strdup.c, strdup.h,
+       strerror.c, strftime.c, strftime.h, stripslash.c, strndup.c,
+       strndup.h, strnlen.c, strpbrk.c, strpbrk.h, strsep.c, strsep.h,
+       strstr.c, strstr.h, strtod.c, strtoimax.c, strtok_r.c, strtok_r.h,
+       strtol.c, strtoll.c, strtoul.c, strtoull.c, strverscmp.c,
+       strverscmp.h, sysexit_.h, tempname.c, time_r.c, time_r.h,
+       timegm.c, timegm.h, timespec.h, trigl.c, trigl.h, ucs4-utf16.h,
+       ucs4-utf8.h, unicodeio.c, unicodeio.h, unistd-safer.h,
+       unlocked-io.h, unsetenv.c, userspec.c, utf16-ucs4.h, utf8-ucs4.h,
+       utime.c, utimecmp.c, utimecmp.h, utimens.c, vasnprintf.c,
+       vasnprintf.h, vasprintf.c, vasprintf.h, version-etc-fsf.c,
+       version-etc.c, version-etc.h, vsnprintf.c, vsnprintf.h,
+       w32spawn.h, wait-process.c, wait-process.h, xalloc-die.c,
+       xalloc.h, xallocsa.c, xallocsa.h, xasprintf.c, xgetcwd.c,
+       xgetcwd.h, xgetdomainname.c, xgetdomainname.h, xgethostname.c,
+       xmalloc.c, xmemcoll.c, xnanosleep.c, xreadlink.c, xreadlink.h,
+       xsetenv.c, xsetenv.h, xsize.h, xstrndup.c, xstrndup.h, xstrtod.c,
+       xstrtod.h, xstrtoimax.c, xstrtol.c, xstrtol.h, xstrtoumax.c,
+       xtime.h, xvasprintf.c, xvasprintf.h, yesno.c, yesno.h:
+       Update FSF postal mail address.
+
+2005-05-10  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
+
+       * getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
+       specified in ai_socktype. Fix invalid ai_protocol
+       check. ai_protocol is usually set to 0 or depending on
+       ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
+       SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
+       ai_socktype / ai_protocol in the returned addrinfo structure.
+
+2005-05-09  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
+           Bruno Haible  <bruno@clisp.org>
+
+       * inet_ntop.h: New file.
+       * inet_ntop.c: New file, from glibc with modifications.
+
+2005-05-08  Jim Meyering  <jim@meyering.net>
+
+       * classpath.c (PATH_SEPARATOR): Remove insignificant trailing blank.
+
+2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Merge from coreutils.  Among other things,
+       add bulletproofing for cases where stdin, stdout, or stderr are closed.
+       * fd-safer.c: New file.
+       * fcntl-safer.h, open-safer.c: Remove.
+       * chdir-long.c: Fix comment "fetish" -> "coreutils".
+       * dup-safer.c: Include unistd-safer.h first.
+       Don't include errno.h.
+       (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
+       * file-type.h: Don't assume invoker included sys/stat.h first.
+       * file-type.c: Rely on file-type.h change.
+       * getloadavg.c: Include unistd-safer.h.
+       (getloadavg): Use safer open.
+       * getusershell.c: Include "stdio-safer.h".
+       (getusershell): Use safer fopen.
+       * long-options.c (long_options): Use NULL rather than 0.
+       * modechange.h (mode_free): Remove; all callers changed to invoke
+       'free'.
+       * modechange.c: Likewise.
+       xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
+       (MODE_DONE): New constant.
+       (struct mode_change): Remove 'next' member.
+       (make_node_op_equals): New function; like the old one of the
+       same name, except it allocates an array.
+       (mode_compile, mode_create_from_ref): Use it.
+       (mode_compile): Allocate result as an array, not a linked list.
+       Parse octal string ourself, so that we catch mistakes like "+0".
+       (mode_adjust): Arg is an array, not a linked list.
+       * modechange.c: Include stat-macros.h, xalloc.h.
+       (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
+       (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
+       (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
+       Remove.  This is now stat-macros.h's job.
+       (talloc): Remove.  All callers replaced by xalloc, so that
+       our invokers don't have to worry about reporting memory failures.
+       (make_node_op_equals): Remove.
+       (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
+       New constants.
+       (struct mode_change): Moved here from modechange.h.
+       (mode_append_entry): Remove.
+       (mode_compile): Remove MASKED_OPS arg, since it encouraged
+       apps to have incorrect behavior.  Use simpler algorithm for head
+       and tail.  Don't futz with umask; that's now the job of mode_adjust.
+       Detect more invalid usages rather than having somewhat-random behavior.
+       Don't insert an "a=" action, as that leads to incorrect behavior.
+       (mode_compile, mode_create_from_ref): Return NULL on error instead
+       of an enum, since now there's only one way to have an error.  All
+       callers changed.
+       (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
+       at the correct time.  Simplify calculation of "+u" and its ilk.
+       Don't mishandle "+X".
+       (mode_free): Remove "register" and localize decls.
+       * modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
+       (struct mode_change): Move to modechange.c; callers don't
+       need to see this stuff.
+       (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
+       (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
+       (mode_change, mode_adjust): Reflect the new signatures noted above.
+       * nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
+       that might redefine system include files.
+       (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
+       (my_usleep): Use NULL rather than (void *) 0.
+       (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
+       Use siginterrupt to specify that system calls should be interrupted.
+       (rpl_nanosleep): Move initialization of suspended closer to call of
+       my_usleep.
+       * readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
+       * readutmp.c: Likewise.  Include signal.h, stdbool.h.
+       (desirable_utmp_entry): New function.
+       (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
+       using x2nrealloc, to simplify logic.
+       (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
+       size calculation.  Do not assume utmp file is a regular file.
+       * readutmp.h (UT_PID): Moved here from ../src/who.c.
+       (READ_UTMP_CHECK_PIDS): New constant.
+       * save-cwd.c: Include unistd-safer.h.
+       (save_cwd): Use fd_safer.
+       * tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
+       [!_LIBC] Include "stat-macros.h" instead.
+       * unistd-safer.h (fd_safer): New decl.
+
+2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
+
+       * byteswap_.h: New file.
+
+2005-04-25  Albert Chin  <china@thewrittenword.com>
+
+       * regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
+       Toolkit C bug.
+
+2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * getdate.y (zone): Allow relunit_snumber after tZONE, so
+       that "UTC +1 second" continues to work.  Problem reported
+       by Dmitry V. Levin.
+       (relunit_snumber): New rule.
+       (relunit): Use it.
+
+2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * getdate.y (universal_time_zone_table): New constant.
+       (time_zone_table): Remove GMT, UT, UTC entries; they're now in
+       universal_time_zone_table.
+       (lookup_zone): Prefer universal_time_zone_table to
+       local_time_zone_table, so that "GMT" time stamps are allowed in
+       London during the summer.  Problem reported by Ian Abbott.
+
+2005-04-12  Jim Meyering  <jim@meyering.net>
+
+       * human.c (humblock): Set *options even when returning due to
+       xstrtoumax conversion failure.  Thanks to a used-uninitialized
+       warning from gcc-4.
+
+2005-04-09  Jim Meyering  <jim@meyering.net>
+
+       * posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
+       -Wuninitialized: initialize tm0.tm_year.
+
+2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * getdate.y (parser_control): rels_seen is now a boolean, not a
+       count, since there's no maximum.  All uses changed.
+       Add member dsts_seen.
+       (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
+       not being INT_MAX.
+       (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
+       Use pc_rels_seen to decide whther a date is absolute.
+
+       * getdate.y (number): Don't overwrite year.
+       (get_date): Initialize pc.year.digits to 0, not 4, to enable above
+       check.
+
+2005-04-02  Simon Josefsson  <jas@extundo.com>
+
+       * getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
+       patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
+
+2005-03-27  Jim Meyering  <jim@meyering.net>
+
+       * argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
+
+2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
+       "one's complement" -> "ones' complement" in comment, as per Knuth.
+       "value of type" -> "type or expression" in comment.
+       * mktime.c, strftime.c: Propagate intprops.h comment nits.
+
+2005-03-26  Jim Meyering  <jim@meyering.net>
+
+       Comment nits.
+       * intprops.h: Add the apostrophe in `(one|two)'s complement'.
+       Correct typos: s/or/of/.
+
+2005-03-23  Jim Meyering  <jim@meyering.net>
+
+       * canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
+
+2005-03-21  Jim Meyering  <jim@meyering.net>
+
+       Changes imported from coreutils.
+
+       * cycle-check.c: Don't include xalloc.h.
+
+       * path-concat.c: Don't include assert.h.
+       (path_concat): Remove assertion that would have triggered
+       for ABASE starting with more than one slash.
+       Reported by Andreas Schwab.
+
+       * path-concat.c (path_concat): Set *BASE_IN_RESULT
+       properly when ABASE is an absolute file name.
+       Correct the description of this function.
+       Include <assert.h>.
+       Add an assertion and a test driver.
+       This fixes a bug introduced on 2004-07-02.
+       Andreas Schwab reported the resulting failure of cp --parents:
+       http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
+
+2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * strftime.c (my_strftime): If the underlying strftime returns 0
+       (which shouldn't happen), generate nothing instead of returning 0
+       immediately, so that nstrftime (NULL, ...) doesn't return 0.
+
+2005-03-16  Bruno Haible  <bruno@clisp.org>
+
+       * stdint_.h: Use HAVE_LONG_LONG_64BIT instead of HAVE_LONGLONG_64BIT.
+
+2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * strftime.c (my_strftime): Prepend space to format so that we can
+       reliably distinguish strftime failure from empty output on POSIX
+       hosts.
+
+2005-03-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * iconvme.c (SIZE_MAX): New macro, if not already defined.
+       (iconv_string): Don't guess a size-zero buffer, as that might cause
+       buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
+       result would be 'too large', where 'too large' is (heuristically)
+       the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
+       overflow concerns.  This will prevent some unwanted malloc failures
+       when the inputs are very large.
+
+2005-03-15  Bruno Haible  <bruno@clisp.org>
+
+       * regex.c (byte_re_match_2_internal): Rename local variable 'not' to
+       'negate'.
+
+       * regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
+       variable.
+
+       * regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc results.
+
+2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
+       TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
+       intprops.h.
+       * strtol.c: Likewise.
+
+2005-03-14  Simon Josefsson  <jas@extundo.com>
+
+       * timegm.h: Use proper prototype CPP guards, reported by Dave Love
+       <fx@gnu.org>.
+
+2005-03-14  Jim Meyering  <jim@meyering.net>
+
+       * strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
+       && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
+       to be nonzero so that we (and caller) can detect the difference
+       between a valid zero-length expansion and an error return, even
+       when the underlying strftime fails before writing anything into
+       that location.
+
+2005-03-10  Jim Meyering  <jim@meyering.net>
+
+       * save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
+       so that this module works on systems without fchdir.
+
+2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Factor int-properties macros into a single file, except for
+       glibc-related files.
+       * intprops.h: New file.
+       * getloadavg.c: Include it instead of limits.h.
+       (INT_STRLEN_BOUND): Remove.
+       * human.c: Include intprops.h.
+       (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
+       * human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than 302/1000.
+       * inttostr.h: Include intprops.h instead of limits.h.
+       (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
+       * mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
+       for consistency with intprops.h.
+       (time_t_is_integer, twos_complement_arithmetic): Use them.
+       * sig2str.h: Include <signal.h>, intprops.h.
+       (INT_STRLEN_BOUND): Remove.
+       * strftime.c (TYPE_SIGNED): Remove.
+       (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
+       * strtol.c: Adjust comments to match intprops.h.
+       * userspec.c: Include intprops.h.
+       (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
+       * utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
+       * utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
+       instead of rolling our own expressions.
+       * xstrtol.c: Include xstrtol.h first, to test interface.
+
+       * strftime.c: Include <stdbool.h>.  Use bool where appropriate,
+       instead of int.
+       (my_strftime): Do not mishandle years close to INT_MAX, by doing
+       the right thing even if adding 1900 would overflow.  Similarly
+       for tm_mon + 1 and tm_yday + 1.
+       Make %Y always equivalent to %C%y, and similarly for %G and %g.
+       (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
+       (DO_SIGNED_NUMBER): New macro.
+       (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
+
+2005-03-07  Bruno Haible  <bruno@clisp.org>
+
+       * pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
+
+2005-03-03  Derek R. Price  <derek@ximbiot.com>
+           Bruno Haible  <bruno@clisp.org>
+
+       * pagealign_alloc.h: New file.
+       * pagealign_alloc.c: New file.
+
+2005-01-28  Bruno Haible  <bruno@clisp.org>
+
+       * stpncpy.h (stpncpy): Define as a macro without arguments, so that
+       stpncpy.c uses it.
+
+2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
+       The workaround isn't strictly needed for POSIX conformance, and
+       it's too much of a pain to configure and maintain.  We'll ask
+       people to fix their kernels instead.
+       * xnanosleep.c: Don't include gethrxtime.h or xtime.h.
+       (NANOSLEEP_BUG_WORKAROUND): Remove.
+       (xnanosleep): Remove the workaround.
+
+2005-02-12  Bruno Haible  <bruno@clisp.org>
+
+       * vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
+
+2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * gethrxtime.h, gethrxtime.c, xtime.h: New files.
+       * timespec.h (gettime): Return void, since it always
+       succeeds now.  All uses changed.
+       * gettime.c (gettime) Likewise.
+       [HAVE_NANOTIME]: Prefer nanotime.
+       Assume gettimeofday succeeds, as POSIX requires.
+       Assime time () succeeds, since other code already does.
+       * xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
+       (timespec_subtract): Remove.
+       (NANOSLEEP_BUG_WORKAROUND): New constant.
+       (xnanosleep): Use gethrxtime rather than gettime; this simplifies
+       things considerably.  Use it only on GNU/Linux hosts, since the
+       workaround shouldn't be needed elsewhere.
+
+2005-02-24  Bruno Haible  <bruno@clisp.org>
+
+       * gettext.h: Update from GNU gettext 0.14.2.
+
+2005-02-24  Bruno Haible  <bruno@clisp.org>
+
+       * localcharset.c: Update from GNU gettext 0.14.2.
+       * config.charset: Update from GNU gettext 0.14.2.
+
+2005-02-22  Simon Josefsson  <jas@extundo.com>
+
+       * iconvme.h, iconvme.c: New files, from libc.
+
+2005-02-20  Neil Conway  <neilc@samurai.com>
+
+       * xgethostname.c (xgethostname): Check for ENOMEM, which is
+       returned by OSX/Darwin if the specified buffer is not large
+       enough for the hostname.
+
+2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * memrchr.h: New file.
+       * chdir-long.c: Include it.
+       * memrchr.c [!defined _LIBC]: Include it rather than <string.h>
+       Don't bother including stddef.h.
+
+2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * argp-help.c (__argp_help): Create a fake struct argp_state and
+       pass it to _help, otherwise the latter coredumps trying to
+       dereference state.root_argp.
+
+2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * mountlist.h (MOUNTLIST_H_): New macro, to protect against double
+       inclusion.
+       Include <sys/types.h>, for dev_t.
+       (ME_DUMMY, ME_REMOTE): Move from here....
+       * mountlist.c (ME_DUMMY, ME_REMOTE): To here.
+       (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
+       Dmitry V. Levin.
+       Include mountlist.h first, to test the interface.
+
+2005-01-29  Bruno Haible  <bruno@clisp.org>
+
+       * progname.c (program_name): Initialize.
+       Needed when linking statically on MacOS X.
+
+2005-01-28  Bruno Haible  <bruno@clisp.org>
+
+       * javacomp.sh.in: New file, from GNU gettext.
+       * javacomp.h: New file, from GNU gettext.
+       * javacomp.c: New file, from GNU gettext.
+
+2005-01-26  Bruno Haible  <bruno@clisp.org>
+
+       * javaexec.sh.in: New file, from GNU gettext.
+       * javaexec.h: New file, from GNU gettext.
+       * javaexec.c: New file, from GNU gettext.
+
+2005-01-26  Simon Josefsson  <jas@extundo.com>
+
+       * gai_strerror.c: Use GPL in header.
+
+2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * argp-help.c (hol_entry_help): Avoid using non-constant
+       initializers for struct pentry_state.
+       (__argp_error): Check return value of __asprintf
+       (__argp_failure): Translate error message
+
+       * argp-parse.c: Removed braces around the expansion of N_()
+
+2005-01-21  Jim Meyering  <jim@meyering.net>
+
+       * openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
+       same value as for Solaris 9.
+
+       * chdir-long.c (chdir_long): Rewrite to remove limitation on
+       component length.  This included changing the parameter to be
+       of type `char *' rather than `char const *'.
+       * chdir-long.h (chdir_long): Update prototype.
+
+       * openat.c (fdopendir, fstatat): New functions.
+       * openat.h: Include headers required for use of DIR and struct stat.
+       [AT_SYMLINK_NOFOLLOW]: Define.
+       (fdopendir, fstatat): Add prototypes.
+
+2005-01-21  Bruno Haible  <bruno@clisp.org>
+
+       * classpath.h: New file, from GNU gettext.
+       * classpath.c: New file, from GNU gettext.
+
+2005-01-20  Simon Josefsson  <jas@extundo.com>
+
+       * version-etc-fsf.c: New file, with version_etc_copyright.
+       * version-etc.c: Remove version_etc_copyright.
+       * version-etc.h (version_etc_copyright): Use [] instead of * in
+       prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
+
+2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * save-cwd.c (save_cwd): Remove code to support the case
+       where fchdir is missing or flaky.
+
+2005-01-20  Simon Josefsson  <jas@extundo.com>
+
+       * base64.h (isbase64): Add.
+
+       * base64.c (isb64): Rename to isbase64, use to_uchar instead of
+       using a unsigned prototype, don't inline.
+       (base64_decode): Use it.
+
+2005-01-19  Bruno Haible  <bruno@clisp.org>
+
+       * sh-quote.h: New file, from GNU gettext.
+       * sh-quote.c: New file, from GNU gettext.
+
+2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Merge changes from coreutils, as described below in several
+       changelogs dated today.
+
+       * save-cwd.c: Include "save-cwd.h" before other include files.
+       (O_DIRECTORY): Remove; not needed here, since "." must be
+       a directory.  All uses removed.
+       (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
+       universal on Suns, and we also need to test for IRIX.
+       Revamp code to use 'if' rather than '#if'.
+       Avoid unnecessary comparison of cwd->desc to 0.
+
+       * utimens.c (futimens): Robustify the previous patch, by checking
+       for known valid error numbers rather than observed invalid ones.
+
+2005-01-18  Jim Meyering  <jim@meyering.net>
+
+       * version-etc.c (version_etc_copyright): Update copyright date.
+
+       * utimens.c (futimens): Account for the fact that futimes
+       can also fail with errno == ENOSYS or errno == ENOENT.
+       Patch from Dmitry V. Levin.
+
+       Change the name of the robust chdir function from chdir to chdir_long.
+       * save-cwd.c: Include chdir-long.h rather than chdir.h.
+       (restore_cwd): Use chdir_long, not chdir.
+       * chdir-long.c: Renamed from chdir.c.
+       * chdir-long.h: Renamed from chdir.h.
+       [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
+       Hurd.
+
+2005-01-18  Bob Proulx  <bob@proulx.com>
+
+       * obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to simplify
+       offsetof() macro construct to avoid compile failure with native HP-UX
+       11.0 ANSI C compiler.
+
 2005-01-06  Bruno Haible  <bruno@clisp.org>
 
        * stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming, redundant
 2005-01-06  Bruno Haible  <bruno@clisp.org>
 
        * stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming, redundant
 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
 
        * c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
 
        * c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
-        HAVE_DECL_STRTOLD.
+       HAVE_DECL_STRTOLD.
 
 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
 
 
 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
 
        with MAXSIZE.
 
 2004-11-02  Derek R. Price  <derek@ximbiot.com>
        with MAXSIZE.
 
 2004-11-02  Derek R. Price  <derek@ximbiot.com>
-       and  Paul Eggert  <eggert@cs.ucla.edu>
+       and  Paul Eggert  <eggert@cs.ucla.edu>
 
        * getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
        (get_date): Overparenthesize to avoid GCC warning.
 
        * getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
        (get_date): Overparenthesize to avoid GCC warning.
        * snprintf.c (snprintf): Handle size==0.
 
 2004-10-01  Simon Josefsson  <jas@extundo.com>
        * snprintf.c (snprintf): Handle size==0.
 
 2004-10-01  Simon Josefsson  <jas@extundo.com>
-            Bruno Haible  <bruno@clisp.org>
+           Bruno Haible  <bruno@clisp.org>
 
        * snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
        (snprintf): Declare 'args'.
 
        * snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
        (snprintf): Declare 'args'.
        Problem reported by Dan Jacobson.
 
 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
        Problem reported by Dan Jacobson.
 
 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
-       and  Jim Meyering  <jim@meyering.net>
+       and  Jim Meyering  <jim@meyering.net>
 
        Merge from coreutils CVS.
 
 
        Merge from coreutils CVS.
 
        * getndelim2.c (getndelim2): Upon realloc failure, don't leak memory.
 
 2004-04-20  Jim Meyering  <jim@meyering.net>
        * getndelim2.c (getndelim2): Upon realloc failure, don't leak memory.
 
 2004-04-20  Jim Meyering  <jim@meyering.net>
-            Bruno Haible  <bruno@clisp.org>
+           Bruno Haible  <bruno@clisp.org>
 
        * localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
        memory when realloc fails.
 
        * localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
        memory when realloc fails.
        * getopt.h: Sync with libc CVS.
 
 2004-03-18  Paul Eggert  <eggert@twinsun.com>
        * getopt.h: Sync with libc CVS.
 
 2004-03-18  Paul Eggert  <eggert@twinsun.com>
-            Bruno Haible  <bruno@clisp.org>
+           Bruno Haible  <bruno@clisp.org>
 
        * mbswidth.h: Include <wchar.h> only if HAVE_DECL_MBSWIDTH_IN_WCHAR_H,
        not on all platforms that have <wchar.h>.
 
        * mbswidth.h: Include <wchar.h> only if HAVE_DECL_MBSWIDTH_IN_WCHAR_H,
        not on all platforms that have <wchar.h>.
        * argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
 
 2003-11-23  Paul Eggert  <eggert@twinsun.com>
        * argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
 
 2003-11-23  Paul Eggert  <eggert@twinsun.com>
-            Bruno Haible  <bruno@clisp.org>
+           Bruno Haible  <bruno@clisp.org>
 
        * printf-parse.h: Don't include sys/types.h.
        (ARG_NONE): New macro.
 
        * printf-parse.h: Don't include sys/types.h.
        (ARG_NONE): New macro.
        Reported by Geoff Collyer via Arnold Robbins.
 
 2003-11-16  Paul Eggert  <eggert@twinsun.com>
        Reported by Geoff Collyer via Arnold Robbins.
 
 2003-11-16  Paul Eggert  <eggert@twinsun.com>
-            Bruno Haible  <bruno@clisp.org>
+           Bruno Haible  <bruno@clisp.org>
 
        Protect against address arithmetic overflow.
        * printf-args.h: Include stddef.h.
 
        Protect against address arithmetic overflow.
        * printf-args.h: Include stddef.h.
        * linebuffer.c: Include <string.h> for declaration of memset.
 
 2003-10-30  Paul Eggert  <eggert@twinsun.com>
        * linebuffer.c: Include <string.h> for declaration of memset.
 
 2003-10-30  Paul Eggert  <eggert@twinsun.com>
-            Bruno Haible  <bruno@clisp.org>
+           Bruno Haible  <bruno@clisp.org>
 
        * vasprintf.c: Include <limits.h>, <stdlib.h>.
        (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
 
        * vasprintf.c: Include <limits.h>, <stdlib.h>.
        (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
        * version-etc-2.c: Remove file.
 
 2003-09-25  Jim Meyering  <jim@meyering.net>
        * version-etc-2.c: Remove file.
 
 2003-09-25  Jim Meyering  <jim@meyering.net>
-            Bruno Haible  <bruno@clisp.org>
+           Bruno Haible  <bruno@clisp.org>
 
        This lets translators provide better translations for the
        "Written by ..." part of --version output.
 
        This lets translators provide better translations for the
        "Written by ..." part of --version output.
        * xgetdomainname.c: New file.
 
 2003-09-25  Simon Josefsson  <jas@extundo.com>
        * xgetdomainname.c: New file.
 
 2003-09-25  Simon Josefsson  <jas@extundo.com>
-            Bruno Haible  <bruno@clisp.org>
+           Bruno Haible  <bruno@clisp.org>
 
        * getdomainname.h: New file.
        * getdomainname.c: New file.
 
        * getdomainname.h: New file.
        * getdomainname.c: New file.
 
 
 Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
 
 
 Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-  Free Software Foundation, Inc.
+Free Software Foundation, Inc.
 Copying and distribution of this file, with or without modification,
 are permitted provided the copyright notice and this notice are preserved.
 Copying and distribution of this file, with or without modification,
 are permitted provided the copyright notice and this notice are preserved.