Merge from coreutils to support a more-standard getopt.
[gnulib.git] / lib / ChangeLog
index eed8bc3..a3ff780 100644 (file)
@@ -1,5 +1,463 @@
+2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * getopt.c (_getopt_initialize, _getopt_internal_r, _getopt_internal):
+       New arg POSIXLY_CORRECT.  All callers changed.
+       (getopt): Argv is now char * const *, as per standard.
+       (_getopt_internal_r, _getopt_internal): Argv is now char **,
+       not char *__getopt_argv_const *.
+       * getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
+       _getopt_long_only_r): Likewise.
+       * getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
+       * getopt_int.h (_getopt_internal, _getopt_internal_r,
+       _getopt_long_r, _getopt_long_only_r): Likewise.
+       * getopt_.h (__getopt_argv_const): Remove.
+       (getopt): Argv is now char * const *, as per standard.
+
+       * getdate.y (tORDINAL): New token.
+       (day, relunit): Allow it for relative times.
+       (relative_time_table): Use tORDINAL for ordinals.
+
+2004-11-15  Jim Meyering  <jim@meyering.net>
+
+       * closeout.c: Include "__fpending.h" once again.
+       Include <stdbool.h>.
+       (close_stdout): Don't fail just because stdout was closed initially,
+       since some programs don't write to stdout in the normal course of
+       operation (other than --version and --help), and we don't want this
+       function to make e.g. `touch file >&-' fail.
+       But do fail if it was closed and someone has tried to write to it.
+       E.g., `printf foo >&-' must fail.
+
+2004-11-11  Simon Josefsson  <jas@extundo.com>
+
+       * strtok_r.h, strtok_r.c: New file.
+
+2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * getopt_.h (__getopt_argv_const): New macro, to be used so that
+       we can stop lying to compilers about the constness of argv when we
+       are compiled outside glibc.
+       (getopt, getopt_long, getopt_long_only): Use it.
+       * getopt.c (_getopt_initialize, _getopt_internal_r, _getopt_internal,
+       getopt): Likewise.
+       * getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
+       _getopt_long_only_r): Likewise.
+       * getopt_int.h (_getopt_internal, _getopt_internal_r, _getopt_long_r,
+       _getopt_long_only_r): Likewise.
+
+       * getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
+       Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
+       Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
+       the other external symbols.
+       (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
+       declaration, since the above renaming now works around collisions.
+
+2004-11-11  Jim Meyering  <jim@meyering.net>
+
+       * linebreak.c: Remove trailing blanks.
+       * alloca_.h: Likewise.
+       * acosl.c: Likewise.
+       * euidaccess.c: Likewise.
+       * allocsa.h: Likewise.
+
+2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * mktime.c (SHR): New macro, which is a portable
+       substitute for >> that should work even on Crays.
+       (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
+       Problem reported by Mark D. Baushke in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
+       * getdate.y (SHR): Likewise.
+       (tm_diff): Use it.
+       * strftime.c (SHR): Likewise.
+       (tm_diff): Use it.
+       * quotearg.c (struct quoting_options): Use unsigned int for
+       quote_these_too, so that right shifts are well defined.  All uses
+       changed.
+
+2004-11-10  Simon Josefsson  <jas@extundo.com>
+
+       * getaddrinfo.h, getaddrinfo.c: New files.
+
+2004-11-10  Jim Meyering  <jim@meyering.net>
+
+       Ensure that no close failure goes unreported.
+       * closeout.c (close_stdout): Always close stdout.  I.e., don't
+       return early when it seems there's nothing to flush.
+       Don't include __fpending.h.
+
+2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
+
+2004-11-05  Bruno Haible  <bruno@clisp.org>
+
+       * readlink.c: Include stddef.h, needed for size_t on Woe32.
+       Reported by Mark D. Baushke <mdb@cvshome.org>.
+
+2004-11-04  Bruno Haible  <bruno@clisp.org>
+
+       2004-09-11  Bruno Haible  <bruno@clisp.org>
+               * allocsa.valgrind: New file.
+       2004-02-06  Bruno Haible  <bruno@clisp.org>
+               * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
+               avoid a bug of this cc on HP-UX 10.20 dealing with enums.
+               Reported by Christopher Seip <chris.seip@hp.com>.
+
+2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
+       with errno == ERANGE if the buffer is too small.
+       Problem reported by Mark D. Baushke.
+
+2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * xreadlink.c (MAXSIZE): New macro.
+       (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
+       size does not exceed MAXSIZE.  Avoid cast.
+       As suggested by Mark D. Baushke in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
+       if readlink fails with buffer size just under MAXSIZE, try again
+       with MAXSIZE.
+
+2004-11-02  Derek R. Price  <derek@ximbiot.com>
+       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.
+
+2004-11-02  Bruno Haible  <bruno@clisp.org>
+
+       * setenv.h (unsetenv): Define as a macro if the system's unsetenv()
+       function returns void.
+
+2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
+       (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
+       already declared.
+
+2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * getdate.y: Add support for TZ="foo" within a date string.
+       Fix some bugs near time_t boundaries.  Reject dates with
+       out-of-range components, e.g., "Sept 31".
+       Include <stdlib.h>, "setenv.h", "xalloc.h".
+       (ISDIGIT_LOCALE): Remove; unused.
+       Note that the TZ and time functions used here are not reentrant.
+       (mktime_ok, get_tz): New functions.
+       (TZBUFSIZE): New constant.
+       (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
+       This requires that we sometimes generate our own TZ="XXX..." setting.
+
+2004-10-27  Derek R. Price  <derek@ximbiot.com>
+
+       * mktime.c (not_equal_tm): Remove redundant check.
+
+2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * getdate.y: Use Bison 1.875 features, and some minor
+       code cleanups.  This change does not affect semantics.
+       Don't include <stdlib.h>; no longer needed.
+       Don't include unlocked-io.h; only the "#if TEST" code uses
+       stdio, and performance isn't crucial there.
+       (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
+       Bison 1.875 features as described below.
+       All uses of "PC." replaced by "pc->".
+       (YYSTYPE): Add a forward declaration.
+       (yylex, yyerror): Use full prototypes in forward decls.
+       Use "%pure-parser" rather than obsolescent "%pure_parser".
+       Use %parse-param and %lex-param instead of obsolescent
+       YYPARSE_PARAM and YYLEX_PARAM.
+       (meridian_table, month_and_day_table, time_units_table,
+       relative_time_table, time_zone_table, military_table,
+       lookup_zone, lookup_word, get_date):
+       Use NULL instead of 0 where appropriate.
+       (to_hour): Avoid abort (), to avoid a dependency on
+       stdlib.h.
+       (yyerror, yylex): Now accepts parser_control * arg.
+       (main) [TEST]: Use '\0' rather than 0 for char.
+
+2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
+       It's now the caller's responsibility to handle the case where
+       !HAVE_GETPAGESIZE && !defined getpagesize.
+
+       * mktime.c (leapyear): Arg is long int, not int.
+
+2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * argp-fs-xinl.c, argp-xinl.c: Update from glibc.
+
+2004-10-12  Simon Josefsson  <jas@extundo.com>
+
+       * getpass.c (fflush_unlocked, flockfile, funlockfile)
+       (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
+       to real functions.
+
+2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
+
+       * vsnprintf.h: New file.
+       * vsnprintf.c: New file.
+
+2004-10-07  Bruno Haible  <bruno@clisp.org>
+
+       * snprintf.c (snprintf): Avoid a memory allocation if the result fits
+       into the provided buffer.
+
+2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * diacrit.c, diacrit.h: Add GPL notice.
+
+       * atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL notice.
+       * atanl.c (atanl): Keep the code as similar to glibc as possible.
+       * logl.c (logl): Keep the code as similar to glibc as possible.
+       This avoids a potential constant-folding bug.
+
+2004-10-05  Bruno Haible  <bruno@clisp.org>
+
+       * strsep.h: Don't declare strsep() if HAVE_STRSEP.
+
+2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
+       * xmalloc.c (xmemdup): Likewise.
+       * xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
+       XFREE): Remove these long-obsolescent macros.
+       * xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
+       * xstrdup.c: Remove.
+
+       * regex.c (re_comp): Cast gettext return value to char *,
+       Problem reported by Martin Neitzel via Mark D. Baushke.
+
+2004-10-04  Simon Josefsson  <jas@extundo.com>
+
+       * error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
+       '#ifdef USE_UNLOCKED_IO'.
+
+2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
+       getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
+       md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
+       regex.c, sha1.c, version-etc.c, yesno.c:
+       Include "unlocked-io.h" only if USE_UNLOCKED_IO.
+       * unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
+       the includer's responsibility.
+
+       Sync from coreutils.
+
+       * modechange.c (mode_compile): Don't decrement a pointer that
+       points to the start of a string, as the C Standard says the
+       resulting behavior is undefined.
+
+       * backupfile.h (enum backuptype): Rename none -> no_backups,
+       simple -> simple_backups, numbered_existing ->
+       numbered_existing_backups, numbered -> numbered_backups
+       to avoid shadowing problems.  All uses changed.
+       * argmatch.c (enum backuptype) [defined TEST]: Likewise.
+       * backupfile.c (check_extension, numbered_backup):
+       Rename locals to avoid shadowing 'basename'.
+       * backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
+       once.
+
+       * .cppi-disable: Add getopt_.h, getopt_int.h.
+       * .cvsignore: Add getopt.h.
+
+2004-10-04  Simon Josefsson  <jas@extundo.com>
+
+       * memmem.h: New file.
+       * memmem.c: New file, taken from glibc.
+
+2004-10-02  Jim Meyering  <jim@meyering.net>
+
+       * dirfd.h, getpagesize.h: Add copyright notice.
+
+2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * snprintf.c: Remove comments as to why each header is needed.
+
+2004-10-01  Yoann Vandoorselaere <yoann@prelude-ids.org>
+
+       * strsep.h: New file.
+       * strsep.c: New file.
+
+2004-10-01  Simon Josefsson  <jas@extundo.com>
+
+       * snprintf.c (snprintf): Handle size==0.
+
+2004-10-01  Simon Josefsson  <jas@extundo.com>
+            Bruno Haible  <bruno@clisp.org>
+
+       * snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
+       (snprintf): Declare 'args'.
+
+2004-09-30  Simon Josefsson  <jas@extundo.com>
+
+       * snprintf.h, snprintf.c: New files.
+
+2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
+
+       * argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
+       (hol_entry_help): Never translate an empty string.
+       Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
+       * argp.h (OPTION_NO_TRANS): New option.
+
+2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
+
+       * xvasprintf.c: Include xalloc.h.
+       (xvasprintf): Use xalloc_die, not xmalloc_die.
+
+2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * dummy.c: Change copyright notice to FSF, and license to GPL.
+
+2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * argp-pvh.c (argp_program_version_hook): Provide initial value.
+       Problem reported by Bruno Haible in:
+       http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
+
+2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
+       in case some system header has #define'd it.  Problem reported by
+       Soeren D. Schulze in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
+
+2004-09-08  Bruno Haible  <bruno@clisp.org>
+
+       * stdint_.h.in: New file, taken from GNU clisp.
+
+2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
+
+       * xvasprintf.h: New file.
+       * xvasprintf.c: New file.
+       * xasprintf.c: New file.
+
+2004-09-08  Bruno Haible  <bruno@clisp.org>
+
+       * vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting length
+       is > INT_MAX.
+       * vasprintf.c (vasprintf): Don't test for length > INT_MAX any more.
+
+2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Import from coreutils.
+       * userspec.c: Don't use <alloca.h>, so that we don't use alloca on
+       strings on unbounded length.  alloca's performance benefits aren't
+       that important here.
+       (V_STRDUP): Remove.
+       (parse_with_separator): New function, with most of the internals
+       of the old parse_user_spec.  Allow user to omit both user and group,
+       for compatibility with FreeBSD.
+       Clone only the user name, not the entire spec.
+       Do not set *uid, *gid unless entirely successful.
+       Avoid memory leak in some failing cases.
+       Fix regression for USER.GROUP reported by Dmitry V. Levin in
+       <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
+       (parse_user_spec): Rewrite to use parse_with_separator.
+
+2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * argp-help.c, argp-parse.c: Use "gettext.h" instead of
+       its complicated substitute.
+       * argp-help.c: Include <errno.h>, for program_invocation_short_name
+       and program_invocation_name.
+       (__argp_basename) [!_LIBC]: Remove; the only use was
+       replaced by its body.
+       (__argp_short_program_name): Change condition from
+       !defined __argp_short_program_name to
+       ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
+       to match argp-namefrob.h.
+       (__argp_failure): Don't assume strerror_r returns char *.
+       * argp-parse.c (N_): Define unconditionally.
+       (argp_default_options): Fill out initializers with 0 to avoid
+       gcc warnings.
+
+2004-08-12  Simon Josefsson  <jas@extundo.com>
+
+       * getopt.c, getopt1.c: Remove ELIDE_CODE hack.
+       * getopt_.h: Renamed from getopt.h.
+
+2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Merge from coreutils.
+
+       * fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
+       wmemchr or wmemcpy.  Problem reported by Robert Dahlem
+       for Reliant Unix 5.43.
+
+       * obstack.c: Include <inttypes.h> and <stdint.h> if available.
+       (union fooround): Use uintmax_t, not long int.
+       The rest is a merge from libc:
+       [defined _LIBC]: Include <shlib-compat.h>.
+       (_obstack) [defined _LIBC]: Remove after 2.3.4.
+
+       * settime.c (settime): Recode to avoid warning with Sun Forte C 6U2.
+
+       * strverscmp.c: Convert to UTF-8.
+
+2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * obstack.h (obstack_empty_p):
+       Don't assume that chunk->contents is suitably aligned.
+       * obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
+       Likewise. Problem reported by Benno in
+       <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
+
+       * chown.c (rpl_chown): Work even if the file is writeable but not
+       readable.  This could be improved further but it'd take some work.
+
+2004-08-08  Simon Josefsson  <jas@extundo.com>
+
+       * xgethostname.c: Don't include error.h (not used).
+
+       * getpass.h: Add.
+       * getpass.c: Include getpass.h first.
+
+2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * xalloc-die.c: New files.
+       * xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
+       All uses removed.
+       * xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted): Likewise.
+       Move inclusions of gettext.h, error.h, exitfail.h to xalloc-die.c.
+       (_, N_, xalloc_die): Move to xalloc-die.c.
+       * userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
+       so that we needn't mess with xalloc_msg_memory_exhausted.
+
+       * sha1.h: Renamed from sha.h.
+       (SHA1_H): Renamed from _SHA_H.
+       (sha1_ctx): Renamed from sha_ctx.
+       (sha1_init_ctx): Renamed from sha_init_ctx.
+       (sha1_process_block): Renamed from sha_process_block.
+       (sha1_process_bytes): Renamed from sha_process_bytes.
+       (sha1_finish_ctx): Renamed from sha_finish_ctx.
+       (sha1_read_ctx): Renamed from sha_read_ctx.
+       (sha1_stream): Renamed from sha_stream.
+       (sha1_buffer): Renamed from sha_buffer.
+       * sha1.c: Likewise; renamed from sha.c.
+       Do not include <sys/types.h>.
+       Include <stddef.h> rather than <stdlib.h>.
+
+2004-08-08  Bruno Haible  <bruno@clisp.org>
+
+       * pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
+       FILESYSTEM_PREFIX_LEN.
+       * progreloc.c: Likewise.
+       * concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
+
 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
 
+       Merge from tar.
+       * argp-help.c (make_hol, hol_append): Don't assume that
+       SIZE_MAX is a valid preprocessor constant.
+       (__argp_basename): Change from "#ifndef _LIBC"
+       to "#ifndef __argp_short_program_name", so that
+       we don't compile these functions for tar.
+
        More merges from coreutils.
        * raise.c, readtokens0.h, readtokens0.c, strftime.h, utimens.h,
        utimens.c, utimecmp.h, utimecmp.c, xnanosleep.h, xnanosleep.c,
        xstrtod.h, xstrtoimax.c, xstrtol.c, xstrtol.h, xstrtoumax.c:
        Import changes from coreutils.
 
-2004-08-03  Simon Josefsson  <jas@extundo.com>
-
-       * progname.h: Don't include stdbool.h.
-
-2004-08-01  Simon Josefsson  <jas@extundo.com>
-
-       * xgetdomainname.c: Include stdlib.h, for free().
-
-2004-08-02  Simon Josefsson  <jas@extundo.com>
-
-       * getsubopt.h: New file, with comments from Bruno Haible.
-       * getsubopt.c: New file, from glibc, but slightly modified based on
-       suggestions from Paul Eggert <eggert@cs.ucla.edu>.
-
 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
 
        Merge from coreutils.
        * fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
        working.
 
+2004-08-03  Simon Josefsson  <jas@extundo.com>
+
+       * strdup.h: Only use HAVE_DECL_STRDUP if defined.
+       * progname.h: Don't include stdbool.h.
+
+2004-08-02  Simon Josefsson  <jas@extundo.com>
+
+       * getsubopt.h: New file, with comments from Bruno Haible.
+       * getsubopt.c: New file, from glibc, but slightly modified based on
+       suggestions from Paul Eggert <eggert@cs.ucla.edu>.
+
+2004-08-01  Simon Josefsson  <jas@extundo.com>
+
+       * xgetdomainname.c: Include stdlib.h, for free().
+
 2004-07-16  Simon Josefsson  <jas@extundo.com>
 
        * dummy.c: New file.
        alert, backslash, formfeed, and vertical tab unnecessarily in
        shell quoting style.
 
-Local Variables:
-version-control: never
-End:
+
+Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
+  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.