+2003-07-22 Paul Eggert <eggert@twinsun.com>
+
+ * xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
+ over-parenthesization in macros.
+
+ Sync with coreutils.
+
+ * xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
+ required by C99.
+
+ Use `exit_failure' for xalloc and xmemcoll instead of their own
+ private exit-failure variables.
+ * xalloc.h (xalloc_exit_failure): Remove.
+ * xmalloc.c: Likewise. Include exitfail.h.
+ (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
+ * xmemcoll.h (xmemcoll_exit_failure): Remove.
+ * xmemcoll.c: Likewise. Include exitfail.h.
+ (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
+
+2003-07-18 Paul Eggert <eggert@twinsun.com>
+
+ * closeout.h (close_stdout_set_status, close_stdout_status): Remove.
+ * closeout.c: Likewise. Include "closeout.h" right after config.h,
+ to test that it can stand by itself. Include "exitfail.h".
+ Clients should set exit_failure instead.
+ (EXIT_FAILURE): Remove; no longer needed. Do not include <stdlib.h>.
+
+2003-07-18 Andreas Schwab <schwab@suse.de>
+
+ * memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
+
+2003-07-18 Bruno Haible <bruno@clisp.org>
+
+ * getndelim2.h: New file.
+ * getndelim2.c: Make into a module of its own. Include config.h,
+ getndelim2.h.
+ (getndelim2): Make non-static. Change return type to ssize_t.
+ * getline.h: Change argument names.
+ * getline.c: Include getndelim2.h instead of getndelim2.c.
+ * getnline.c: Include getndelim2.h.
+
+2003-07-17 Bruno Haible <bruno@clisp.org>
+
+ * Makefile.am: Remove file.
+ * Makefile.in: Remove file.
+
+2003-07-17 Bruno Haible <bruno@clisp.org>
+
+ * getnline.h: New file.
+ * getnline.c: New file.
+ * getndelim2.c: New file, extracted from getline.c.
+ (getndelim2): Renamed from getdelim2, with added nmax argument.
+ * getline.c: Include getndelim2.c.
+ (getdelim2): Moved out to getndelim2.c.
+ (getline, getdelim): Update.
+
+2003-07-15 <karl@gnu.org>
+
+ * vasnprintf.c: update from gettext.
+
+2003-07-15 Jim Meyering <jim@meyering.net>
+
+ * makepath.c (make_path): Enclose diagnostic in _(...).
+
+2003-07-14 Paul Eggert <eggert@twinsun.com>
+
+ * asnprintf.c, asprintf.c, config.charset, gettext.h,
+ localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
+ printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
+ ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
+ vasprintf.c, vasprintf.h: Regenerate. These files are now being
+ updated automatically by ../config/srclist-update. This changes
+ their license from LPGL to GPL.
+
+2003-07-14 Jim Meyering <jim@meyering.net>
+
+ Don't emit diagnostics. Let callers do that.
+ * save-cwd.c: Don't include "error.h".
+ (save_cwd): Don't call error. Ensure that errno is valid
+ when returning nonzero.
+
+ * save-cwd.h (restore_cwd): Update prototype.
+ * save-cwd.c (restore_cwd): Remove two parameters.
+ Simplify. Don't call error upon failure. Let callers do that.
+ (save_cwd): Mention that Irix 5.3 has the same problem as SunOS4
+ when auditing is enabled. But don't bother updating the #if.
+
+2003-07-14 Simon Josefsson <jas@extundo.com>
+
+ * mempcpy.h: New file.
+ * mempcpy.c: New file.
+
+2003-07-14 Paul Eggert <eggert@twinsun.com>
+
+ * ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
+ sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
+ unicodeio.c, unicodeio.h, unlocked-io.h:
+ Switch from LGPL to GPL.
+
+2003-07-11 Alexandre Duret-Lutz <adl@gnu.org>
+
+ * obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
+ it breaks C++ compilation.
+ [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
+
+2003-07-10 Jim Meyering <jim@meyering.net>
+
+ * vasnprintf.c: Remove trailing blanks.
+ Make cpp indentation consistent.
+
+2003-07-09 Paul Eggert <eggert@twinsun.com>
+
+ * alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
+ posixver.c, strftime.c, strnlen.c, strverscmp.c:
+ Switch from LGPL to GPL.
+
+2003-07-07 Paul Eggert <eggert@twinsun.com>
+
+ * mktime.c: Fix some boundary cases and remove need for floating point.
+
+ Issue a compile-time diagnostic if time_t is floating point, or if
+ two's complement arithmetic is not in effect, or if arithmetic
+ right shift does not propagate the sign. These assumptions were
+ all in the original code but they weren't checked.
+
+ (TIME_T_MIDPOINT, verify): New macros.
+ (__isleap): Remove; it has integer overflow problems.
+ (leapyear): New function, without those problems.
+ (ydhms_tm_diff): Remove; splitting into two parts.
+ (ydhms_diff): New function, containing the arithmetic part of
+ the old ydhms_tm_diff function. Issue a compile-time
+ diagnostic if we are not using C99 integer division.
+ Avoid casts when possible.
+ (guess_time_tm): New function, containing the checking part of
+ the old ydhms_tm_diff function. Return the new value, rather than
+ the difference between it and the old. Accept a new argument T
+ so that *T specifies the old value. Check for overflow in the result.
+
+ (__mktime_internal): Use a time_t offset, not a long int offset.
+ This undoes the 2003-06-04 change, which is no longer needed now
+ that we have better overflow checking.
+ (localtime_offset): Likewise.
+
+ (__mktime_internal): Avoid harmful overflow on hosts where time_t
+ and long are 64-bit but int is only 32-bit.
+ (ydhms_diff): Use long int to store year1 and yday1.
+ Issue a compile-time diagnostic if long int is not wide enough.
+
+ (__mktime_internal): Use long int to store adjusted year and yday.
+ Use plain C rather than preprocessor commands, if that doesn't
+ affect efficiency.
+ Check for overflow (and try to repair) after each probe
+ rather than checking only at the very end. This avoids some bugs
+ (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
+ does not equal GMT offset at maximum time).
+ Use integer to check for overflow rather than floating point; this
+ is more portable to non-IEEE hosts, and is a tad faster.
+ When we detect that we are oscillating between two values,
+ don't check whether tm_isdst has the requested value, since
+ we already know the answer. When tm_isdst has the wrong value,
+ use a different heuristic to find the right one, based on the
+ extreme values actually observed in practice in tz2003a,
+ rather than the (overly optimistic) "previous 3 calendar quarters".
+
+ (not_equal_tm, print_tm, check_result): Use "const T" rather than
+ "T const" to accommodate glibc style.
+ (check_result): Use less-confusing report format. "long" -> "long int.
+ (main): Likewise.
+ Don't loop if the iteration overflows time_t.
+ Allow a negative step in the iteration.
+
+2003-07-01 Paul Eggert <eggert@twinsun.com>
+
+ * xreadlink.c: Include <sys/types.h> unconditionally, instead of
+ having it depend on HAVE_SYS_TYPES_H.
+
+2003-06-25 Bruno Haible <bruno@clisp.org>
+
+ * readlink.c: New file.
+
+2003-06-20 Bruno Haible <bruno@clisp.org>
+
+ Assume C89, so PARAMS isn't needed.
+ * unicodeio.h (PARAMS): Remove.
+ * unicodeio.c: Don't use PARAMS.
+
+2003-06-18 Jim Meyering <jim@meyering.net>
+
+ Merge changes from coreutils.
+ * readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
+ Remove explicit declarations of xmalloc and realloc.
+ Include xalloc.h.
+ (read_utmp): Remove anachronistic cast of xmalloc.
+
+2003-06-17 Paul Eggert <eggert@twinsun.com>
+
+ Assume C89, so PARAMS isn't needed.
+ * backupfile.h (PARAMS): Remove. All uses removed.
+ * closeout.h, dirname.h, filemode.h, fsusage.h, getdate.h, getline.h,
+ group-member.h, hard-locale.h, hash.h, linebuffer.h, long-options.h,
+ makepath.h, memcasecmp.h, memcoll.h, modechange.h, mountlist.h,
+ path-concat.h, physmem.h, posixtm.h, quote.h, readutmp.h, same.h,
+ save-cwd.h, savedir.h, stdio-safer.h, strtoimax.c, strverscmp.h,
+ unistd-safer.h, version-etc.h, xalloc.h, xreadlink.h, xstrtod.h,
+ xstrtol.h: Likewise.
+ * filemode.h, hard-locale.h, memcoll.h, modechange.h, physmem.h,
+ same.h, strverscmp.h: Do not include config.h; no longer needed.
+ Anyway, config.h should always be included before any other file.
+
+2003-06-11 Simon Josefsson <jas@extundo.com>
+
+ * sysexit_.h: New file.
+
+2003-05-20 Derek Price <derek@ximbiot.com>
+
+ * stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is necessary.
+
+2003-06-10 Simon Josefsson <jas@extundo.com>
+
+ * strchrnul.h: New file.
+ * strchrnul.c: New file.
+
+2003-06-10 Simon Josefsson <jas@extundo.com>
+
+ * argp.h: New file, from glibc.
+ * argp-ba.c: New file, from glibc.
+ * argp-eexst.c: New file, from glibc.
+ * argp-fmtstream.c: New file, from glibc.
+ * argp-fmtstream.h: New file, from glibc.
+ * argp-fs-xinl.c: New file, from glibc.
+ * argp-help.c: New file, from glibc.
+ * argp-namefrob.h: New file, from glibc.
+ * argp-parse.c: New file, from glibc.
+ * argp-pv.c: New file, from glibc.
+ * argp-pvh.c: New file, from glibc.
+ * argp-xinl.c: New file, from glibc.
+
+2003-06-07 Jim Meyering <jim@meyering.net>
+
+ * readtokens.h: Put `Free Software Foundation, Inc.'
+ in place of my name in the copyright comment.
+ Remove definition and uses of __P.
+
+ From coreutils.
+ * stat.c: Don't declare xmalloc explicitly.
+ Instead, include "xalloc.h".
+ * readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
+ xrealloc, and xcalloc return values.
+ * xgetcwd.c (xgetcwd): Include "xgetcwd.h".
+ Improve comment.
+ * xgetcwd.h: Remove definition/uses of PARAMS.
+
2003-06-06 Jim Meyering <jim@meyering.net>
* stdbool_.h: Renamed from stdbool.h.in.
2003-06-06 Jim Meyering <jim@meyering.net>
Merge from coreutils.
+ * same.c: (same_name): Declare *_basename locals to be `const'.
+ Consolidate declarations and initializations of *_base* locals.
+
+ Merge from coreutils.
This avoids a core dump on systems without GNU putenv,
when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
* putenv.c (__set_errno, LOCK, UNLOCK): Define.
2003-06-05 Paul Eggert <eggert@twinsun.com>
+ * mktime.c (__mktime_internal): When resolving a tm_isdst
+ mismatch, look in future quarters as well as past. This fixes a
+ bug when processing fall-backwards gaps immediately after a long
+ period of daylight-saving time.
+
* mktime.c: Assume freestanding C89 or better.
(HAVE_LIMITS_H): Remove. Assume it's 1.
(__P): Remove; not used.