Remove the dependency of the strftime module on the tzset module.
[gnulib.git] / lib / ChangeLog
index a619c80..cbcd2a3 100644 (file)
@@ -1,3 +1,595 @@
+2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Remove the dependency of the strftime module on the tzset module.
+       * strftime.c (my_strftime) [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
+       Copy the input structure, to work around some of the bug with
+       Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
+       Solaris releases, you should also use the tzset module, but we won't
+       require it as a dependency any more since we don't want LGPLed code
+       to depend on GPLed code.
+
+2005-07-02  Jim Meyering  <jim@meyering.net>
+
+       * backupfile.c (backup_args): Change a `0' to NULL.
+
+2005-07-01  Jim Meyering  <jim@meyering.net>
+
+       * chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
+       * getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
+       * save-cwd.c, tempname.c:
+       Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
+       and don't include <sys/file.h>).
+
+2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
+       declares only 'struct timespec;' (!).
+
+2005-06-29  Jim Meyering  <jim@meyering.net>
+
+       * mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
+       type name.  Use the variable name instead.
+       * idcache.c (getuser, getuidbyname, getgroup, getgidbyname): Likewise.
+
+2005-06-28  Simon Josefsson  <jas@extundo.com>
+
+       * check-version.h, check-version.c: New files.
+
+2005-06-28  Simon Josefsson  <jas@extundo.com>
+
+       * base64.c (base64_encode): Indent.  Rename 'b64' to avoid
+       collision with global variable.  Better indentation.  Don't
+       increment buffer pointer beyond buffer end.  Based on comments
+       from Paul Eggert <eggert@cs.ucla.edu>.
+
+       * base64.h: Indent.
+
+2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * canon-host.c (canon-host): Append trailing "," to 0 in
+       initializer of struct addrinfo, as an indication that we don't
+       care how many members the structure has.
+
+2005-06-24  Derek Price  <derek@ximbiot.com>
+       and Bruno Haible  <bruno@clisp.org>
+
+       Remove stat module & update lstat.
+       * stat.c: Remove this file...
+       (slash_aware_lstat): ...moving this content and its support...
+       * lstat.c (rpl_lstat): ...into here.
+       * lstat.h: New file.
+
+2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
+       (ranged_convert): Don't save conversion in a temporary struct.
+       This causes a warning with GCC 4.0.0, and anyway in the typical
+       case it's not worth the extra 100 bytes or so of code.
+       (ranged_convert, __mktime_internal): When calling a function via a
+       pointer P, use P () rather than (*P) (), as we now assume C89 or
+       better.
+
+2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
+       "who -r" failed to give output.  Problem reported by Tim Waugh.
+
+       * xmalloc.c (HAVE_GNU_CALLOC): New constant.
+       (xcalloc): Use it to avoid needless tests.
+       Problem reported by Jim Meyering.
+
+2005-06-16  Jim Meyering  <jim@meyering.net>
+
+       * calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
+       when either N or S is zero.
+
+2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * argp.h (__option_is_short): Check upper limit of
+       __key. Isprint() requires its argument to have the value
+       of an unsigned char or EOF.
+
+2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * fnmatch.c (fnmatch): If there is an encoding error in a
+       multibyte string or pattern, fall back on unibyte matching.
+       Problem reported by James Youngman.
+
+2005-06-08  Bruno Haible  <bruno@clisp.org>
+
+       * binary-io.h (fileno): Undefine before defining it. Avoids a gcc
+       warning on mingw.
+
+2005-06-08  Bruno Haible  <bruno@clisp.org>
+
+       * csharpcomp.h: New file, from GNU gettext.
+       * csharpcomp.c: New file, from GNU gettext.
+       * csharpcomp.sh.in: New file, from GNU gettext.
+
+2005-06-07  Derek Price  <derek@ximbiot.com>
+
+       Sync from CVS.
+       * glob_.h: Indent nested #ifdef.
+
+2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Sync from coreutils.
+       Use "file name" when talking about file names, instead of "filename"
+       or "path", as per the GNU coding standards.
+       * mkdir-p.c: Renamed from makepath.c.
+       (make_dir_parents): Renamed from make_path.  All callers changed.
+       * mkdir-p.h: Likewise.  All includers changed.
+       * filenamecat.c: Renamed from path-concat.c.
+       (file_name_concat): Renamed from path_concat.  All callers changed.
+       [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
+       * filenamecat.h: Likewise.  All includers changed.
+       * acl.c: Don't use "path" or "filename" to mean "file name"
+       in comments or local variable names.
+       * basename.c: Likewise.
+       * canonicalize.c, canonicalize.h: Likewise.
+       * dirname.c, dirname.h: Likewise.
+       * euidaccess.c: Likewise.
+       * exclude.c: Likewise
+       * fnmatch_.h, fnmatch_loop.c: Likewise.
+       * fsusage.c, fsuage.h: Likewise.
+       * fts.c, fts_.h: Likewise.
+       * getcwd.c: Likewise.
+       * getloadavg.c: Likewise.
+       * mkstemp.c: Likewise.
+       * mountlist.c, mountlist.h: Likewise.
+       * openat.c, openat.h: Likewise.
+       * readlink-stub.c: Likewise.
+       * readutmp.c, readutmp.h: Likewise.
+       * rename.c: Likewise.
+       * rmdir.c: Likewise.
+       * same.c: Likewise.
+       * savedir.c: Likewise.
+       * stripslash.c: Likewise.
+       * tempname.c: Likewise.
+       * xreadlink.c: Likewise.
+       * exclude.c (excluded_file_name): Renamed from excluded_filename.
+       All uses changed.
+       * exclude.h: Likewise.
+
+       * euidaccess.c (getuid, getgid, getuid, getegid)
+       [!defined _POSIX_VERSION]: Remove decls; not needed these days.
+       * idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
+       [!defined _POSIX_VERSION]: Remove decls; not needed these days.
+       * pathmax.h: Include <limits.h> unconditionally, since other
+       files have been getting away with it for years (MORE/BSD 4.3
+       is extinct now).
+       * userspec.c (getpwnam, getgrnam, getgrgid)
+       [!defined _POSIX_VERSION]: Remove decls; not needed these days.
+
+       * pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
+       Define to 256, not 255, as per modern POSIX.
+
+2005-06-01  Bruno Haible  <bruno@clisp.org>
+
+       * csharpexec.h: New file, from GNU gettext.
+       * csharpexec.c: New file, from GNU gettext.
+       * csharpexec.sh.in: New file, from GNU gettext.
+
+2005-05-31  Derek Price  <derek@ximbiot.com>
+           Paul Eggert  <eggert@cs.ucla.edu>
+
+       Sync from cvs.
+       * glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
+
+2005-05-29  Derek Price  <derek@ximbiot.com>
+           Paul Eggert  <eggert@cs.ucla.edu>
+
+       * glob_.h, glob.c: New files.
+
+2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
+
+       * 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