fsf address update
[gnulib.git] / lib / ChangeLog
index 572319a..b65a5e8 100644 (file)
@@ -1,3 +1,325 @@
+2005-05-10  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
+
+       * getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
+       specified in ai_socktype. Fix invalid ai_protocol
+       check. ai_protocol is usually set to 0 or depending on
+       ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
+       SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
+       ai_socktype / ai_protocol in the returned addrinfo structure.
+
+2005-05-09  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
+            Bruno Haible  <bruno@clisp.org>
+
+       * inet_ntop.h: New file.
+       * inet_ntop.c: New file, from glibc with modifications.
+
+2005-05-08  Jim Meyering  <jim@meyering.net>
+
+       * classpath.c (PATH_SEPARATOR): Remove insignificant trailing blank.
+
+2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Merge from coreutils.  Among other things,
+       add bulletproofing for cases where stdin, stdout, or stderr are closed.
+       * fd-safer.c: New file.
+       * fcntl-safer.h, open-safer.c: Remove.
+       * chdir-long.c: Fix comment "fetish" -> "coreutils".
+       * dup-safer.c: Include unistd-safer.h first.
+       Don't include errno.h.
+       (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
+       * file-type.h: Don't assume invoker included sys/stat.h first.
+       * file-type.c: Rely on file-type.h change.
+       * getloadavg.c: Include unistd-safer.h.
+       (getloadavg): Use safer open.
+       * getusershell.c: Include "stdio-safer.h".
+       (getusershell): Use safer fopen.
+       * long-options.c (long_options): Use NULL rather than 0.
+       * modechange.h (mode_free): Remove; all callers changed to invoke
+       'free'.
+       * modechange.c: Likewise.
+       xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
+       (MODE_DONE): New constant.
+       (struct mode_change): Remove 'next' member.
+       (make_node_op_equals): New function; like the old one of the
+       same name, except it allocates an array.
+       (mode_compile, mode_create_from_ref): Use it.
+       (mode_compile): Allocate result as an array, not a linked list.
+       Parse octal string ourself, so that we catch mistakes like "+0".
+       (mode_adjust): Arg is an array, not a linked list.
+       * modechange.c: Include stat-macros.h, xalloc.h.
+       (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
+       (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
+       (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
+       Remove.  This is now stat-macros.h's job.
+       (talloc): Remove.  All callers replaced by xalloc, so that
+       our invokers don't have to worry about reporting memory failures.
+       (make_node_op_equals): Remove.
+       (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
+       New constants.
+       (struct mode_change): Moved here from modechange.h.
+       (mode_append_entry): Remove.
+       (mode_compile): Remove MASKED_OPS arg, since it encouraged
+       apps to have incorrect behavior.  Use simpler algorithm for head
+       and tail.  Don't futz with umask; that's now the job of mode_adjust.
+       Detect more invalid usages rather than having somewhat-random behavior.
+       Don't insert an "a=" action, as that leads to incorrect behavior.
+       (mode_compile, mode_create_from_ref): Return NULL on error instead
+       of an enum, since now there's only one way to have an error.  All
+       callers changed.
+       (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
+       at the correct time.  Simplify calculation of "+u" and its ilk.
+       Don't mishandle "+X".
+       (mode_free): Remove "register" and localize decls.
+       * modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
+       (struct mode_change): Move to modechange.c; callers don't
+       need to see this stuff.
+       (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
+       (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
+       (mode_change, mode_adjust): Reflect the new signatures noted above.
+       * nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
+       that might redefine system include files.
+       (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
+       (my_usleep): Use NULL rather than (void *) 0.
+       (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
+       Use siginterrupt to specify that system calls should be interrupted.
+       (rpl_nanosleep): Move initialization of suspended closer to call of
+       my_usleep.
+       * readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
+       * readutmp.c: Likewise.  Include signal.h, stdbool.h.
+       (desirable_utmp_entry): New function.
+       (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
+       using x2nrealloc, to simplify logic.
+       (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
+       size calculation.  Do not assume utmp file is a regular file.
+       * readutmp.h (UT_PID): Moved here from ../src/who.c.
+       (READ_UTMP_CHECK_PIDS): New constant.
+       * save-cwd.c: Include unistd-safer.h.
+       (save_cwd): Use fd_safer.
+       * tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
+       [!_LIBC] Include "stat-macros.h" instead.
+       * unistd-safer.h (fd_safer): New decl.
+
+2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
+
+       * byteswap_.h: New file.
+
+2005-04-25  Albert Chin  <china@thewrittenword.com>
+
+       * regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
+       Toolkit C bug.
+
+2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * getdate.y (zone): Allow relunit_snumber after tZONE, so
+       that "UTC +1 second" continues to work.  Problem reported
+       by Dmitry V. Levin.
+       (relunit_snumber): New rule.
+       (relunit): Use it.
+
+2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * getdate.y (universal_time_zone_table): New constant.
+       (time_zone_table): Remove GMT, UT, UTC entries; they're now in
+       universal_time_zone_table.
+       (lookup_zone): Prefer universal_time_zone_table to
+       local_time_zone_table, so that "GMT" time stamps are allowed in
+       London during the summer.  Problem reported by Ian Abbott.
+
+2005-04-12  Jim Meyering  <jim@meyering.net>
+
+       * human.c (humblock): Set *options even when returning due to
+       xstrtoumax conversion failure.  Thanks to a used-uninitialized
+       warning from gcc-4.
+
+2005-04-09  Jim Meyering  <jim@meyering.net>
+
+       * posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
+       -Wuninitialized: initialize tm0.tm_year.
+
+2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * getdate.y (parser_control): rels_seen is now a boolean, not a
+       count, since there's no maximum.  All uses changed.
+       Add member dsts_seen.
+       (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
+       not being INT_MAX.
+       (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
+       Use pc_rels_seen to decide whther a date is absolute.
+
+       * getdate.y (number): Don't overwrite year.
+       (get_date): Initialize pc.year.digits to 0, not 4, to enable above
+       check.
+
+2005-04-02  Simon Josefsson  <jas@extundo.com>
+
+       * getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
+       patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
+
+2005-03-27  Jim Meyering  <jim@meyering.net>
+
+       * argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
+
+2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
+       "one's complement" -> "ones' complement" in comment, as per Knuth.
+       "value of type" -> "type or expression" in comment.
+       * mktime.c, strftime.c: Propagate intprops.h comment nits.
+
+2005-03-26  Jim Meyering  <jim@meyering.net>
+
+       Comment nits.
+       * intprops.h: Add the apostrophe in `(one|two)'s complement'.
+       Correct typos: s/or/of/.
+
+2005-03-23  Jim Meyering  <jim@meyering.net>
+
+       * canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
+
+2005-03-21  Jim Meyering  <jim@meyering.net>
+
+       Changes imported from coreutils.
+
+       * cycle-check.c: Don't include xalloc.h.
+
+       * path-concat.c: Don't include assert.h.
+       (path_concat): Remove assertion that would have triggered
+       for ABASE starting with more than one slash.
+       Reported by Andreas Schwab.
+
+       * path-concat.c (path_concat): Set *BASE_IN_RESULT
+       properly when ABASE is an absolute file name.
+       Correct the description of this function.
+       Include <assert.h>.
+       Add an assertion and a test driver.
+       This fixes a bug introduced on 2004-07-02.
+       Andreas Schwab reported the resulting failure of cp --parents:
+       http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
+
+2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * strftime.c (my_strftime): If the underlying strftime returns 0
+       (which shouldn't happen), generate nothing instead of returning 0
+       immediately, so that nstrftime (NULL, ...) doesn't return 0.
+
+2005-03-16  Bruno Haible  <bruno@clisp.org>
+
+       * stdint_.h: Use HAVE_LONG_LONG_64BIT instead of HAVE_LONGLONG_64BIT.
+
+2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * strftime.c (my_strftime): Prepend space to format so that we can
+       reliably distinguish strftime failure from empty output on POSIX
+       hosts.
+
+2005-03-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * iconvme.c (SIZE_MAX): New macro, if not already defined.
+       (iconv_string): Don't guess a size-zero buffer, as that might cause
+       buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
+       result would be 'too large', where 'too large' is (heuristically)
+       the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
+       overflow concerns.  This will prevent some unwanted malloc failures
+       when the inputs are very large.
+
+2005-03-15  Bruno Haible  <bruno@clisp.org>
+
+       * regex.c (byte_re_match_2_internal): Rename local variable 'not' to
+       'negate'.
+
+       * regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
+       variable.
+
+       * regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc results.
+
+2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
+       TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
+       intprops.h.
+       * strtol.c: Likewise.
+
+2005-03-14  Simon Josefsson  <jas@extundo.com>
+
+       * timegm.h: Use proper prototype CPP guards, reported by Dave Love
+       <fx@gnu.org>.
+
+2005-03-14  Jim Meyering  <jim@meyering.net>
+
+       * strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
+       && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
+       to be nonzero so that we (and caller) can detect the difference
+       between a valid zero-length expansion and an error return, even
+       when the underlying strftime fails before writing anything into
+       that location.
+
+2005-03-10  Jim Meyering  <jim@meyering.net>
+
+       * save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
+       so that this module works on systems without fchdir.
+
+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.
 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
 
        * c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
-        HAVE_DECL_STRTOLD.
+       HAVE_DECL_STRTOLD.
 
 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
 
        with MAXSIZE.
 
 2004-11-02  Derek R. Price  <derek@ximbiot.com>
-       and  Paul Eggert  <eggert@cs.ucla.edu>
+       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.
        * snprintf.c (snprintf): Handle size==0.
 
 2004-10-01  Simon Josefsson  <jas@extundo.com>
-            Bruno Haible  <bruno@clisp.org>
+           Bruno Haible  <bruno@clisp.org>
 
        * snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
        (snprintf): Declare 'args'.
        Problem reported by Dan Jacobson.
 
 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
-       and  Jim Meyering  <jim@meyering.net>
+       and  Jim Meyering  <jim@meyering.net>
 
        Merge from coreutils CVS.
 
        * getndelim2.c (getndelim2): Upon realloc failure, don't leak memory.
 
 2004-04-20  Jim Meyering  <jim@meyering.net>
-            Bruno Haible  <bruno@clisp.org>
+           Bruno Haible  <bruno@clisp.org>
 
        * localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
        memory when realloc fails.
        * getopt.h: Sync with libc CVS.
 
 2004-03-18  Paul Eggert  <eggert@twinsun.com>
-            Bruno Haible  <bruno@clisp.org>
+           Bruno Haible  <bruno@clisp.org>
 
        * mbswidth.h: Include <wchar.h> only if HAVE_DECL_MBSWIDTH_IN_WCHAR_H,
        not on all platforms that have <wchar.h>.
        * argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
 
 2003-11-23  Paul Eggert  <eggert@twinsun.com>
-            Bruno Haible  <bruno@clisp.org>
+           Bruno Haible  <bruno@clisp.org>
 
        * printf-parse.h: Don't include sys/types.h.
        (ARG_NONE): New macro.
        Reported by Geoff Collyer via Arnold Robbins.
 
 2003-11-16  Paul Eggert  <eggert@twinsun.com>
-            Bruno Haible  <bruno@clisp.org>
+           Bruno Haible  <bruno@clisp.org>
 
        Protect against address arithmetic overflow.
        * printf-args.h: Include stddef.h.
        * linebuffer.c: Include <string.h> for declaration of memset.
 
 2003-10-30  Paul Eggert  <eggert@twinsun.com>
-            Bruno Haible  <bruno@clisp.org>
+           Bruno Haible  <bruno@clisp.org>
 
        * vasprintf.c: Include <limits.h>, <stdlib.h>.
        (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
        * version-etc-2.c: Remove file.
 
 2003-09-25  Jim Meyering  <jim@meyering.net>
-            Bruno Haible  <bruno@clisp.org>
+           Bruno Haible  <bruno@clisp.org>
 
        This lets translators provide better translations for the
        "Written by ..." part of --version output.
        * xgetdomainname.c: New file.
 
 2003-09-25  Simon Josefsson  <jas@extundo.com>
-            Bruno Haible  <bruno@clisp.org>
+           Bruno Haible  <bruno@clisp.org>
 
        * getdomainname.h: New file.
        * getdomainname.c: New file.
 
 
 Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-  Free Software Foundation, Inc.
+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.