* 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
 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>
 
        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.
        * 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'.
        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.
 
        * 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.
        * 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>.
        * 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.
        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.
        * 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'.
        * 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.
        * 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.
 
 
 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.