+2004-11-08 Simon Josefsson <jas@extundo.com>
+
+ * getaddrinfo.h, getaddrinfo.c: New file.
+
+2004-11-10 Jim Meyering <jim@meyering.net>
+
+ Ensure that no close failure goes unreported.
+ * closeout.c (close_stdout): Always close stdout. I.e., don't
+ return early when it seems there's nothing to flush.
+ Don't include __fpending.h.
+
+2004-11-09 Paul Eggert <eggert@cs.ucla.edu>
+
+ * strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
+
+2004-11-05 Bruno Haible <bruno@clisp.org>
+
+ * readlink.c: Include stddef.h, needed for size_t on Woe32.
+ Reported by Mark D. Baushke <mdb@cvshome.org>.
+
+2004-11-04 Bruno Haible <bruno@clisp.org>
+
+ 2004-09-11 Bruno Haible <bruno@clisp.org>
+ * allocsa.valgrind: New file.
+ 2004-02-06 Bruno Haible <bruno@clisp.org>
+ * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
+ avoid a bug of this cc on HP-UX 10.20 dealing with enums.
+ Reported by Christopher Seip <chris.seip@hp.com>.
+
+2004-11-03 Paul Eggert <eggert@cs.ucla.edu>
+
+ * xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
+ with errno == ERANGE if the buffer is too small.
+ Problem reported by Mark D. Baushke.
+
+2004-11-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ * xreadlink.c (MAXSIZE): New macro.
+ (xreadlink): Use it instead of SSIZE_MAX. Ensure initial buffer
+ size does not exceed MAXSIZE. Avoid cast.
+ As suggested by Mark D. Baushke in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
+ if readlink fails with buffer size just under MAXSIZE, try again
+ with MAXSIZE.
+
+2004-11-02 Derek R. Price <derek@ximbiot.com>
+ 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.
+
+2004-11-02 Bruno Haible <bruno@clisp.org>
+
+ * setenv.h (unsetenv): Define as a macro if the system's unsetenv()
+ function returns void.
+
+2004-11-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
+ (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
+ already declared.
+
+2004-10-29 Paul Eggert <eggert@cs.ucla.edu>
+
+ * getdate.y: Add support for TZ="foo" within a date string.
+ Fix some bugs near time_t boundaries. Reject dates with
+ out-of-range components, e.g., "Sept 31".
+ Include <stdlib.h>, "setenv.h", "xalloc.h".
+ (ISDIGIT_LOCALE): Remove; unused.
+ Note that the TZ and time functions used here are not reentrant.
+ (mktime_ok, get_tz): New functions.
+ (TZBUFSIZE): New constant.
+ (get_date): Parse leading TZ="foo". Reject out-of-range components;.
+ This requires that we sometimes generate our own TZ="XXX..." setting.
+
+2004-10-27 Derek R. Price <derek@ximbiot.com>
+
+ * mktime.c (not_equal_tm): Remove redundant check.
+
+2004-10-24 Paul Eggert <eggert@cs.ucla.edu>
+
+ * getdate.y: Use Bison 1.875 features, and some minor
+ code cleanups. This change does not affect semantics.
+ Don't include <stdlib.h>; no longer needed.
+ Don't include unlocked-io.h; only the "#if TEST" code uses
+ stdio, and performance isn't crucial there.
+ (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
+ Bison 1.875 features as described below.
+ All uses of "PC." replaced by "pc->".
+ (YYSTYPE): Add a forward declaration.
+ (yylex, yyerror): Use full prototypes in forward decls.
+ Use "%pure-parser" rather than obsolescent "%pure_parser".
+ Use %parse-param and %lex-param instead of obsolescent
+ YYPARSE_PARAM and YYLEX_PARAM.
+ (meridian_table, month_and_day_table, time_units_table,
+ relative_time_table, time_zone_table, military_table,
+ lookup_zone, lookup_word, get_date):
+ Use NULL instead of 0 where appropriate.
+ (to_hour): Avoid abort (), to avoid a dependency on
+ stdlib.h.
+ (yyerror, yylex): Now accepts parser_control * arg.
+ (main) [TEST]: Use '\0' rather than 0 for char.
+
+2004-10-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ * getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
+ It's now the caller's responsibility to handle the case where
+ !HAVE_GETPAGESIZE && !defined getpagesize.
+
+ * mktime.c (leapyear): Arg is long int, not int.
+
+2004-10-18 Paul Eggert <eggert@cs.ucla.edu>
+
+ * argp-fs-xinl.c, argp-xinl.c: Update from glibc.
+
+2004-10-12 Simon Josefsson <jas@extundo.com>
+
+ * getpass.c (fflush_unlocked, flockfile, funlockfile)
+ (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
+ to real functions.
+
+2004-10-11 Yoann Vandoorselaere <yoann@prelude-ids.org>
+
+ * vsnprintf.h: New file.
+ * vsnprintf.c: New file.
+
+2004-10-07 Bruno Haible <bruno@clisp.org>
+
+ * snprintf.c (snprintf): Avoid a memory allocation if the result fits
+ into the provided buffer.
+
+2004-10-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ * diacrit.c, diacrit.h: Add GPL notice.
+
+ * atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL notice.
+ * atanl.c (atanl): Keep the code as similar to glibc as possible.
+ * logl.c (logl): Keep the code as similar to glibc as possible.
+ This avoids a potential constant-folding bug.
+
+2004-10-05 Bruno Haible <bruno@clisp.org>
+
+ * strsep.h: Don't declare strsep() if HAVE_STRSEP.
+
+2004-10-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ * xalloc.h (xmemdup): Renamed from xclone. All uses changed.
+ * xmalloc.c (xmemdup): Likewise.
+ * xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
+ XFREE): Remove these long-obsolescent macros.
+ * xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
+ * xstrdup.c: Remove.
+
+ * regex.c (re_comp): Cast gettext return value to char *,
+ Problem reported by Martin Neitzel via Mark D. Baushke.
+
+2004-10-04 Simon Josefsson <jas@extundo.com>
+
+ * error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
+ '#ifdef USE_UNLOCKED_IO'.
+
+2004-10-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ * argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
+ getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
+ md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
+ regex.c, sha1.c, version-etc.c, yesno.c:
+ Include "unlocked-io.h" only if USE_UNLOCKED_IO.
+ * unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
+ the includer's responsibility.
+
+ Sync from coreutils.
+
+ * modechange.c (mode_compile): Don't decrement a pointer that
+ points to the start of a string, as the C Standard says the
+ resulting behavior is undefined.
+
+ * backupfile.h (enum backuptype): Rename none -> no_backups,
+ simple -> simple_backups, numbered_existing ->
+ numbered_existing_backups, numbered -> numbered_backups
+ to avoid shadowing problems. All uses changed.
+ * argmatch.c (enum backuptype) [defined TEST]: Likewise.
+ * backupfile.c (check_extension, numbered_backup):
+ Rename locals to avoid shadowing 'basename'.
+ * backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
+ once.
+
+ * .cppi-disable: Add getopt_.h, getopt_int.h.
+ * .cvsignore: Add getopt.h.
+
+2004-10-04 Simon Josefsson <jas@extundo.com>
+
+ * memmem.h: New file.
+ * memmem.c: New file, taken from glibc.
+
+2004-10-02 Jim Meyering <jim@meyering.net>
+
+ * dirfd.h, getpagesize.h: Add copyright notice.
+
+2004-10-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ * snprintf.c: Remove comments as to why each header is needed.
+
+2004-10-01 Yoann Vandoorselaere <yoann@prelude-ids.org>
+
+ * strsep.h: New file.
+ * strsep.c: New file.
+
+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>
+
+ * snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
+ (snprintf): Declare 'args'.
+
+2004-09-30 Simon Josefsson <jas@extundo.com>
+
+ * snprintf.h, snprintf.c: New files.
+
+2004-09-30 Sergey Poznyakoff <gray@Mirddin.farlep.net>
+
+ * argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
+ (hol_entry_help): Never translate an empty string.
+ Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
+ * argp.h (OPTION_NO_TRANS): New option.
+
+2004-09-29 Oskar Liljeblad <oskar@osk.mine.nu>
+
+ * xvasprintf.c: Include xalloc.h.
+ (xvasprintf): Use xalloc_die, not xmalloc_die.
+
+2004-09-28 Paul Eggert <eggert@cs.ucla.edu>
+
+ * dummy.c: Change copyright notice to FSF, and license to GPL.
+
+2004-09-13 Paul Eggert <eggert@cs.ucla.edu>
+
+ * argp-pvh.c (argp_program_version_hook): Provide initial value.
+ Problem reported by Bruno Haible in:
+ http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
+
+2004-09-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ * mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
+ in case some system header has #define'd it. Problem reported by
+ Soeren D. Schulze in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
+
+2004-09-08 Bruno Haible <bruno@clisp.org>
+
+ * stdint_.h.in: New file, taken from GNU clisp.
+
+2004-09-08 Oskar Liljeblad <oskar@osk.mine.nu>
+
+ * xvasprintf.h: New file.
+ * xvasprintf.c: New file.
+ * xasprintf.c: New file.
+
+2004-09-08 Bruno Haible <bruno@clisp.org>
+
+ * vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting length
+ is > INT_MAX.
+ * vasprintf.c (vasprintf): Don't test for length > INT_MAX any more.
+
+2004-08-19 Paul Eggert <eggert@cs.ucla.edu>
+
+ Import from coreutils.
+ * userspec.c: Don't use <alloca.h>, so that we don't use alloca on
+ strings on unbounded length. alloca's performance benefits aren't
+ that important here.
+ (V_STRDUP): Remove.
+ (parse_with_separator): New function, with most of the internals
+ of the old parse_user_spec. Allow user to omit both user and group,
+ for compatibility with FreeBSD.
+ Clone only the user name, not the entire spec.
+ Do not set *uid, *gid unless entirely successful.
+ Avoid memory leak in some failing cases.
+ Fix regression for USER.GROUP reported by Dmitry V. Levin in
+ <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
+ (parse_user_spec): Rewrite to use parse_with_separator.
+
+2004-08-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ * argp-help.c, argp-parse.c: Use "gettext.h" instead of
+ its complicated substitute.
+ * argp-help.c: Include <errno.h>, for program_invocation_short_name
+ and program_invocation_name.
+ (__argp_basename) [!_LIBC]: Remove; the only use was
+ replaced by its body.
+ (__argp_short_program_name): Change condition from
+ !defined __argp_short_program_name to
+ ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
+ to match argp-namefrob.h.
+ (__argp_failure): Don't assume strerror_r returns char *.
+ * argp-parse.c (N_): Define unconditionally.
+ (argp_default_options): Fill out initializers with 0 to avoid
+ gcc warnings.
+
+2004-08-12 Simon Josefsson <jas@extundo.com>
+
+ * getopt.c, getopt1.c: Remove ELIDE_CODE hack.
+ * getopt_.h: Renamed from getopt.h.
+
+2004-08-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ Merge from coreutils.
+
+ * fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
+ wmemchr or wmemcpy. Problem reported by Robert Dahlem
+ for Reliant Unix 5.43.
+
+ * obstack.c: Include <inttypes.h> and <stdint.h> if available.
+ (union fooround): Use uintmax_t, not long int.
+ The rest is a merge from libc:
+ [defined _LIBC]: Include <shlib-compat.h>.
+ (_obstack) [defined _LIBC]: Remove after 2.3.4.
+
+ * settime.c (settime): Recode to avoid warning with Sun Forte C 6U2.
+
+ * strverscmp.c: Convert to UTF-8.
+
+2004-08-09 Paul Eggert <eggert@cs.ucla.edu>
+
+ * obstack.h (obstack_empty_p):
+ Don't assume that chunk->contents is suitably aligned.
+ * obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
+ Likewise. Problem reported by Benno in
+ <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
+
+ * chown.c (rpl_chown): Work even if the file is writeable but not
+ readable. This could be improved further but it'd take some work.
+
+2004-08-08 Simon Josefsson <jas@extundo.com>
+
+ * xgethostname.c: Don't include error.h (not used).
+
+ * getpass.h: Add.
+ * getpass.c: Include getpass.h first.
+
+2004-08-08 Paul Eggert <eggert@cs.ucla.edu>
+
+ * xalloc-die.c: New files.
+ * xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
+ All uses removed.
+ * xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted): Likewise.
+ Move inclusions of gettext.h, error.h, exitfail.h to xalloc-die.c.
+ (_, N_, xalloc_die): Move to xalloc-die.c.
+ * userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
+ so that we needn't mess with xalloc_msg_memory_exhausted.
+
+ * sha1.h: Renamed from sha.h.
+ (SHA1_H): Renamed from _SHA_H.
+ (sha1_ctx): Renamed from sha_ctx.
+ (sha1_init_ctx): Renamed from sha_init_ctx.
+ (sha1_process_block): Renamed from sha_process_block.
+ (sha1_process_bytes): Renamed from sha_process_bytes.
+ (sha1_finish_ctx): Renamed from sha_finish_ctx.
+ (sha1_read_ctx): Renamed from sha_read_ctx.
+ (sha1_stream): Renamed from sha_stream.
+ (sha1_buffer): Renamed from sha_buffer.
+ * sha1.c: Likewise; renamed from sha.c.
+ Do not include <sys/types.h>.
+ Include <stddef.h> rather than <stdlib.h>.
+
+2004-08-08 Bruno Haible <bruno@clisp.org>
+
+ * pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
+ FILESYSTEM_PREFIX_LEN.
+ * progreloc.c: Likewise.
+ * concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
+
+2004-08-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ Merge from tar.
+ * argp-help.c (make_hol, hol_append): Don't assume that
+ SIZE_MAX is a valid preprocessor constant.
+ (__argp_basename): Change from "#ifndef _LIBC"
+ to "#ifndef __argp_short_program_name", so that
+ we don't compile these functions for tar.
+
+ More merges from coreutils.
+ * raise.c, readtokens0.h, readtokens0.c, strftime.h, utimens.h,
+ utimens.c, utimecmp.h, utimecmp.c, xnanosleep.h, xnanosleep.c,
+ yesno.h: New files.
+ * addext.c: Remove; no longer needed.
+ * yesno.c, argmatch.h, argmatch.c, backupfile.h, backupfile.c,
+ euidaccess.c, filemode.c, closeout.c, dup2.c, exclude.c,
+ fileblocks.c, filemode.c, fnmatch.c, fnmtahc_loop.c,
+ fopen-safer.c, fsusage.c, fsusage.h, ftruncate.c, full-write.c,
+ getdate.y, getloadavg.c, getugroups.c, hard-locale.c, hard-locale.h,
+ hash.c, human.c, human.h, lchown.c, lchown.h, makepath.c, makepath.h,
+ md5.c, md5.h, memchr.c, memcoll.c, memrchr.c, modechange.c,
+ modechange.h, mountlist.c, mountlist.h, nanosleep.c, posixtm.c,
+ putenv.c, quotearg.c, quotearg.h, readtokens.c, readutmp.c,
+ readutmp.h, rmdir.c, safe-read.c, save-cwd.c, savedir.c, setenv.c,
+ sig2str.c, stat.c, strtoimax.c, strverscmp.c, userspec.c, utime.c,
+ version-etc.c., xgethostname.c, xmemcoll.c, xreadlink.c, xstrtod.c,
+ xstrtod.h, xstrtoimax.c, xstrtol.c, xstrtol.h, xstrtoumax.c:
+ Import changes from coreutils.
+
+2004-08-05 Paul Eggert <eggert@cs.ucla.edu>
+
+ Merge from coreutils.
+
+ * .gdb-history: Remove; this doesn't belong here.
+
+ * c-strtod.c, c-strtod.h, c-strtold.c, cycle-check.c,
+ cycle-check.h, dev-ino.h, canonicalize.h, canonicalize.c,
+ fcntl-safer.h, fcntl-safer.c, getcwd.c: New files.
+
+ * dirname.h: Include <stdbool.h>.
+ (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
+ for consistency with POSIX terminology. All uses changed.
+ (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
+ (strip_trailing_slashes): Use bool for booleans.
+ * stripslash.c (strip_trailing_slashes): Likewise.
+
+ * error.c: Work around bug in OpenBSD 3.4 sterror_r: it
+ sometimes returns a positive errno value even when it succeeds.
+ (print_errno_message) [!LIBC]: Fall back on strerror if
+ __strerror_r fails.
+
+ * path-concat.c (mempcpy): Don't define if a system header defines it.
+ Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
+ (longest_relative_suffix): New function.
+ (path_concat): Use it. Assume first argument is not NULL.
+ Port to DOS. Omit redundant separators.
+ Report an error instead of returning NULL.
+ Use mempcpy instead of memcpy.
+ (xpath_concat): Remove: not declared or used.
+
+ * same.h: Include <stdbool.h>
+ (same_name): Return bool, not int.
+ * same.c (same_name): Likewise.
+ (errno): Don't declare; we assume C89 or better now.
+
+ * stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
+ if not already defined.
+
+ * xgetcwd.c (errno): Don't declare; we assume C89 or better now.
+ * dup-safer.c (errno): Likewise.
+
+2004-08-03 Paul Eggert <eggert@cs.ucla.edu>
+
+ * fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
+ working.
+
+2004-08-03 Simon Josefsson <jas@extundo.com>
+
+ * strdup.h: Only use HAVE_DECL_STRDUP if defined.
+ * progname.h: Don't include stdbool.h.
+
+2004-08-02 Simon Josefsson <jas@extundo.com>
+
+ * getsubopt.h: New file, with comments from Bruno Haible.
+ * getsubopt.c: New file, from glibc, but slightly modified based on
+ suggestions from Paul Eggert <eggert@cs.ucla.edu>.
+
+2004-08-01 Simon Josefsson <jas@extundo.com>
+
+ * xgetdomainname.c: Include stdlib.h, for free().
+
+2004-07-16 Simon Josefsson <jas@extundo.com>
+
+ * dummy.c: New file.
+
+2004-07-16 Bruno Haible <bruno@clisp.org>
+
+ * backupfile.h: Add extern "C" for C++.
+ * closeout.h: Likewise.
+ * copy-file.h: Likewise.
+ * findprog.h: Likewise.
+ * full-write.h: Likewise.
+ * pathname.h: Likewise.
+ * progname.h: Likewise.
+ * stpcpy.h: Likewise.
+ * stpncpy.h: Likewise.
+ * strcase.h: Likewise.
+ * strstr.h: Likewise.
+ * xalloc.h: Likewise.
+
+ * mbswidth.h: Add extern "C" for C++.
+ Reported by Albert Chin-A-Young <china@thewrittenword.com>.
+
+2004-07-09 Simon Josefsson <jas@extundo.com>
+
+ * getndelim2.c: Include stddef.h, for ptrdiff_t. (FreeBSD 4.9
+ failed without this.)
+
+2004-07-09 Paul Eggert <eggert@cs.ucla.edu>
+
+ * fchown-stub.c: New file.
+
+2004-06-24 Jim Meyering <jim@meyering.net>
+
+ * obstack.h (obstack_base): Cast to (void *), per documentation.
+
+2004-06-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ * argz.c, argz_.h: New files, which are autoupdated from libtool.
+
+2004-06-01 Jim Meyering <jim@meyering.net>
+
+ * calloc.c: New file.
+
+2004-06-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ * getdate.y (yylex): Allow space between sign and number.
+ Problem reported by Dan Jacobson.
+
+2004-06-01 Paul Eggert <eggert@cs.ucla.edu>
+ and Jim Meyering <jim@meyering.net>
+
+ Merge from coreutils CVS.
+
+ * stat-macros.h: New file, with contents from file-type.h
+ and coreutils' system.h.
+ * file-type.c: Include "stat-macros.h".
+ * file-type.h (file_type): Move all macro definitions to new file,
+ stat-macros.h.
+
+ * chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
+ Wrap old code with this conditional.
+ [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
+ function that does not dereference symlinks.
+ * lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
+
+ * xreadlink.c: Include xreadlink.h first, to catch .h file
+ dependency problems.
+ (xreadlink): Accept new arg SIZE, for efficiency.
+ All decls and uses changed.
+ * xreadlink.h: Include <stddef.h>, for size_t.
+
+ * .cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
+ gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
+
+ * .cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h, sysexits.h.
+
+2004-05-30 Paul Eggert <eggert@cs.ucla.edu>
+
+ * xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
+ macros to be defined.
+ (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
+ the allocator returns NULL because the requested size is zero.
+
+2004-05-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ * malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
+ var. Add comment explaining why libc still defines it. This
+ merges the following patch from glibc:
+ http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
+
+2004-05-19 Paul Eggert <eggert@cs.ucla.edu>
+
+ * obstack.c (_obstack): Remove unused variable. It hasn't been
+ present in glibc since revision 1.1 of this file.
+ * obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
+ obstack_alignment_mask, obstack_alloc, obstack_base,
+ obstack_blank, obstack_blank_fast, obstack_chunk_size,
+ obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
+ obstack_grow0, obstack_init, obstack_int_grow,
+ obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
+ obstack_next_free, obstack_object_size, obstack_ptr_grow,
+ obstack_ptr_grow_fast, obstack_room): Remove declarations of
+ nonexistent functions.
+
+2004-05-17 Derek R. Price <derek@ximbiot.com>
+ Paul Eggert <eggert@cs.ucla.edu>
+
+ * argp-help.c, argp-parse.c: Assume <alloca.h> rather than freecoding.
+
+2004-05-14 Bruno Haible <bruno@clisp.org>
+
+ * vasnprintf.c (VASNPRINTF): Correctly handle the case of a precision
+ that consists of a '.' followed by an empty digit string.
+ Patch by Tor Lillqvist <tml@iki.fi>.
+
+2004-05-17 Paul Eggert <eggert@cs.ucla.edu>
+
+ Port obstack to the AS/400, where pointers are 16 bytes wide and
+ you cannot cast an integer to a valid pointer. This patch is
+ currently waiting to be integrated into glibc; see
+ <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
+
+ * obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
+ All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
+ (__BPTR_ALIGN, __PTR_ALIGN): New macros.
+ (struct obstack): temp member is now a union of a pointer and
+ an integer, instead of an integer. All integer uses changed.
+ This does not affect the physical layout of struct obstack,
+ except on hosts (like the AS/400) where the size or alignment of
+ void * is greater than that of ptrdiff_t.
+ (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
+ __STDC__)]: Store temporary in pointer member of union, not
+ integer member.
+ * obstack.c: Include <stddef.h>, for offsetof.
+ (struct fooalign): Remove; it doesn't need a name.
+ (union fooround): Change double to long double, and add void *.
+ (DEFAULT_ALIGNMENT): Use offsetof to compute.
+ (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
+ not a macro. Hence the values are always int; so remove all
+ casts-to-int in uses.
+
+2004-05-16 Paul Eggert <eggert@cs.ucla.edu>
+ Derek Price <derek@ximbiot.com>
+
+ * alloca.c: Include <alloca.h>, to get our interface.
+ * alloca_.h: Use __alloca on AIX, so that we don't have to
+ include <alloca.h> first. Use C89 prototype for alloca; this
+ requires including <stddef.h> for size_t. Use extern "C" if C++.
+ Use #elif for simplicity, since we can assume C89 now.
+ Don't try to source the system alloca.h since it will not be found
+ and to prevent recursively including its replacement.
+ * fnmatch.c: Include <alloca.h> instead of opencoding.
+ * lib/regex.c: Likewise.
+
+2004-05-16 Derek Price <derek@ximbiot.com>
+ Paul Eggert <eggert@cs.ucla.edu>
+
+ getline cleanup. This changes the getndelim2 API: both order of
+ arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
+ no delimiter).
+
+ * getline.c: Don't include stddef.h or stdio.h, since our
+ interface does that.
+ (getline): Always use getdelim, so that we don't have two
+ copies of this code.
+ * getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
+ if available.
+ (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
+ (GETNDELIM2_MAXIMUM): New macro.
+ (getndelim2): Reorder arguments. delim==EOF now means no delimiter,
+ instead of the old practice of delim2==0. All callers changed.
+ Return -1 on overflow, instead of returning junk.
+ Do not set *linesize unless allocation succeeds.
+ * getndelim2.h: Do not include stddef.h; no longer needed, now
+ that we include sys/types.h.
+ * getnline.h: Likewise.
+ * getndelim2.h (GETNLINE_NO_LIMIT): New macro.
+ (getndelim2): Reorder arguments.
+ * getnline.c (getnline, getndelim):
+ Don't discard the NMAX argument.
+ (getnline): Invoke getndelim, to avoid code duplication.
+ * getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
+ of (size_t) -1 by callers of the getnline family.
+
+2004-05-13 Paul Eggert <eggert@cs.ucla.edu>
+
+ * nanosleep.c (suspended): Change its type from int to
+ sig_atomic_t volatile.
+ (first_call): Make it private to rpl_nanosleep, and have it
+ be zero initially as that's a bit faster.
+ (my_usleep): Round up fractional times instead of truncating them,
+ as this is the usual meaning for 'sleep'.
+
+ * gettime.c (gettime): Fall back on `time' if `gettimeofday'
+ doesn't work.
+ * settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
+ (ENOSYS): Define if not defined.
+ (settime): Fall back on stime if it exists and settimeofday fails.
+ But don't bother with fallbacks if a method fails with errno == EPERM.
+
+2004-05-11 Jim Meyering <jim@meyering.net>
+
+ Prior to this change, the save_cwd caller required read access to the
+ current directory on most systems (ones with the fchdir function).
+
+ * save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
+ fails, try write-only, and finally, resort to using xgetcwd.
+
+2004-05-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ * obstack.c, obstack.h: Import changes from libc.
+
+2004-04-28 Bruno Haible <bruno@clisp.org>
+
+ * findprog.c (find_in_path): Treat Cygwin like Windows, since it also
+ implicitly appends .exe to executables.
+ * localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
+ accepts Windows pathnames.
+ * pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN): Treat
+ Cygwin like Windows, since it now accepts Windows pathnames.
+ * progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN): Treat
+ Cygwin like Windows, since it now accepts Windows pathnames.
+ Reported by Derek Robert Price <derek@ximbiot.com>.
+
+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>
+
+ * localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
+ memory when realloc fails.
+
+2004-04-18 Jim Meyering <jim@meyering.net>
+
+ * readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc failure,
+ don't leak memory and do call END_UTMP_ENT.
+
+2004-04-11 Paul Eggert <eggert@twinsun.com>
+
+ * inttostr.h: Include <limits.h> unconditionally, since we assume C89.
+ (CHAR_BIT): Remove, since we assume C89.
+ Include <stdint.h> if available, as per current Autoconf CVS advice.
+
+2004-03-30 Paul Eggert <eggert@twinsun.com>
+
+ * cloexec.h, cloexec.c (set_cloexec_flag): Return int
+ not bool, to be more consistent with Unix conventions.
+ Suggested by Bruno Haible.
+
+ Merge from coreutils.
+
+ * imaxtostr.c, inttostr.c, inttostr.h, offtostr.c, umaxtostr.c:
+ New files.
+
+ * getdate.h: Include stdbool.h, and timespec.h instead of
+ the usual <time.h> dance.
+ (get_date): Change signature to support fractional time stamps.
+ All callers changed.
+ * getdate.y: Include "getdate.h" first, as we can now
+ assume C89 and don't need to worry about 'const'.
+ Similarly, include "unlocked-io.h" near start, not in middle.
+ Include <limits.h>.
+ (textint.value): Use long int rather than int.
+ (textint.digits): Use size_t rather than int.
+ (BILLION, LOG10_BILLION): New constants.
+ (parser_control): New member rel_ns. Members day_ordinal,
+ time_zone, month, day, hour, minutes, rel_year, rel_month,
+ rel_day, rel_hour, rel_minutes, rel_seconds
+ are now long int, not int. Member seconds is now struct timespec,
+ not int. New member timespec_seen. Members dates_seen, days_seen,
+ local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
+ not int.
+ (%union.intval): Now long int, not int.
+ New member timespec.
+ (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
+ (seconds, signed_seconds, unsigned_seconds): New nonterminals.
+ (spec): Now is a timespec or an item list.
+ (timespec, items): New nonterminals.
+ (time, rel, relunit, number, get_date):
+ Add support for fractional seconds.
+ (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
+ (gmtime, localtime, mktime): Remove decls; not needed with C89.
+ (to_hour): First arg is now long int, not int.
+ (to_year): Returns long int, not int.
+ Don't treat year -70 like 70.
+ (tm_diff): Returns long int, not int.
+ (lookup_word): Use bool instead of int when appropriate.
+ (yylex): Use size_t for count, not int.
+ Detect overflow when parsing large integer constants.
+ Add support for fractions.
+ (get_date): Make pointers 'const' if possible.
+ Use more-portable code to detect integer overflow.
+ (main) [TEST]: Adjust to above changes. Test for localtime failure.
+ Don't use ctime; it's not reliable if the year has >4 digits.
+
+ * human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
+ This is for compatibility with BSD.
+
+ * timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
+ (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
+ From coreutils' system.h.
+
+ * userspec.c: Don't include "posixver.h".
+ (parse_user_spec): Fall back on USER.GROUP parsing, regardless
+ of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
+ compatible extension. Simplify code by removing a boolean int
+ that was always nonzero if a string was nonnull.
+
+2004-03-30 Jim Meyering <jim@meyering.net>
+
+ Merge from coreutils.
+
+ * mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
+
+ * readtokens.c (readtoken): Don't leak 64 bytes when reading
+ an empty input stream.
+
+ * readtokens.c: Include <stdbool.h>.
+ (readtoken): Use `size_t' rather than int/long.
+ All callers adjusted.
+ Use `bool' rather than `int' where appropriate.
+ Use memset rather than an explicit loop.
+ Use x2nrealloc rather than xrealloc.
+ Allow the use of `\0' as a delimiter.
+ (readtokens): Likewise.
+ * readtokens.h (readtoken, readtokens): Update prototypes.
+
+2004-03-30 Bruno Haible <bruno@clisp.org>
+
+ * getloadavg.c (getloadavg): Don't assume setlocale returns
+ nonnull.
+
2004-03-29 Paul Eggert <eggert@twinsun.com>
Merge changes to getloadavg.c from coreutils and Emacs.
- * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
+ * getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
Define to an expression, not to the empty string.
Include cloexec.h and xalloc.h.
(getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
Use set_cloexec_flag rather than rolling our own.
- * lib/cloexec.c, lib/cloexec.h: New files.
+ * cloexec.c, cloexec.h: New files.
2004-03-18 Paul Eggert <eggert@twinsun.com>
* argp-parse.c, getopt.c, getopt.h, getopt1.c:
Sync with libc CVS.
- * lib/getopt_int.h: New file, also synced from libc.
+ * getopt_int.h: New file, also synced from libc.
2004-03-07 Paul Eggert <eggert@twinsun.com>
2003-10-12 Paul Eggert <eggert@twinsun.com>
- * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
+ * xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
(XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
and define in terms of the other primitives.
- * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
+ * xmalloc.c: Include stdbool.h; do not include exit.h.
(SIZE_MAX): Define if not already defined.
(array_size_overflow): New function.
(xalloc_die): Abort instead of exiting if 'error' returns.
(xnmalloc, xnrealloc, xzalloc, xclone): New functions.
(xmalloc, xrealloc): Use them.
(xcalloc): Check for address arithmetic overflow.
- * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
+ * xstrdup.c (xstrdup): Use xclone, since memcpy should be
a bit faster than strcpy.
2003-10-08 Paul Eggert <eggert@twinsun.com>
Merge some files from coreutils. These changes were
originally made by Jim Meyering.
- * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
+ * acl.c: Include <sys/types.h> before <sys/stat.h>;
many older Unixes require this.
- * lib/alloca.c (alloca): Remove cast to argument of free;
+ * alloca.c (alloca): Remove cast to argument of free;
no longer needed in C89.
- * lib/alloca_.h, lib/regex.h: Fix white space to match
+ * alloca_.h, regex.h: Fix white space to match
what GNU indent does.
2003-08-05 Paul Eggert <eggert@twinsun.com>
alert, backslash, formfeed, and vertical tab unnecessarily in
shell quoting style.
-Local Variables:
-version-control: never
-End:
+
+Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
+ 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.