Import chamges from coreutils, so that the code now assumes
[gnulib.git] / lib / ChangeLog
index 93d905a..05f13df 100644 (file)
@@ -1,3 +1,124 @@
+2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Changes imported from coreutils.
+       * hard-locale.c: Assume <locale.h> exists.
+       Include "strdup.h".
+       (GLIBC_VERSION): New macro.
+       (hard_locale): Assume setlocale exists.
+       Rewrite to avoid #ifdef.
+       Use strdup rather than malloc + strcpy.
+       * human.c: Assume <locale.h> exists.
+       (human_readable): Assume localeconv exists.
+
+2004-12-01  Jakub Jelinek  <jakub@redhat.com>
+
+       * mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
+       convert T2, not T.  (Imported from libc.)
+
+2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * getcwd.c (is_ENAMETOOLONG): New macro.
+       (__getcwd.c): Don't restore errno; glibc doesn't.
+       [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
+       first, falling back to our code only if its results look suspicious.
+       Ensure that the resulting buffer is only as large as necessary.
+
+       * readutmp.c: Include readutmp.h first.
+       Include <errno.h>, since readutmp.h no longer does that.
+       * readutmp.h: Don't include <errno.h>,
+       <sys/param.h>, <time.h>; not needed to establish interface.
+       (errno): Remove decl.
+       (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
+       (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
+       UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
+
+2004-11-28  Simon Josefsson  <jas@extundo.com>
+
+       * base64.h, base64.c: New file.
+
+2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * getcwd.h: New file, which I forgot to check in on 2004-11-25.
+
+2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
+       HP's ANSI C compiler.
+       * fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
+       Declaring int functions causes warnings on some modern systems and
+       shouldn't be needed to compile on ancient ones.
+       * same.c (MIN) [defined MIN]: Don't define, since it's already
+       defined.
+
+       * getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
+       with the following changes.
+       (__set_errno): Parenthesize properly.
+       Include <stdbool.h>.
+       (MIN, MAX, MATCHING_INO): New macros.
+       (__getcwd): Define with prototype, not K&R form.
+       Use heuristics to allocate default buffer on stack if possible.
+       If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
+       behavior, and to avoid the PATH_MAX limit when computing
+       ../../../../...
+       Use MATCHING_INO to compare inode number to file.
+       Check for arithmetic overflow in size calculations.
+       Fix bug in reallocation of dot array that caused getcwd to fail
+       on directories nested deeper than 75.
+       Be more careful about saving errno on error.
+       Do not use realloc; use only free+malloc, as this is a bit
+       more flexible and avoids a needless copy operation.
+       Do not inspect st_dev and st_ino for symbolic links; POSIX
+       doesn't specify the latter.
+       Check for closedir errors.
+       Avoid needless casts.
+       Use "#ifdef weak_alias" around weak_alias, to be like other
+       glibc code.
+       The following changes to getcwd.c have effect only when used in
+       gnulib; they have no effect inside glibc proper.
+       (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
+       as alloca isn't used.
+       (alloca, __alloca): Likewise.
+       [!_LIBC]: Include "getcwd.h", "mempcpy.h".
+       Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
+       unconditionally, as gnulib assumes C89 or better.
+       Do not include <sys/param.h>.
+       (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
+       no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
+       better.
+       (NULL) [!defined NULL]: Remove; we assume C89 or better.
+       Include <dirent.h> in a way that is compatible with modern Autoconf.
+       (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
+       New macros, if not already defined.
+       Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
+       Use "_LIBC", not "defined _LIBC", for consistency.
+       (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
+       a mempcpy module.
+       (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
+       (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
+       * xgetcwd.c: David MacKenzie's old code was removed, so give
+       credit only to Jim Meyering and adjust the copyright dates.
+       Do not include <limits.h>, <stdio.h>, <sys/types.h>,
+       <stdlib.h>, <unistd.h>, "pathmax.h".
+       Instead, include "xgetcwd.h" (first) and "getcwd.h".
+       (INITIAL_BUFFER_SIZE): Remove.
+       (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
+
+2004-11-23  Jim Meyering  <jim@meyering.net>
+
+       * getopt_.h: Remove trailing blanks.
+
+2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
+       (futimens): New function, which uses futimes if available.
+       (futimens, utimens): Support timespec==NULL, with same semantics
+       as utime and utimens.
+       * utimens.h (futimens): New decl.
+
+2004-11-23  Jim Meyering  <jim@meyering.net>
+
+       * __fpending.c: Add comment.
+
 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
        * lib/getopt_.h: Re-addition of __getopt_argv_const caused
@@ -9,7 +130,6 @@
        [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
        __need_getopt after including <stdio.h> and <unistd.h> These
        headers might have defined it.
-       
 
 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>