[!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
[gnulib.git] / lib / ChangeLog
index 762e3eb..ee53ff7 100644 (file)
@@ -1,3 +1,300 @@
+2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Factor int-properties macros into a single file, except for
+       glibc-related files.
+       * intprops.h: New file.
+       * getloadavg.c: Include it instead of limits.h.
+       (INT_STRLEN_BOUND): Remove.
+       * human.c: Include intprops.h.
+       (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
+       * human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than 302/1000.
+       * inttostr.h: Include intprops.h instead of limits.h.
+       (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
+       * mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
+       for consistency with intprops.h.
+       (time_t_is_integer, twos_complement_arithmetic): Use them.
+       * sig2str.h: Include <signal.h>, intprops.h.
+       (INT_STRLEN_BOUND): Remove.
+       * strftime.c (TYPE_SIGNED): Remove.
+       (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
+       * strtol.c: Adjust comments to match intprops.h.
+       * userspec.c: Include intprops.h.
+       (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
+       * utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
+       * utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
+       instead of rolling our own expressions.
+       * xstrtol.c: Include xstrtol.h first, to test interface.
+
+       * strftime.c: Include <stdbool.h>.  Use bool where appropriate,
+       instead of int.
+       (my_strftime): Do not mishandle years close to INT_MAX, by doing
+       the right thing even if adding 1900 would overflow.  Similarly
+       for tm_mon + 1 and tm_yday + 1.
+       Make %Y always equivalent to %C%y, and similarly for %G and %g.
+       (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
+       (DO_SIGNED_NUMBER): New macro.
+       (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
+
+2005-03-07  Bruno Haible  <bruno@clisp.org>
+
+       * pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
+
+2005-03-03  Derek R. Price  <derek@ximbiot.com>
+            Bruno Haible  <bruno@clisp.org>
+
+       * pagealign_alloc.h: New file.
+       * pagealign_alloc.c: New file.
+
+2005-01-28  Bruno Haible  <bruno@clisp.org>
+
+       * stpncpy.h (stpncpy): Define as a macro without arguments, so that
+       stpncpy.c uses it.
+
+2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
+       The workaround isn't strictly needed for POSIX conformance, and
+       it's too much of a pain to configure and maintain.  We'll ask
+       people to fix their kernels instead.
+       * xnanosleep.c: Don't include gethrxtime.h or xtime.h.
+       (NANOSLEEP_BUG_WORKAROUND): Remove.
+       (xnanosleep): Remove the workaround.
+
+2005-02-12  Bruno Haible  <bruno@clisp.org>
+
+       * vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
+
+2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * gethrxtime.h, gethrxtime.c, xtime.h: New files.
+       * timespec.h (gettime): Return void, since it always
+       succeeds now.  All uses changed.
+       * gettime.c (gettime) Likewise.
+       [HAVE_NANOTIME]: Prefer nanotime.
+       Assume gettimeofday succeeds, as POSIX requires.
+       Assime time () succeeds, since other code already does.
+       * xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
+       (timespec_subtract): Remove.
+       (NANOSLEEP_BUG_WORKAROUND): New constant.
+       (xnanosleep): Use gethrxtime rather than gettime; this simplifies
+       things considerably.  Use it only on GNU/Linux hosts, since the
+       workaround shouldn't be needed elsewhere.
+
+2005-02-24  Bruno Haible  <bruno@clisp.org>
+
+       * gettext.h: Update from GNU gettext 0.14.2.
+
+2005-02-24  Bruno Haible  <bruno@clisp.org>
+
+       * localcharset.c: Update from GNU gettext 0.14.2.
+       * config.charset: Update from GNU gettext 0.14.2.
+
+2005-02-22  Simon Josefsson  <jas@extundo.com>
+
+       * iconvme.h, iconvme.c: New files, from libc.
+
+2005-02-20  Neil Conway  <neilc@samurai.com>
+
+       * xgethostname.c (xgethostname): Check for ENOMEM, which is
+       returned by OSX/Darwin if the specified buffer is not large
+       enough for the hostname.
+
+2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * memrchr.h: New file.
+       * chdir-long.c: Include it.
+       * memrchr.c [!defined _LIBC]: Include it rather than <string.h>
+       Don't bother including stddef.h.
+
+2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * argp-help.c (__argp_help): Create a fake struct argp_state and
+       pass it to _help, otherwise the latter coredumps trying to
+       dereference state.root_argp.
+
+2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * mountlist.h (MOUNTLIST_H_): New macro, to protect against double
+       inclusion.
+       Include <sys/types.h>, for dev_t.
+       (ME_DUMMY, ME_REMOTE): Move from here....
+       * mountlist.c (ME_DUMMY, ME_REMOTE): To here.
+       (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
+       Dmitry V. Levin.
+       Include mountlist.h first, to test the interface.
+
+2005-01-29  Bruno Haible  <bruno@clisp.org>
+
+       * progname.c (program_name): Initialize.
+       Needed when linking statically on MacOS X.
+
+2005-01-28  Bruno Haible  <bruno@clisp.org>
+
+       * javacomp.sh.in: New file, from GNU gettext.
+       * javacomp.h: New file, from GNU gettext.
+       * javacomp.c: New file, from GNU gettext.
+
+2005-01-26  Bruno Haible  <bruno@clisp.org>
+
+       * javaexec.sh.in: New file, from GNU gettext.
+       * javaexec.h: New file, from GNU gettext.
+       * javaexec.c: New file, from GNU gettext.
+
+2005-01-26  Simon Josefsson  <jas@extundo.com>
+
+       * gai_strerror.c: Use GPL in header.
+
+2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * argp-help.c (hol_entry_help): Avoid using non-constant
+       initializers for struct pentry_state.
+       (__argp_error): Check return value of __asprintf
+       (__argp_failure): Translate error message
+
+       * argp-parse.c: Removed braces around the expansion of N_()
+
+2005-01-21  Jim Meyering  <jim@meyering.net>
+
+       * openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
+       same value as for Solaris 9.
+
+       * chdir-long.c (chdir_long): Rewrite to remove limitation on
+       component length.  This included changing the parameter to be
+       of type `char *' rather than `char const *'.
+       * chdir-long.h (chdir_long): Update prototype.
+
+       * openat.c (fdopendir, fstatat): New functions.
+       * openat.h: Include headers required for use of DIR and struct stat.
+       [AT_SYMLINK_NOFOLLOW]: Define.
+       (fdopendir, fstatat): Add prototypes.
+
+2005-01-21  Bruno Haible  <bruno@clisp.org>
+
+       * classpath.h: New file, from GNU gettext.
+       * classpath.c: New file, from GNU gettext.
+
+2005-01-20  Simon Josefsson  <jas@extundo.com>
+
+       * version-etc-fsf.c: New file, with version_etc_copyright.
+       * version-etc.c: Remove version_etc_copyright.
+       * version-etc.h (version_etc_copyright): Use [] instead of * in
+       prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
+
+2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * save-cwd.c (save_cwd): Remove code to support the case
+       where fchdir is missing or flaky.
+
+2005-01-20  Simon Josefsson  <jas@extundo.com>
+
+       * base64.h (isbase64): Add.
+
+       * base64.c (isb64): Rename to isbase64, use to_uchar instead of
+       using a unsigned prototype, don't inline.
+       (base64_decode): Use it.
+
+2005-01-19  Bruno Haible  <bruno@clisp.org>
+
+       * sh-quote.h: New file, from GNU gettext.
+       * sh-quote.c: New file, from GNU gettext.
+
+2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Merge changes from coreutils, as described below in several
+       changelogs dated today.
+
+       * save-cwd.c: Include "save-cwd.h" before other include files.
+       (O_DIRECTORY): Remove; not needed here, since "." must be
+       a directory.  All uses removed.
+       (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
+       universal on Suns, and we also need to test for IRIX.
+       Revamp code to use 'if' rather than '#if'.
+       Avoid unnecessary comparison of cwd->desc to 0.
+
+       * utimens.c (futimens): Robustify the previous patch, by checking
+       for known valid error numbers rather than observed invalid ones.
+
+2005-01-18  Jim Meyering  <jim@meyering.net>
+
+       * version-etc.c (version_etc_copyright): Update copyright date.
+
+       * utimens.c (futimens): Account for the fact that futimes
+       can also fail with errno == ENOSYS or errno == ENOENT.
+       Patch from Dmitry V. Levin.
+
+       Change the name of the robust chdir function from chdir to chdir_long.
+       * save-cwd.c: Include chdir-long.h rather than chdir.h.
+       (restore_cwd): Use chdir_long, not chdir.
+       * chdir-long.c: Renamed from chdir.c.
+       * chdir-long.h: Renamed from chdir.h.
+       [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
+       Hurd.
+
+2005-01-18  Bob Proulx  <bob@proulx.com>
+
+       * obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to simplify
+       offsetof() macro construct to avoid compile failure with native HP-UX
+       11.0 ANSI C compiler.
+
+2005-01-06  Bruno Haible  <bruno@clisp.org>
+
+       * stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming, redundant
+       because stpncpy.m4 takes care of it.
+
+2004-01-24  Bruno Haible  <bruno@clisp.org>
+
+       * progreloc.c (xstrdup): Define as strdup if no xmalloc should be used.
+
+2003-10-09  Bruno Haible  <bruno@clisp.org>
+
+       * progreloc.c: Include xalloc.h instead of xmalloc.h.
+
+2005-01-06  Bruno Haible  <bruno@clisp.org>
+
+       * fwriteerror.h (fwriteerror): Change specification to include fclose.
+       * fwriteerror.c: Include <stdbool.h>.
+       (fwriteerror): At the end, close the file stream. Record whether
+       stdout was already closed.
+
+2004-05-27  Bruno Haible  <bruno@clisp.org>
+
+       * execute.c (environ): Declare if needed.
+       * pipe.c (environ): Likewise.
+       Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
+
+2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
+       definitions to be after all include files, to avoid collisions.
+       Problem reported by Bob Proulx.
+
+2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
+       not needed.  This removes a dependency on the gettext module.
+       [defined _LIBC]: Do not include <libintl.h>; not needed.
+
+2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
+        HAVE_DECL_STRTOLD.
+
+2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * argp-parse.c: Include <stddef.h>.
+       (alignof, alignto): New macros.
+       (parser_init): Don't assume that void * is aligned sufficiently
+       for struct option.
+
+       * getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
+       need to extend the stack.
+       (YYINITDEPTH): New macro, so that the initial stack isn't overly
+       large.
+
+2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * argp-parse.c (parser_init): Avoid arithmetics on void pointers.
+
 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
 
        * alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
 
 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
-       * lib/getopt_.h: Re-addition of __getopt_argv_const caused
+       * getopt_.h: Re-addition of __getopt_argv_const caused
        redefinition warnings. To avoid them, include the defines
        in `#if !defined __need_getopt ... #endif'. The only place
        where __getopt_argv_const is used is in definitions
 
 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
 
-       * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
+       * getpass.c (fflush_unlocked, flockfile, funlockfile)
        (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
        already declared.
 
        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.
+       * regex.c: Likewise.
 
 2004-05-16  Derek Price  <derek@ximbiot.com>
            Paul Eggert  <eggert@cs.ucla.edu>
        shell quoting style.
 
 
-Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
+Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
   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.