+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.