bug-coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

coreutils-5.1.0 released (unstable)


From: Jim Meyering
Subject: coreutils-5.1.0 released (unstable)
Date: Mon, 22 Dec 2003 16:23:59 +0100

It's been over 3 months since the last test release, and there have
been pretty many changes, so expect some instability.

Finally, here's a test release with improved file system traversal code
for du, chgrp, chmod, and chown.  All of those had problems due to their
prior use of nftw and full path names.  Now they all use fts and are
careful not to form full path names (because you can't stat anything
longer than PATH_MAX).  As a result, the ch* functions are much more
efficient.

I've fixed fts.c to do proper cycle detection.  For du, it does strict
(detect immediately) checking, but for chgrp, chmod, and chown, it uses
a cheaper mechanism for lazy cycle detection.

I expect that some people will complain about Paul's change
that makes ls -l (and ls -g, etc) field widths data dependent.
Don't listen to them: any scripts that are affected weren't
portable to begin with.

Currently these files are available only on SourceForge.

Happy holidays :-)

Jim


Here are the compressed sources:
  http://fetish.sf.net/coreutils-5.1.0.tar.gz   (6.2MB)
  http://fetish.sf.net/coreutils-5.1.0.tar.bz2  (4.1MB)

And here are xdelta-style diffs:
  http://fetish.sf.net/coreutils-5.0.91-5.1.0.xdelta   (856KB)

Here are GPG detached signatures:
  http://fetish.sf.net/coreutils-5.1.0.tar.gz.asc
  http://fetish.sf.net/coreutils-5.1.0.tar.bz2.asc

Here are the MD5 and SHA1 signatures:

798bab0a9fc4df65cdbf3efe39d454e4  coreutils-5.1.0.tar.gz
cd084d852fad7a836c9dd07c4f91445a  coreutils-5.1.0.tar.bz2
cf5cb443507d99382e0b5fa5582c4170  coreutils-5.0.91-5.1.0.xdelta
92aec860ed2f782c7d1044775df324735bf412a0  coreutils-5.1.0.tar.gz
85aa3aa9a9b65a79ee8d437dd692fb035adcfeaf  coreutils-5.1.0.tar.bz2
416d24cc8fd64ce9a910e486f932e79ea189c262  coreutils-5.0.91-5.1.0.xdelta

NEWS

* Major changes in release 5.1.0 (2003-12-21):

** New features

  When given -l and similar options, ls now adjusts the output column
  widths to fit the data, so that output lines are shorter and have
  columns that line up better.  This may adversely affect shell
  scripts that expect fixed-width columns, but such shell scripts were
  not portable anyway, even with old GNU ls where the columns became
  ragged when a datum was too wide.

  chgrp, chmod, and chown can now process (with -R) hierarchies of virtually
  unlimited depth.  Before, they would fail to operate on any file they
  encountered with a relative name of length PATH_MAX (often 4096) or longer.

  chgrp, chmod, chown, and rm accept the new options:
  --preserve-root, --no-preserve-root (default)

  chgrp and chown now accept POSIX-mandated -L, -H, and -P options

  du can now process hierarchies of virtually unlimited depth.
  Before, du was limited by the user's stack size and it would get a
  stack overflow error (often a segmentation fault) when applied to
  a hierarchy of depth around 30,000 or larger.

  du works even when run from an inaccessible directory

  du -D now dereferences all symlinks specified on the command line,
  not just the ones that reference directories

  du now accepts -P (--no-dereference), for compatibility with du
  of NetBSD and for consistency with e.g., chown and chgrp

  du's -H option will soon have the meaning required by POSIX
  (--dereference-args, aka -D) rather then the current meaning of --si.
  Now, using -H elicits a warning to that effect.

  du accepts a new option, -0/--null, to make it produce NUL-terminated
  output lines

** Bug fixes

  printf, seq, tail, and sleep now parse floating-point operands
  and options in the C locale.  POSIX requires this for printf.

  od -c -w9999999 no longer segfaults

  csplit no longer reads from freed memory (dumping core on some systems)

  csplit would mistakenly exhaust virtual memory in some cases

  ls --width=N (for very large N) is no longer subject to an address
  arithmetic bug that could result in bounds violations.

  ls --width=N (with -x or -C) no longer allocates more space
  (potentially much more) than necessary for a given directory.

  dd `unblock' and `sync' may now be combined (e.g., dd conv=unblock,sync)


ChangeLog entries:

**********************************************************************
ChangeLog
**********************************************************************
2003-12-20  Jim Meyering  <address@hidden>

        * Version 5.1.0.

        * src/pr.c: Change type of global, buff_allocated, to size_t.

        * src/join.c [struct seq]: Change types of members count and alloc
        from `int' to `size_t'.

        * tests/Makefile.am (root-hint): Tweak wording.

        * src/du.c: Accept new option (-0, --null) that makes it so each
        output line is NUL-terminated rather than newline-terminated.

        * src/dd.c (apply_translations): Don't prohibit conv=unblock,sync.
        Reported by Volker Paul.
        * tests/dd/Makefile.am (TESTS): Add unblock-sync.
        * tests/dd/unblock-sync: New test for the above.

2003-12-19  Jim Meyering  <address@hidden>

        * tests/misc/nohup: Double quote back-ticked expression,
        in case it ends up having an unexpected value.

        * tests/ls/no-arg: Use ls's -1 option in both runs.

        * src/du.c (fts_debug): New global.
        (FTS_CROSS_CHECK, DEBUG_OPT): Define.
        (main): Make fts use FTS_TIGHT_CYCLE_CHECK.
        (main) [DU_DEBUG]: Accept -d option.

2003-12-18  Jim Meyering  <address@hidden>

        * src/ls.c (format_user): Increment dired_pos via two statements,
        `dired_pos += width; dired_pos++;' rather than one,
        `dired_pos += width + 1;' since the latter could conceivably overflow.
        (format_group): Likewise.
        From Paul Eggert.

        * configure.ac: Require automake-1.8.

2003-12-12  Jim Meyering  <address@hidden>

        * Use automake-1.8.  Regenerate dependent files.

2003-12-08  Jim Meyering  <address@hidden>

        * Makefile.maint (news-date-check): New rule.
        (alpha beta major): Depend on it.

2003-12-03  Paul Eggert  <address@hidden>

        * NEWS: ls -l (and similar options) now adjust all columns to
        fit the data.  Generalized from a suggestion by Leah Q for file sizes.
        * src/ls.c (INODE_DIGITS, LOGIN_NAME_MAX, ID_LENGTH_MAX): Remove.
        (format_user_width, format_group_width, unsigned_file_size,
        format_group): New functions.
        (block_size_width): Renamed from block_size_size.
        (inode_number_width, nlink_width, owner_width, group_width,
        author_width, major_device_number_width, minor_device_number_width,
        file_size_width): New vars.
        (clear_files): Initialize them.
        (gobble_file): Set them.  Don't ceiling block_size_width to 7.
        (print_long_file): Use them.
        (gobble_file): Use a new local variable 'f' to make the code
        smaller and more consistent with other functions.
        (format_user): Output to stdout, not to a buffer, so that we
        don't have to worry about buffer overrun.  Update dired_pos.
        (print_long_file): Don't put owner, group, author into buffer;
        just print them directly.  Don't assume link counts and
        major and minor numbers fit into unsigned long int.
        * tests/cp/same-file, tests/mv/part-symlink: Don't assume that
        'ls' output is fixed-width.

2003-12-02  Jim Meyering  <address@hidden>

        * src/md5sum.c: Include sha1.h (reflect renaming: sha.h -> sha1.h.

2003-11-27  Jim Meyering  <address@hidden>

        * Use automake-1.7f.  Regenerate dependent files.

2003-11-24  Paul Eggert  <address@hidden>

        Parse floating-point operands and options in the C locale.
        POSIX requires this for printf, and we might as well be
        consistent elsewhere (tail, sleep, seq).

        * src/printf.c: Remove decls of strtod, strtol, strtoul; no longer
        needed now that we assume C89.  Include "c-strtod.h".
        (xstrtod): Call c_strtod, not strtod.
        * src/sleep.c: Include "c-strtod.h".
        (main): Update xstrtod call to include new argument, c_strtod.
        * src/seq.c (scan_double_arg): Likewise.
        * src/tail.c (parse_options): Likewise.

2003-11-24  Jim Meyering  <address@hidden>

        * tests/rm/fail-2eperm: Handle another errno variant (HPUX, EPERM).
        Reported by Mark Conty.

2003-11-22  Jim Meyering  <address@hidden>

        * Makefile.maint (sc_xalloc_h_in_src): Remove rule.  Subsumed by...
        (sc_system_h_headers): Do this test only if sys2.h exists.

2003-11-20  Jim Meyering  <address@hidden>

        * tests/help-version: Ensure that the bug-reporting address is
        included in the --help output for every program.
        * tests/Makefile.am (TESTS_ENVIRONMENT): Add $PACKAGE_BUGREPORT.

        * src/ptx.c (usage): Output bug-reporting address.
        Reported by Dan Jacobson.

2003-11-19  Jim Meyering  <address@hidden>

        * src/join.c (usage): Mention that FILE1 and FILE2 must be sorted
        on the join fields.  Suggestion from Bruce Robertson.

2003-11-18  Jim Meyering  <address@hidden>

        `od -c -w9999999' could segfault
        * src/od.c (dump): Use xnmalloc/free, not alloca.

2003-11-16  Jim Meyering  <address@hidden>

        * Use autoconf-2.59.  Regenerate dependent files.

        * tests/du/hard-link: Minor tweak: use mkdir -p.

        Fix read-from-free'd-buffer error detected by valgrind.
        * src/csplit.c (remove_line): Don't return a pointer to data in
        a freed buffer.  Instead, arrange to free the buffer on the
        subsequent call.

        * tests/misc/csplit: New test for above fix.

2003-11-11  Jim Meyering  <address@hidden>

        * src/ls.c (extract_dirs_from_files): Avoid useless copy operations.
        This avoids a warning from valgrind about memcpy with overlapping
        source and destination.

        * configure.ac: Require automake-1.7.8.

2003-11-09  Jim Meyering  <address@hidden>

        * Use automake-1.7.9.  Regenerate dependent files.

        * src/rm.c: Support new options: --preserve-root and --no-preserve-root.
        * src/chown.c: Likewise.

        * src/chown-core.c: Include "root-dev-ino.h".
        (chopt_init): Initialize new member.
        (change_file_owner): Support rm's new --preserve-root option.

        * src/remove.c: Include "root-dev-ino.h".
        (remove_cwd_entries): Remove now-obsolete FIXME comment.
        (remove_dir): Support rm's new --preserve-root option.

        * src/chown.c: Include "root-dev-ino.h".
        Add new options: --preserve-root and --no-preserve-root.

        * src/chmod.c: Include "root-dev-ino.h".
        (process_file): Use newly-factored-out ROOT_DEV_INO_CHECK and
        ROOT_DEV_INO_WARN macros.
        (get_root_dev_ino): Remove function definition, now that it's
        been moved to a separate file.
        (usage): Describe new options.

        * src/mv.c (rm_option_init): Initialized new member.

        * src/remove.h: Include "dev-ino.h".
        (struct rm_options): Add new member: root_dev_ino.
        * src/chown-core.h: Include "dev-ino.h".
        (struct Chown_option): Add new member: root_dev_ino.

2003-11-06  Jim Meyering  <address@hidden>

        * src/paste.c (paste_parallel): Use `sizeof *var' rather than
        hard-coding `sizeof FILE*'.

2003-11-05  Dennis Smit  <address@hidden>

        * src/wc.c (main): Free `fstatus' so there is no confusion about
        whether it's leaked or not.
        * src/who.c (who): Likewise for `utmp_buf'.

2003-11-05  Paul Eggert  <address@hidden>

        Fix 'cut' problems with size_t overflow and unsigned int.
        More generally, resize integer variables to fit use more precisely.
        * src/cut.c (ADD_RANGE_PAIR): Remove unnecessary parens.
        (struct range_pair): Make members to be of type size_t, not unsigned.
        (max_range_endpoint, eol_range_start): Now size_t, not unsigned.
        (suppress_non_delimited, output_delimiter_specified,
        have_read_stdin, print_kth, set_fields): Now bool, nt int.
        (delim): Now unsigned char, not int.
        (mark_printable_field, is_printable_field, is_range_start_index,
        set_fields, set_fields, cut_bytes, cut_fields):
        Use size_t, not unsigned, for field and byte counts.
        (hash_int): Use uintptr_t, not unsigned, for pointers converted
        to integers.  This squeezes more info out of them.
        (set_fields, cut_bytes, cut_fields, main):
        Use bool, not int, for booleans.
        (set_fields): Allocate zeroed byte array with xzalloc, not xcalloc.

2003-11-05  Paul Eggert  <address@hidden>

        * man/Makefile.am (check-programs-vs-x):
        Work even if $(programs) contains '$'.
        Work even if 'missing=1' in environment.
        Don't report an error simply because $(programs) outputs nothing.

2003-11-05  Jim Meyering  <address@hidden>

        * Use autoconf-2.58.  Regenerate dependent files.

        * src/tr.c (spec_init): Fix typo in last change.

        * src/sys2.h (case_GETOPT_VERSION_CHAR): Cast NULL to `(char *)' in
        call to variadic version_etc function, so that it works even on systems
        for which sizeof char* != sizeof int.
        * src/true.c (main): Likewise.
        * basename.c, chroot.c, cksum.c, dd.c, dirname.c, echo.c, expr.c:
        * factor.c, hostid.c, hostname.c, link.c, logname.c, nice.c, nohup.c:
        * pathchk.c, printenv.c, printf.c, pwd.c, setuidgid.c, sleep.c, stty.c:
        * sync.c, test.c, tsort.c, unlink.c, uptime.c, users.c, whoami.c, yes.c:
        Similarly, cast NULL to `(char *)' in call to variadic function,
        parse_long_options, so that it works even on systems for which
        sizeof char* != sizeof int.
        A similar problem was reported by Harti Brandt in
        http://mail.gnu.org/archive/html/bug-gnu-utils/2003-10/msg00320.html.

        * src/users.c (users): Free `utmp_buf' explicitly so that people
        don't mistake this for a real leak.
        Patch by Dennis Smit <address@hidden

2003-11-04  Paul Eggert  <address@hidden>

        * README: Document _POSIX2_VERSION.

2003-11-04  Jim Meyering  <address@hidden>

        * src/tac.c (memrchr): Remove #if-0'd function.
        (tac_stdin_to_mem): Clean up #if-0'd code.

        * src/od.c (decode_format_string): Remove unnecessary casts.
        Use more maintainable `sizeof *var'.
        (main): Call decode_format_string rather than decode_one_format,
        now that `spec' may be NULL.

        * src/chmod.c (AUTHORS): Add my name.

        * src/split.c (next_file_name): Use `sizeof *var' rather than
        hard-coding `sizeof size_t'.

        * src/sort.c (new_key): Use xzalloc, not xcalloc (1, ...).

        * src/cut.c (ADD_RANGE_PAIR): Use x2nrealloc rather than xrealloc,
        to avoid potential overflow in pointer arithmetic.
        (set_fields): Use not `1', but rather `sizeof *printable_field' as
        second argument to xcalloc.
        * src/od.c (decode_format_string, dump_strings): Use x2nrealloc
        rather than xrealloc.
        * src/date.c (show_date): Likewise.
        * src/join.c (ADD_FIELD, initseq, getseq): Likewise.
        * src/pr.c (store_char): Likewise.
        * src/fold.c (fold_file): Likewise.

        * src/copy.c (triple_hash, triple_hash_no_name): Adjust to reflect
        type changes (unsigned int -> size_t) in hash.c.
        * src/cp-hash.c (src_to_dest_hash): Likewise.
        * src/du.c (entry_hash): Likewise.
        * src/ls.c (dev_ino_hash): Likewise.
        * src/cut.c (hash_int): Likewise.  Declare function as static.

2003-11-03  Jim Meyering  <address@hidden>

        * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Define PACKAGE_VERSION.
        * tests/misc/fold: Fail the test immediately if we're not running
        the expected version of fold.

2003-11-02  Jim Meyering  <address@hidden>

        * src/tr.c (append_normal_char, append_range, append_char_class)
        (append_repeated_char, append_equiv_class, spec_init): Use `sizeof *var'
        rather than `sizeof EXPLICIT_TYPE'.  The former is more maintainable
        and usually shorter.
        * src/copy.c (copy_internal): Likewise.
        * src/join.c (initseq, add_field, make_blank): Likewise.
        * src/od.c (main): Likewise.
        * src/cp.c (make_path_private): Likewise.
        * src/tsort.c (new_item, record_relation): Likewise.

        * src/df.c (add_fs_type, add_excluded_fs_type, main): Likewise.
        (main): Also remove anachronistic cast of xmalloc return value.
        * src/ptx.c (alloc_and_compile_regex, main): Likewise.
        (main): Also remove anachronistic cast of xmalloc return value.
        * src/sort.c (inittables): Likewise.
        (sort): Also Split a long line.

2003-10-25  Jim Meyering  <address@hidden>

        * src/copy.c (triple_hash, triple_hash_no_name): Adjust to reflect
        type changes (unsigned int -> size_t) in hash.c.
        * src/cp-hash.c (src_to_dest_hash): Likewise.
        * src/du.c (entry_hash): Likewise.
        * src/ls.c (dev_ino_hash): Likewise.
        * src/cut.c (hash_int): Likewise.  Declare function as static.

2003-10-21  Jim Meyering  <address@hidden>

        Don't fail when run with VERBOSE=yes.
        * tests/chgrp/basic: Do `set +x' before starting the subshell
        from which we invoke chgrp.  Otherwise, the output from the
        VERBOSE=yes-induced `set -x' would result in spurious differences.
        Reported by Russel Coker via Michael Stone.

2003-10-19  Jim Meyering  <address@hidden>

        chmod now uses fts to perform a directory traversal when -R is
        specified.  Before, it operated on full path names, and as such
        would encounter the PATH_MAX (often 4096) limit.

        * src/chmod.c: Include "xfts.h".
        (process_file): Rename from change_file_mode.
        Adapt to be used with fts.
        (process_files): New function.

2003-10-18  Jim Meyering  <address@hidden>

        * tests/du/deref-args: Ensure that du -D now dereferences all
        symlinks specified on the command line, not just those that
        reference directories.

        * basename.c, cat.c, chroot.c, cksum.c, comm.c, cp.c, csplit.c, cut.c:
        * dd.c, df.c, dirname.c, du.c, echo.c, env.c, expr.c, factor.c, head.c:
        * hostid.c, hostname.c, id.c, link.c, ln.c, logname.c, ls.c, md5sum.c:
        * mv.c, nice.c, nl.c, nohup.c, paste.c, pathchk.c, pinky.c, pr.c:
        * printenv.c, printf.c, pwd.c, rm.c, setuidgid.c, sleep.c, sort.c:
        * split.c, stty.c, sum.c, sync.c, tac.c, tail.c, tee.c, test.c:
        * touch.c, tsort.c, uniq.c, unlink.c, uptime.c, users.c, wc.c:
        * who.c, whoami.c, yes.c (AUTHORS): Revert the WRITTEN_BY/AUTHORS change
        of 2003-09-19.  Now, AUTHORS is a comma-separated list of strings.
        Update the call to parse_long_options so that `AUTHORS, NULL' are the
        last parameters.
        * src/true.c (main): Append NULL to version_etc argument list.
        * src/sys2.h (case_GETOPT_VERSION_CHAR): Likewise.

2003-10-17  Andreas Schwab  <address@hidden>

        * tests/mk-script: Get $srcdir from first parameter instead of
        hardcoding it.
        (main): Update usage.

        * tests/Makefile.am.in ($(srcdir)/$x-tests): Pass $(srcdir) as
        first argument of mk-script.
        ($(srcdir)/Makefile.am): Likewise.  Prepend $(srcdir) to target.

2003-10-17  Jim Meyering  <address@hidden>

        * src/mv.c (usage): Tweak descriptions of -i and -f so that the
        generated `man' page is more readable.  Suggestion from Dan Jacobson.

        * src/chown-core.c (change_file_owner): Handle the cases in
        which fts_info indicates an error with the given entry.

        * src/du.c (main): Simply assign to bit_flags.
        Don't bother with bit arithmetic.

        * tests/chmod/no-x: New file.
        * tests/chgrp/no-x: New file.
        * tests/chmod/Makefile.am (TESTS): Add no-x.
        * tests/chgrp/Makefile.am (TESTS): Likewise.

        * src/du.c: Include "xfts.h".
        (du_files): Use xfts_open, rather than fts_open.
        * src/chown-core.c (chown_files): Likewise.

2003-10-16  Jim Meyering  <address@hidden>

        * src/chgrp.c (main): Simply assign to bit_flags.
        Don't bother with bit arithmetic.
        * src/chown.c (main): Likewise.
        Rename a couple of local variables.
        Remove unnecessary casts.

        * src/tail.c (start_bytes): Rename local, remainder, to avoid
        gcc's warning about shadowing a global.

2003-10-15  Jim Meyering  <address@hidden>

        chown and chgrp now accept POSIX-mandated -H, -L, -P options and
        use fts to perform a directory traversal when -R is specified.
        Before, they operated on full path names, and as such would
        encounter the PATH_MAX (often 4096) limit.
        They are more efficient.  For example, before, chgrp -R would
        take almost 5 seconds to change about 2000 directories and fail
        (with `File name too long'), while now it succeeds on a hierarchy
        of depth 20,000 in 1/10 the time.

        * src/chown.c: Include "userspec.h" and "fts_.h".
        (WRITTEN_BY): Add my name.
        (getpwnam, getgrnam, getgrgid): Remove declarations.
        (endpwent): Remove definition.
        (usage): Update.
        (main): Handle new options.
        Call new function, chown_files rather than change_file_owner.

        * src/chgrp.c: Include "fts_.h".
        (WRITTEN_BY): Add my name.
        (MAXUID, MAXGID): Remove definitions.  Use GID_T_MAX instead of
        the latter.
        (usage): Update.
        (main): Handle new options.
        Call new function, chown_files rather than change_file_owner.

        Rewrite to iterate through hierarchies using fts rather than
        via explicit recursion.
        * src/chown-core.c: Include "fts_.h"
        (change_file_owner): Rewrite to use FTS* and FTSENT* and to operate
        on a single file at a time.
        (chown_files): New function.
        * src/chown-core.h [enum Dereference_symlink]: Remove declaration.
        [struct Chown_option] (recurse, force_silent): Change type to `bool'.
        [struct Chown_option] (dereference): Remove member with ambiguous name.
        [struct Chown_option] (affect_symlink_referent): New member.
        (chown_files): New prototype.

        * tests/chgrp/recurse: Update tests accordingly.
        * tests/chgrp/posix-H: New tests for the above.
        * tests/chgrp/Makefile.am (TESTS): Add posix-H.

        * src/ln.c (usage): Clarify that --directory, -d, -F probably won't
        work even for superuser.  Suggestion from Dan Jacobson.

2003-10-14  Paul Eggert  <address@hidden>

        Fix some number-parsing bugs, e.g., "head -n 100k@" wasn't
        properly diagnosed.
        * lib/human.c, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
        lib/xstrtoul.c, lib/xstrtoumax.c: Sync with gnulib.
        * src/sort.c (parse_field_count): Handle the case where overflow
        and invalid suffix char are both reported.

2003-10-14  Jim Meyering  <address@hidden>

        * src/ls.c (decode_switches) [TIOCGWINSZ]: Comment out the
        warning-inducing test, ws.ws_col <= SIZE_MAX, since it was always
        true on Linux.

2003-10-13  Paul Eggert  <address@hidden>

        Fix to avoid a denial-of-service attack if the display width is
        enormous.  Also, clean up the code a bit by removing duplicate code.

        * src/ls.c (init_column_info): Remove forward decl; no longer needed.
        (calculate_columns): New function, that contains code that used
        to be common to print_many_per_line and print_horizontal.
        (print_many_per_line, print_horizontal): Use it.
        (decode_switches): Set max_idx here, not in calculate_columns.
        (print_current_files): Don't call init_column_info; calculate_columns
        now does that.
        (init_column_info): Don't allocate a lot more space than is needed
        to represent the current set of files.  Allocate all the new
        size_t cells in one call to xnmalloc, rather than a row at a time.

2003-10-13  Jim Meyering  <address@hidden>

        * src/ls.c (init_column_info): Add another FIXME comment.

2003-10-13  Paul Eggert  <address@hidden>

        Fix address-arithmetic bug in 'ls', reported by Georgi Guninski.
        Remove several arbitrary limits on hosts where int cannot represent
        all size_t values.

        * src/ls.c (struct bin_str.len, length_of_file_name_and_frills, indent,
        nfiles, files_index, tabsize, line_length, struct column_info.line_len,
        struct column_info.col_arr[0], max_idx):
        Now size_t, not int.
        (get_funky_string): Return bool indicating success, instead of
        a negative count to indicate failure.  Store number of columns
        through new parameter OUTPUT_COUNT; that way, they can never
        go negative.  Change equals_end from int to bool.  All uses
        changed.
        (struct column_info.valid_len): Now bool, not int.  All uses changed.
        (dired_dump_obstack, get_funky_string, clear_files,
        extract_dirs_from_files, print_current_files,
        print_many_per_line, print_horizontal, init_column_info,
        put_indicator, length_of_file_name_and_frills,
        print_with_commas): Use size_t, not int, for local variables
        that count sizes.
        (decode_switches): Decode sizes using xstrtoul, not xstrtol.
        Check for TIOCGWINSZ returing negative values (or values greater
        than SIZE_MAX!).
        (visit_dir, main, parse_ls_color, queue_directory, add_ignore_pattern,
        init_column_info):
        Use xmalloc and xnmalloc, not XMALLOC.
        (gobble_file): Use xnrealloc, not XREALLOC.
        (print_color_indicator): Remove now-unnecessary cast to size_t.

2003-10-12  Paul Eggert  <address@hidden>

        * tests/du/no-x: Change wording of diagnostic to match latest du.c.
        * tests/sort/sort-tests: Remove from CVS; assume that people
        brave enough to check coreutils out from CVS can rebuild it.

2003-10-12  Jim Meyering  <address@hidden>

        New options: --preserve-root and --no-preserve-root.
        * src/chmod.c (change_file_mode): Honor new option.
        (change_file_mode): Strip trailing slashes on directory
        argument passed to change_dir_mode.
        (get_root_dev_ino): New function.
        (main): Initialize global, root_dev_ino.

        * src/copy.c (copy_internal): Don't #ifdef-out simple uses of
        S_ISLNK or S_ISSOCK.  The S_IS* macros are guaranteed to be defined
        via system.h.
        * src/chmod.c (change_file_mode): Likewise.

2003-10-08  Jim Meyering  <address@hidden>

        * src/csplit.c (main): Remove obsolete FIXME.

2003-10-07  Jim Meyering  <address@hidden>

        * Use automake-1.7.8.  Regenerate dependent files.

2003-09-29  Paul Eggert  <address@hidden>

        csplit cleanup.

        * doc/coreutils.texi (csplit invocation):
        The regexp offset need not have a sign; POSIX requires support
        for signless offets.

        Be more careful about int widths.  For example, remove some
        arbitrary limits by replacing 'unsigned' with 'size_t',
        'uintmax_t', etc.  Use standard bool rather than a homegrown type.
        * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
        * src/csplit.c (FALSE, TRUE, boolean): Remove.  All uses changed
        to <stdbool.h> usage.
        (struct control): offset is now intmax_t, not int.
        repeat_forever is now bool, not int.
        (struct cstring): len is now size_t, not unsigned int.
        (struct buffer_record): bytes_alloc, bytes_used, num_lines are now
        size_t, not unsigned.  start_line, first_available are now
        uintmax_t, not unsigned.
        (hold_count, control_used): Now size_t, not unsigned.
        (last_line_number, current_line, bytes_written):
        Now uintmax_t, not unsigned.
        (save_to_hold_area, red_input, keep_new_line, record_line_starts,
        create_new_buffer, get_new_buffer, load_buffer, find_line,
        process_regexp, split_file, new_control_record, extract_regexp,
        get_format_width, get_format_prec, max_out):
        size args, locals, and returned values are now size_t, not unsigned
        or int.
        (get_first_line_in_buffer, find_line, write_to_file,
        handle_line_error, process_line_count, regexp_error, process_regexp,
        split_file):
        File line, byte, and repetition counts are now uintmax_t, not unsigned.
        (check_for_offset): Don't require a sign before the offset.
        Use xstrtoimax to do the real work.
        (extract_regexp): Remove harmful cast of size to unsigned.
        256 -> 1<<CHAR_BIT, for clarity.
        (get_format_flags): Return at most 3, to avoid worries about overflow.

        (bytes_to_octal_digits): Remove.

        (cleanup): Don't check whether output_stream is NULL, since
        close_output_file does that for us.

        (new_line_control, create_new_buffer): Use "foo *p = xmalloc
        (sizeof *p);" instead of the more long-winded alternatives.

        (get_new_buffer): Use O(1) algorithm for resizing a buffer
        to a much larger size, instead of an O(N) algorithm.

        (process_regexp): Use plain NULL rather than casted 0.

        (make_filename): Use %u, not %d, to format unsigned file number.

        (new_control_record): Use xrealloc exclusively, since it handles
        NULL reliably.

        (extract_regexp): Change misspelled word in diagnostic.

        (get_format_width): Even if a minimum field width is specified,
        allow room for enough octal digits to represent the value of
        the maximum representible integer.  This fixes a potential
        buffer overrun.  Calculate this room at compile-time, not
        at run-time; this removes the need for bytes_to_octal_digits.
        Check for overflow; this removes a FIXME.

        (get_format_prec): Don't allow precision to be signed; it's
        not ANSI.  Check for overflow.  Remove hardcoded "11" as
        default precision; this fixes a potential buffer overrun
        on hosts with wider size_t.

        (get_format_conv_type): Change local variable to be of type
        unsigned char, not int; this removes a potential subscript
        violation on hosts where char is signed.

        (max_out): Replace "for (;*p;)" with more-standard "while (*p)".
        Allow "%%" in format.  Don't overflow when
        counting lots of percents.

        (usage): Default sprintf format is %02u, not %d.

2003-10-05  Jim Meyering  <address@hidden>

        * src/chown-core.c (change_file_owner): Remove set-but-not-used local.

        * src/du.c (du_files): Mark diagnostic for translation.

2003-10-04  Jim Meyering  <address@hidden>

        * src/du.c (du_files): Ignore any failure of fts_close.
        Give better diagnostics for failed fts_open.

        * src/du.c (MAX_N_DESCRIPTORS): Remove now-unused definition.

        Deprecate existing use of -H (aka --si).
        * src/du.c (enum) [HUMAN_SI_OPTION]: New member.
        [long_options]: Use HUMAN_SI_OPTION, not 'H'.
        (main): Warn that the meaning of -H will soon change to be
        POSIX compliant.

2003-10-03  Jim Meyering  <address@hidden>

        * src/du.c: Accept --no-dereference (-P).

2003-10-02  Jim Meyering  <address@hidden>

        * tests/du/trailing-slash: Adjust for slightly different output.

        Rewrite du.c to use fts.
        * src/du.c: Include "fts_.h", not ftw.h.
        (opt_dereference_arguments, arg_length, suffix_length): Remove globals.
        (IS_FTW_DIR_TYPE): Remove definition.
        (IS_DIR_TYPE): Define.
        (is_symlink_to_dir): Remove now-unnecessary function.
        (process_file, du_files): Rewrite to use fts.

        * tests/du/inaccessible-cwd: Ensure that even when run from an
        inaccessible directory, du can still operate on accessible
        directories elsewhere.
        * tests/du/Makefile.am (TESTS): Add inaccessible-cwd.

        * tests/rm/deep-1: Ensure that du can process a hierarchy
        of depth 400 while using no more than 50KB of stack space.

2003-10-01  Akim Demaille  <address@hidden>

        * announce-gen (print_news_deltas): New function, extracted from main.
        (main): Make `news_file' an array.
        Use '...=s' => address@hidden for --news and --url-directory specs.
        Before there were a couple of portability problems.

2003-09-28  Jim Meyering  <address@hidden>

        * Makefile.maint (sc_cast_of_alloca_return_value): New rule.
        (syntax-check-rules): Add it.

        * src/copy.c: Remove unnecessary cast of alloca, since now it's
        guaranteed to be (void *).
        * src/cp.c: Likewise.
        * src/join.c: Likewise.
        * src/ln.c: Likewise.
        * src/ls.c: Likewise.
        * src/od.c: Likewise.
        * src/sys2.h (ASSIGN_STRDUPA): Likewise.

2003-09-27  Jim Meyering  <address@hidden>

        Don't exhaust virtual memory when processing large inputs.
        Fix this by removing csplit's internal free-list management;
        instead rely on malloc for that.

        * src/csplit.c (free_list): Remove global.
        (clear_all_line_control): Remove function.
        (get_new_buffer): Always use create_new_buffer to obtain a
        new buffer, rather than searching free_list.
        (free_buffer): Just call free.
        Reported by Nikola Milutinovic.

2003-09-26  Jim Meyering  <address@hidden>

        * man/rm.x: Also list `chattr' in SEE ALSO section.
        Suggestion from Mark Hubbart.

2003-09-25  Jim Meyering  <address@hidden>

        * configure.ac: Don't invoke AC_AIX or AC_MINIX explicitly, now
        that we use gl_USE_SYSTEM_EXTENSIONS, since it AC_REQUIREs them.

        * Use autoconf-2.57d.  Regenerate dependent files.

2003-09-24  Jim Meyering  <address@hidden>

        Minor efficiency tweak.
        * src/ln.c (PATH_BASENAME_CONCAT): Use memcpy rather than strcpy.
        (do_link): Likewise.

2003-09-23  Jim Meyering  <address@hidden>

        * src/paste.c (paste_serial): Save errno after input error,
        to report proper errno value.
        Based on a patch from Paul Eggert.

        * src/tee.c (tee): Adjust fwrite arguments so that the return
        value is the number of bytes written.

2003-09-16  Paul Eggert  <address@hidden>

        Don't assume ferror sets errno.  Bug reported by Bruno Haible.

        * src/comm.c (compare_files): Save errno after input error,
        to report proper errno value.
        * src/fold.c (fold_file): Likewise.
        * src/od.c (check_and_close, skip, read_char, read_block): Likewise.
        * src/unexpand.c (unexpand): Likewise.

        * src/csplit.c (close_output_file): Don't report bogus errno value
        after ferror discovers an output error.  We don't know the proper
        errno value, since it might have been caused by any of a whole
        bunch of calls, and it might have been trashed in the meantime.
        Fixing this problem will require much more extensive changes;
        in the meantime just say "write error".
        * src/od.c (check_and_close, dump, dump_strings): Likewise.
        * src/uniq.c (check_file): Likewise.

        * src/join.c (get_line): Report error right away if I/O fails,
        so that the proper errno value is used.
        * src/tac.c (tac_seekable, tac_file, save_stdin): Likewise.
        * src/tee.c (tee): Likewise.
        * src/uniq.c (check_file): Likewise.

        * src/od.c (skip): If a read fails, don't retry it later, so
        that we report the proper errno.

        * src/tac.c (tac_mem): Don't return a value; nobody uses it.

        * src/tee.c (tee): Once a write failure has occurred, don't bother
        writing anything more to that stream.

        * src/uniq.c (check_file): Check for ferror (stdout) even if
        ostream == stdout.

        * src/yes.c (UNROLL): Remove.
        (main): Exit immediately when write failure is detected.
        Simplify code by assigning to argv when argc == 1.

2003-09-21  Paul Eggert  <address@hidden>

        * src/ptx.c: Switch encoding from Latin-1 to UTF-8.
        (WRITTEN_BY): Change "Franc,ois" (actually using
        c-with-cedilla in Latin-1) to "F.", so that it's ASCII, as
        xgettext requires.

2003-09-19  Jim Meyering  <address@hidden>

        `du -D symlink-to-dir' would mistakenly omit the slash in
        lines like this: 24     symlink-to-dir/subdir
        * src/du.c (process_file): Fix offset calculation.
        Reported by Jeff Sheinberg as Debian bug #211591;
        http://bugs.debian.org/205251

        * tests/du/deref-args: New file/test for the above.
        * tests/du/Makefile.am (TESTS): Add deref-args.

        * src/du.c (process_file): Remove useless disjunct.

        * src/sys2.h (case_GETOPT_VERSION_CHAR): Rename parameter, Authors,
        to Written_by.
        * nearly all src/*.c files (WRITTEN_BY): Rename from AUTHORS.
        Begin each WRITTEN_BY string with `Written by ' and end it with `.'.
        Mark each WRITTEN_BY string as translatable.

        * basename.c, cat.c, chroot.c, cksum.c, comm.c, cp.c, csplit.c, cut.c:
        * dd.c, df.c, dirname.c, du.c, echo.c, env.c, expr.c, factor.c, head.c:
        * hostid.c, hostname.c, id.c, link.c, ln.c, logname.c, ls.c, md5sum.c:
        * mv.c, nice.c, nl.c, nohup.c, paste.c, pathchk.c, pinky.c, pr.c:
        * printenv.c, printf.c, pwd.c, rm.c, setuidgid.c, sleep.c, sort.c:
        * split.c, stty.c, sum.c, sync.c, tac.c, tail.c, tee.c, test.c:
        * touch.c, tsort.c, uniq.c, unlink.c, uptime.c, users.c, wc.c:
        * who.c, whoami.c, yes.c: Revert yesterday's changes.
        Instead, a subsequent change will embed `Written by ' in
        each string along with the author names.

        * src/true.c: Revert yesterday's changes.
        * src/sys2.h: Likewise.

2003-09-18  Jim Meyering  <address@hidden>

        * basename.c, cat.c, chroot.c, cksum.c, comm.c, cp.c, csplit.c, cut.c:
        * dd.c, df.c, dirname.c, du.c, echo.c, env.c, expr.c, factor.c, head.c:
        * hostid.c, hostname.c, id.c, link.c, ln.c, logname.c, ls.c, md5sum.c:
        * mv.c, nice.c, nl.c, nohup.c, paste.c, pathchk.c, pinky.c, pr.c:
        * printenv.c, printf.c, pwd.c, rm.c, setuidgid.c, sleep.c, sort.c:
        * split.c, stty.c, sum.c, sync.c, tac.c, tail.c, tee.c, test.c:
        * touch.c, tsort.c, uniq.c, unlink.c, uptime.c, users.c, wc.c:
        * who.c, whoami.c, yes.c: Update AUTHORS definition to be a
        comma-separated list of strings and/or update the call to
        parse_long_options so that `AUTHORS, NULL' are the last parameters.
        * src/true.c (main): Append NULL to version_etc argument list.
        * src/sys2.h (case_GETOPT_VERSION_CHAR): Likewise.

        * src/sort.c (numcompare): Rename local, logb, to log_b to avoid
        shadowing the math function name.  Also rename loga to log_a.

2003-09-14  Jim Meyering  <address@hidden>

        * src/factor.c (print_factors): Give a separate diagnostic
        for numbers that are too large, but otherwise valid.
        Reported by Dániel Varga.

2003-09-10  Jim Meyering  <address@hidden>

        * Use automake-1.7.7.  Regenerate dependent files.

        * tests/Makefile.am (all_programs): Use ../src/tr -s ' ' '\n' in place
        of `fmt -1'.  Using the just-built tr is a little cleaner.
        Christian Krackowizer reported that HPUX 10.20 doesn't have fmt.
        * man/Makefile.am (programs, check-x-vs-1): Likewise.

2003-09-09  Jim Meyering  <address@hidden>

        * src/copy.c: Alphabetize includes.
        Remove duplicate inclusion of "same.h".

        * Makefile.maint (GZIP_ENV): Remove --rsyncable.
        Didn't give enough of a benefit, mainly because it's not yet
        in wide enough use.

**********************************************************************
lib/ChangeLog
**********************************************************************
2003-12-20  Jim Meyering  <address@hidden>

        * fts.c [!_LIBC]: Undefine, then define-away __P.

2003-12-19  Jim Meyering  <address@hidden>

        Rewrite fts to use a hash table or O(1)-mem cycle-detection
        code rather than the tree-based tsearch functions.
        * fts_.h: Include hash.h and cycle-check.h.
        (FTS_TIGHT_CYCLE_CHECK): New value.
        (FTS_OPTIONMASK): Adjust to include the new value.
        (FTS_NAMEONLY, FTS_STOP): Increase to allow room for new value.
        (struct FTS) [active_dir_ht]: New member.  Replaces fts_dir_signatures.
        (struct FTS) [cycle_state]: New member.
        * fts.c: Don't include <search.h>.
        [HAVE_INTTYPES_H]: Include <inttypes.h>.
        (tdestroy, tfind, tsearch): Remove definitions.
        (struct Active_dir): Rename from `known_object'.
        (AD_compare, AD_hash): New functions.
        (enter_dir, leave_dir): Rewrite to manipulate a hash table
        rather than a tree.
        (fts_open): Initialize hash table or cycle_state buffer.
        (free_node): Remove function.
        (find_matching_ancestor): Renamed/rewritten from look_up_active_dir.
        (fts_cross_check): Adapt to use new data structure.

        * Makefile.am (libfetish_a_SOURCES): Remove search_.h.
        (DISTCLEANFILES): Remove definition.

2003-12-18  Jim Meyering  <address@hidden>

        Rewrite cycle detection code to work properly.
        Add some framework (compiled out by default) to test it.
        * fts.c (Dprintf, ENTER_DIR, LEAVE_DIR): Define.
        (add_object): Remove function.  Rewritten as...
        (enter_dir): New function.
        (leave_dir, free_node): New functions.
        (fts_read): Ensure that we call ENTER_DIR or LEAVE_DIR,
        as appropriate, before returning.
        (look_up_active_dir, fts_cross_check) [FTS_DEBUG]: New functions.
        (fts_stat): Don't perform the cycle check here.
        Now it's done via enter_dir.

2003-12-12  Jim Meyering  <address@hidden>

        * fts_.h (FTS) [fts_dir_signatures]: Add comment.

2003-12-03  Paul Eggert  <address@hidden>

        * getgroups.c (getgroups): xmalloc takes one argument, not two.
        Bug reported by Alfred M. Szmidt.

2003-12-02  Jim Meyering  <address@hidden>

        * Makefile.am (libfetish_a_SOURCES): Reflect sha -> sha1 renaming.

        * sha1.c: File renamed from sha.c.
        * sha1.h: File renamed from sha.h.
        Use SHA1_H, not _SHA_H in #ifndef condition.

        * sha.c: Add FSF Copyright.
        * sha.h: Correct stale references to MD5 and `16 bytes'.
        Patch by Ulrich Drepper.

        * sha.h: Add FSF Copyright.  Remove reference to Scott Miller,
        since this file is now nearly identical to md5.h.

        * md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
        days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
        http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html

2003-11-29  Jim Meyering  <address@hidden>

        * c-strtod.c (c_strtod): Save and restore original LC_NUMERIC setting,
        in case it was different from the environment-derived value.
        Patch by Paul Eggert.
        Include "xalloc.h" for declaration of xstrdup.

2003-11-24  Paul Eggert  <address@hidden>

        Parse floating-point operands and options in the C locale.
        POSIX requires this for printf, and we might as well be
        consistent elsewhere (tail, sleep, seq).

        * Makefile.am (libfetish_a_SOURCES): Add c-strtod.c, c-strtod.h.
        * c-strtod.c, c-strtod.h: New files.
        * xstrtod.h (xstrtod): Accept an extra arg, specifying the
        conversion function.
        * xstrtod.c (xstrtod): Likewise.  All callers changed to
        include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
        longer needed.

        * xnanosleep.c: Don't include xstrtod.h; it's not needed.

2003-11-22  Jim Meyering  <address@hidden>

        * xmalloc.c (x2nrealloc_inline): Fix typos in comments: s/size/size_t/.

2003-11-21  Jim Meyering  <address@hidden>

        * xreadlink.c (xreadlink): Correct outdated comment.

2003-11-17  Jim Meyering  <address@hidden>

        On systems without utime and without a utimes function capable of
        dealing with a NULL struct utimbuf* argument, this utime replacement
        could -- in unusual circumstances -- leak a file descriptor.
        * utime.c: Include <unistd.h> and <errno.h>.
        (utime_null): Be sure to close `fd' and to preserve errno.
        Reported by Geoff Collyer via Arnold Robbins.

2003-11-13  Jim Meyering  <address@hidden>

        * xalloc.h, xstrtol.c: Update from gnulib.

2003-11-11  Jim Meyering  <address@hidden>

        * ftw.c, ftw_.h: Remove files.  No longer used.

2003-11-09  Jim Meyering  <address@hidden>

        * root-dev-ino.c, root-dev-ino.h: New files.
        * Makefile.am (libfetish_a_SOURCES): Add root-dev-ino.c root-dev-ino.h.

        * dev-ino.h: Include <sys/types.h> and <sys/stat.h>.

2003-11-06  Jim Meyering  <address@hidden>

        * free.c: New file, from gnulib.

2003-10-31  Paul Eggert  <address@hidden>

        * mountlist.h (struct mount_entry.me_type_malloced): New member.
        * mountlist.c (SIZE_MAX): Define if not defined already.
        (read_filesystem_list): Set and use me_type_malloced.
        Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
        whatever the type happens to be), for brevity and consistency.
        Check for size calculation overflow on Alphas running OSF/1.

2003-10-31  Jim Meyering  <address@hidden>

        * hash.c: Include "xalloc.h" for use of xalloc_oversized.

        * linebuffer.c: Include <string.h> for declaration of memset.

        * alloca.c, linebuffer.c, xmalloc.c, xalloc.h: Update from gnulib.
        * exclude.c, getgroups.c, quotearg.c, stdbool_.h: Update from gnulib.
        * hash.c, hash-pjw.h: Update from gnulib.

2003-10-25  Jim Meyering  <address@hidden>

        * hash.c, hash.h: Update from gnulib.
        * hash-pjw.c, hash-pjw.h: Likewise.
        * obstack.c, obstack.h: Likewise.

2003-10-25  Jim Meyering  <address@hidden>

        * fts_.h: Include <features.h> only if _LIBC.
        [!_LIBC]: Define-away __THROW, __BEGIN_DECLS, __END_DECLS.

2003-10-19  Jim Meyering  <address@hidden>

        * vasnprintf.c (vasnprintf): Work around losing snprintf on
        e.g. HPUX 10.20.

2003-09-25  Jim Meyering  <address@hidden>
            Bruno Haible  <address@hidden>

        [Update from gnulib]
        This lets translators provide better translations for the
        "Written by ..." part of --version output.
        * version-etc.h: Include stdarg.h.
        (version_etc_copyright): Declare as readonly.
        (version_etc): Make this function variadic with a NULL-terminated list
        of author name strings.
        (version_etc_va): New declaration.
        * version-etc.c: Include stdarg.h, stdlib.h.
        (version_etc_copyright): Declare as readonly.
        (version_etc_va): New function. Provide a different translatable string
        for each possible number of authors < 10. Abbreviate when there are 10
        authors or more.
        (version_etc): Make this function variadic. Call version_etc_va.
        Suggestion from Gary V. Vaughan.

        * long-options.h (parse_long_options): Change prototype: the authors
        string is moved to the end and becomes variadic.
        * long-options.c: Include stdarg.h.
        (parse_long_options): Make this function variadic, too.
        Call version_etc_va, not version_etc.

2003-10-17  Jim Meyering  <address@hidden>

        * xfts.c, xfts.h: New files.
        This factors out code used by du.c, chmod.c, and chown-core.c.
        * Makefile.am (libfetish_a_SOURCES): Add xfts.c and xfts.h.

        * error.h: Update from gnulib.
        * getpass.c: Likewise.
        * fnmatch.c: Likewise.
        * fnmatch_loop.c: Likewise.

2003-10-16  Jim Meyering  <address@hidden>

        * xmalloc.c: Include <string.h>, for declarations of memset and memcpy.

        * getgroups.c: Update from gnulib.
        * readutmp.c: Fix indentation, from gnulib.
        * exclude.c: Update from gnulib.
        * xgethostname.c: Include xgethostname.h.
        * xgethostname.h: New file, from gnulib.
        * Makefile.am (libfetish_a_SOURCES): Add xgethostname.h.

2003-10-15  Jim Meyering  <address@hidden>

        * userspec.h: New file.
        * userspec.c: Include "userspec.h".
        * Makefile.am (libfetish_a_SOURCES): Add userspec.h.

2003-10-14  Paul Eggert  <address@hidden>

        Fix some number-parsing bugs, e.g., "head -n 100k@" wasn't
        properly diagnosed.
        * human.c, xstrtoimax.c, xstrtol.c, xstrtol.h, xstrtoul.c, xstrtoumax.c:
        Sync with gnulib.

2003-10-13  Paul Eggert  <address@hidden>

        * xalloc.h, xmalloc.c, xstrdup.c: Import latest version from gnulib.

2003-09-29  Paul Eggert  <address@hidden>

        * Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.

2003-10-02  Jim Meyering  <address@hidden>

        Don't require that the maximum length of a file name
        encountered in a traversal fit in an `unsigned short',
        and fix some portability bugs (don't depend on gcc).

        * fts.c: Include "fts_.h", not <fts.h>.
        (ALIGNBYTES) [!(__GNUC__ >= 2)]: Add a definition that works with
        compilers that don't have __alignof__.
        (MAX): Use a definition that doesn't depend on gcc.
        (fts_build): Make `len' and `maxlen' be of type size_t, not int.
        Test for overflow in a less type-dependent manner.
        Test HAVE_STRUCT_DIRENT_D_TYPE, rather than
        defined DT_DIR && defined _DIRENT_HAVE_D_TYPE.
        (fts_palloc): Test for overflow in a less type-dependent manner.
        (fts_safe_changedir): Use stat, not stat64.
        Use fstat, not __fxstat64(_STAT_VER.

        * fts_.h [FTS] (fts_pathlen): Change type from int to size_t.
        [FTSENT] (fts_pathlen): Change type from u_short to size_t.
        (fts_level): Change type from u_short to int.

        * Makefile.am (libfetish_a_SOURCES): Add fts.c fts_.h.
        Remove ftw_.h.

2003-09-29  Paul Eggert  <address@hidden>

        * strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
        Fix arg typo in previous patch.

2003-09-28  Jim Meyering  <address@hidden>

        * error.c: Update from gnulib.

2003-09-19  Jim Meyering  <address@hidden>

        * version-etc.h: (version_etc): Rename parameter, authors,
        to written_by.
        * version-etc.c: (version_etc): Likewise.
        Combine fprintf and following putc('\n'.

        * version-etc.c, version-etc.h: Revert yesterday's changes.
        * long-options.c, long-options.h: Likewise.

2003-09-18  Jim Meyering  <address@hidden>

        This lets translators provide better translations for the
        `Written by ...' part of --version output.
        * version-etc.c: Include stdarg.h, stdlib.h, string.h, and xalloc.h.
        (version_etc): Make this function variadic,
        with a NULL-terminated list of author name strings.
        (version_etc_va): New function.
        Suggestion from Gary V. Vaughan.
        * version-etc.h (version_etc_va): Declare it.

        * long-options.c: Include stdarg.h.
        (parse_long_options): Make this function variadic (authors), too.
        Call version_etc_va, not version_etc.
        * long-options.h (parse_long_options): Update prototype.

2003-09-16  Paul Eggert  <address@hidden>

        * linebuffer.c (readlinebuffer): Return NULL immediately upon
        input error, instead of returning NULL the next time we are called
        (and therefore losing track of errno).

2003-09-15  Paul Eggert  <address@hidden>

        * getndelim2.c (getndelim2): Don't trash errno when a read
        fails, so that the caller gets the proper errno.

        * readutmp.c (read_utmp): Likewise.
        Check for fstat error.  Close stream and free storage
        when failing.

2003-09-14  Jim Meyering  <address@hidden>

        * argmatch.c: Update from gnulib.

        * Makefile.am (libfetish_a_SOURCES): Add exit.h, strndup.h,
        time_r.c, time_r.h.

2003-09-13  Jim Meyering  <address@hidden>

        * setenv.c, strcspn.c, strdup.c, strndup.c, strnlen.c, strpbrk.c:
        * strstr.c, strtod.c, strtoimax.c, tempname.c, unicodeio.c, userspec.c:
        * vasprintf.h, xgethostname.c, xreadlink.c, xstrdup.c, xstrndup.c:
        * xstrndup.h, xstrtod.c, xstrtol.c, yesno.c: Update from gnulib.
        * strndup.h: New file, from gnulib.
        * exit.h: New file, from GNU gettext, via gnulib.

2003-09-06  Paul Eggert  <address@hidden>

        * time_r.c, time_r.h: New files.

        * mktime.c (my_mktime_localtime_r): Remove; all uses changed to
        __localtime_r.
        (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
        (__mktime_internal) [!defined _LIBC]: Now extern, not static.

        * strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
        __gmtime_r.
        (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
        (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
        Include <time_r.h>.

2003-09-13  Jim Meyering  <address@hidden>

        * strtol.c: Update from gnulib.

2003-09-12  Paul Eggert  <address@hidden>

        * argmatch.c, xgethostname.c, xmalloc.c: Include exit.h.
        * obstack.c [!defined _LIBC]: Likewise.
        * argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
        * exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
        * exitfail.c: Don't include stdlib.h; no longer needed.

2003-09-12  Paul Eggert  <address@hidden>

        * error.c (error_tail): Assume vprintf.

2003-09-09  Paul Eggert  <address@hidden>

        More K&R removal.

        * getloadavg.c (getloadavg, main): Define via prototypes.

        * getopt.h (struct option.name): Assume C89, and use 'const'.
        (getopt, etopt_long, getopt_long_only, _getopt_internal)
        [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
        with a prototype.
        * getopt.c (const): Remove macro.
        Include <string.h> unconditionally.
        (my_index): Remove; all uses changed to strchr.
        (strlen): Remove decl.
        (exchange): Remove forward decl; no longer needed.
        (exchange, _getopt_initialize, _getopt_internal, getopt, main):
        Define with prototype.
        * getopt1.c (const): Remove macro.
        (getopt_long, getopt_long_only, main): Define with prototype.

        * getugroups.c: Include <string.h> unconditionally.

        * getusershell.c: Include <stdlib.h> unconditionally.
        (getusershell, setusershell, endusershell, readname, main):
        Define with prototypes.

        * group-member.c: Include group-member.h first.
        Include <stdlib.h> unconditionally.

        * hard-locale.c: Include hard-locale.h first.
        Include <stdlib.h>, <string.h> unconditionally.

        * hash.c (free, malloc): Remove decls.
        Include <stdlib.h> unconditionally.

        * human.c: Include <stdlib.h>, <string.h> unconditionally.
        (getenv): Do not declare.

        * idcache.c: Include <string.h> unconditionally.

        * long-options.c: Include long-options.h first, to test interface.
        Include <stdlib.h> unconditionally.

        * makepath.c: Include makepath.h first, to test interface.
        Include <stdlib.h> and <string.h> unconditionally.

        * linebuffer.c: Include <stdlib.h>.
        (free): Remove decl.

        * malloc.c: Include <stdlib.h>, for malloc; don't bother with stddef.h.
        rpl_malloc returns void *, not char *.
        * realloc.c (rpl_realloc): Likewise.  Also, define with a prototype.

        * md5.h: Include <limits.h> unconditionally.
        (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
        (__P): Remove; all uses removed.
        * md5.c: Include "md5.h" first.
        (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
        md5_buffer, md5_process_bytes, md5_process_block):
        Define with prototypes.
        * sha.h (__P): Remove all uses.  (It wasn't defined??)
        * sha.c: Include "sha.h" first.
        Include <stdlib.h>, <string.h> unconditionally.

        * memchr.c (__ptr_t): Remove; all uses changed to void *.
        * memcmp.c (__ptr_t): Likewise.
        * memrchr.c (__ptr_t): Likewise.
        * memchr.c, memcmp.c, memcoll.c, memrchr.c:
        Include <string.h> unconditionally.
        * memchr.c, memrchr.c: Include <limits.h> unconditionally.
        * memchr.c: Include <stdlib.h> unconditionally.
        * memchr.c (LONG_MAX): Remove.
        * memrchr.c (LONG_MAX): Likewise.
        * memchr.c (__memchr): Define via a prototype.
        * memrchr.c (__memrchr): Likewise.
        * memcmp.c (__P): Remove, and remove all uses.
        (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
        Remove forward decls; no longer needed.
        * memcpy.c, memmove.c, memset.c: Include <stddef.h>.
        Use types required by C89 in prototype.

        * mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
        * savedir.c: Likewise.
        * mkdir.c (free): Remove decl.
        * rmdir.c (rmdir): Define with a prototype.
        * savedir.c: Include savedir.h first, to test interface.

        * mktime.c (STDC_HEADERS): Remove.
        Include <stdlib.h>, <string.h> unconditionally.

        * modechange.c: Include <stdlib.h> unconditionally.
        (malloc): Remove decl.

        * mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
        (free): Remove decl.

        * obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
        Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
        (This type really should be intptr_t, but that's a C99ism.)
        (_obstack_memcpy): Remove: all uses changed to memcpy.
        Include <string.h> unconditionally.
        (struct obstack): Assume __STDC__ for types of members
        chunkfun, freefun, extra_arg.
        (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
        _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
        obstack_begin, obstack_specify_allocation,
        obstack_specify_allocation_with_arg, obstack_chunkfun,
        obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
        Remove unprototyped decls and the macros that use them.
        * obstack.c (POINTER): Remove.  All uses changed to void *.
        (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
        _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
        (defined __STDC__ && __STDC__)]:
        Remove nonprototyped code.
        Include <stdlib.h> unconditionally.
        (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
        _obstack_allocated_p, _obstack_free, obstack_free,
        _obstack_memory_used, print_and_abort):
        Define using prototypes.
        (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
        obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
        obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
        obstack_next_free, obstack_object_size, obstack_room) [0]:
        Remove unused, unprototyped code.

        * path-concat.c: Include <stdlib.h>, <string.h> unconditionally.

        * physmem.c (physmem_total, physmem_available, main): Define
        with prototypes.

        * posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
        (main): Define with a prototype.

        * posixver.c (getenv): Remove decl.

        * putenv.c (malloc): Returns void *, not char *.
        Include <string.h> unconditionally.
        (strchr, memcpy, NULL): Do not define.

        * readtokens.c: Include readtokens.h first, to test interface.
        Include <stdlib.h>, <string.h> unconditionally.
        (init_tokenbuffer): Define with a prototype.

        * regex.c (PARAMS): Remove.  All uses removed.
        All uses of _RE_ARGS removed, too.
        Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
        unconditionally.
        (bzero): Assume memset exists.
        (memcmp, memcpy, NULL): Remove.
        (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
        char, or assignments to local vars of type signed char.
        (init_syntax_once, PREFIX(extract_number_and_incr),
        PREFIX(print_partial_compiled_pattern),
        PREFIX(print_compiled_pattern), PREFIX(print_double_string),
        convert_mbs_to_wcs, print_fastmap, re_set_syntax,
        PREFIX(regex_grow_registers), PREFIX(regex_compile),
        PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
        PREFIX(insert_op2), PREFIX(at_begline_loc_p),
        PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
        wcs_compile_range, byte_compile_range, truncate_wchar,
        PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
        re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
        count_mbs_length, wcs_re_match_2_internal,
        byte_re_match_2_internal, PREFIX(group_match_null_string_p),
        PREFIX(alt_match_null_string_p),
        PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
        re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
        regfree, PREFIX(extract_number)): Define with prototype.  Remove
        now-unnecessary declaration, if any.
        (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
        regcomp, regexec):
        Remove now-unnecessary casts among pointer types.
        * regex.h (_RE_ARGS): Remove.  All uses removed.

        * rename.c: Include <stdlib.h>, <string.h> unconditionally.
        (free): Remove decl.

        * rpmatch.c: Include <stdlib.h> unconditionally.

        * save-cwd.c: Include <stdlib.h> unconditionally.
        * xgetcwd.c: Likewise.

        * stat.c: Include <stdlib.h>, <string.h> unconditionally.
        (free): Remove decl.

        The following changes are not K&R related:

        * group-member.h: Include <sys/types.h>, so that this file is
        self-contained.
        * makepath.h: Likewise.

        * getusershell.c (readname, default_index, line_size, readname):
        Use size_t, not int, for sizes.
        (readname): If the size overflows, report an error instead of
        looping forever.

2003-09-09  Derek Robert Price  <address@hidden>

        * getndelim2.c: Assume stdlib.h per the C89 spec.

2003-09-08  Paul Eggert  <address@hidden>

        Assume C89 or better; remove K&R cruft.
        A few of these changes were first proposed by Derek Robert Price
        in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.

        * addext.c: Include <string.h> unconditionally.
        * backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
        Don't declare getenv or malloc.

        * alloca.c: Include <string.h>, <stdlib.h> unconditionally.
        (POINTER_TYPE, pointer): Remove; all uses changed to void *.
        (NULL): Remove.
        (find_stack_direction, alloca): Use prototypes.

        * atexit.c (atexit): Define using a prototype.

        * basename.c, dirname.c, stripslash.c:
        Include <string.h> unconditionally.

        * bcopy.c: Include <stddef.h>.
        (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.

        * canon-host.c: Include <stdlib.h>, <string.h> unconditionally.

        * error.h (error, error_at_line, error_print_progname)
        [! (defined (__STDC__) && __STDC__)]: Remove decls.
        * error.c: Include error.h first, to check interface.
        Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
        (VA_START): Remove; all uses changeed to va_start.
        (exit, strerror): Remove decls.
        (error_print_progname): Prototype uncondionally.
        Don't include <errno.h>; no longer needed.
        (private_strerror): Remove.
        (error_tail): Always define.
        (error, error_at_line): Assume C89 or better; always use prototypes.

        * euidaccess.c (main): Define with a prototype.

        * exclude.c: Include <stdlib.h>, <string.h> unconditionally.

        * exitfail.c: Include <stdlib.h> unconditionally.

        * fnmatch_.h (__P): Remove.  All uses changed to assume prototypes.
        * fnmatch.c: Include fnmatch.h first, to test interface.
        Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
        (getenv): Remove decl.
        (fnmatch): Define using a prototype.
        * fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
        (FCT): Define using a prototype.

        * getdate.y: Include <stdlib.h>, <string.h> unconditionally.

        * gethostname.c: Include <stddef.h>.
        (gethostname): Define with prototype.  Length is size_t, not int.

2003-09-08  Paul Eggert  <address@hidden>

        * utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
        (utime_null): Fix typo: 'st' was sometimes called 'sb'.

2003-09-09  Jim Meyering  <address@hidden>

        * getversion.c: Remove unused file.  Reported by Paul Eggert.

**********************************************************************
m4/ChangeLog
**********************************************************************
2003-12-20  Jim Meyering  <address@hidden>

        * jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.

        * open-max.m4 (UTILS_SYS_OPEN_MAX): Remove file.  No longer used.

        * lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
        value, $ac_cv_search_crypt, if it's "none required".

2003-12-19  Jim Meyering  <address@hidden>

        * clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
        if no library is required.

2003-12-18  Jim Meyering  <address@hidden>

        * search-libs.m4 (AC_SEARCH_LIBS): Remove file/macro, now that
        this replacement is no longer needed.  Besides, this macro has
        no effect with autoconf-2.58, since `undefine' in package-supplied
        .m4 files is no longer honored.  Reported by Andreas Schwab.

        Remove now-unnecessary (and unused) files.  They also used `undefine'.
        * isc-posix.m4 (AC_ISC_POSIX): Remove file.
        * getloadavg.m4 (gl_FUNC_GETLOADAVG): Remove file.
        * prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
        not gl_FUNC_GETLOADAVG.

2003-11-08  Jim Meyering  <address@hidden>

        * inttypes.m4: Sync from gnulib (this file was previously empty,
        to work around some sort of problem).

2003-11-08  Alexandre Duret-Lutz  <address@hidden>

        * nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
        value, $ac_cv_search_nanosleep, if it's "none required".

2003-11-05  Paul Eggert  <address@hidden>

        * jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.

2003-11-05  Jim Meyering  <address@hidden>

        * jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
        * free.m4: New file, from gnulib.

        * exitfail.m4, host-os.m4, strndup.m4: Update from gnulib.

        * jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
        (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.

2003-10-13  Paul Eggert  <address@hidden>

        * xalloc.m4: Import latest version from gnulib.

2003-10-06  Jim Meyering  <address@hidden>

        * ftw.m4: Remove now-unused file.

2003-10-05  Jim Meyering  <address@hidden>

        * jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.

2003-09-17  Paul Eggert  <address@hidden>

        Update from gnulib.
        * extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
        to avoid spurious warnings like "AC_RUN_IFELSE was called before
        gl_USE_SYSTEM_EXTENSIONS" from autoreconf.

2003-09-12  Paul Eggert  <address@hidden>

        More patches to assume C89 or better.

        * mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C headers.
        * strdup.m4 (gl_PREREQ_STRDUP): Likewise.
        * userspec.m4 (gl_USERSPEC): Likewise.
        * xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
        * xstrtod.m4 (gl_XSTRTOD): Likewise.
        * xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
        * strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
        memcpy, memset.
        (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
        * strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
        * strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h, strtol.
        * strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
        * userspec.m4 (gl_USERSPEC): Do not check for string.h.
        * xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
        strtoul.

2003-09-12  Paul Eggert  <address@hidden>

        * error.m4 (gl_ERROR): Don't check for vprintf.
        Require AC_FUNC_STRERROR_R rather than invoking it.

2003-09-12  Paul Eggert  <address@hidden>

        * check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
        unconditionally.
        * closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
        * gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
        Include <string.h>, <stdlib.h> unconditionally.
        * lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
        * readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
        * readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C headers
        or for string.h.
        * strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlb.h
        or strtoul.
        * extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
        and AC_MINIX, too, so that their extensions are available.

        * prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
        This macro has been superseded by gl_BACKUPFILE.

2003-09-12  Jim Meyering  <address@hidden>

        * prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
        gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
        * readtokens.m4: New file, from gnulib
        * md5.m4: Likewise.
        * makepath.m4: Likewise.
        * long-options.m4: Likewise.
        * idcache.m4: Likewise.
        * getugroups.m4: Likewise.

2003-09-11  Paul Eggert  <address@hidden>

        More patches to assume C89 or better.
        * strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
        * strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
        string.h, memchr, STDC_HEADERS.

2003-09-10  Bruno Haible  <address@hidden>

        * strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
        * strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
        * strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
        * unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
        * xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
        * yesno.m4 (gl_YESNO): Remove <stdlib.h> check.

2003-09-09  Paul Eggert  <address@hidden>

        * getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
        * getopt.m4 (gl_GETOPT): Don't check for string.h.
        * getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for stdlib.h.
        * group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard C
        headers.
        * hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
        string.h.
        * hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
        * human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
        * sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
        * memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
        * memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
        * memcoll.m4 (gl_MEMCOLL): Likewise.
        * memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
        * mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
        string.h, free.
        * mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
        * modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
        * mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
        C headers, or for string.h.
        * obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
        (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
        * path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
        headers, memory.h, stdlib.h, string.h, strings.h.
        * posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
        * posixver.m4 (gl_POSIXVER): Don't check for getenv.
        * putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
        strchr.
        * regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
        * rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
        free.
        * rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C headers.
        * save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
        * savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
        * xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.

2003-09-09  Derek Robert Price  <address@hidden>

        * getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
        C89 spec.

2003-09-08  Paul Eggert  <address@hidden>

        Assume C89 or better; remove K&R cruft.
        * alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
        * backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
        string.h, getenv, malloc.
        * dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
        headers.
        * canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
        * error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
        do not check for strerror.
        * exclude.m4: Do not check for stdlib.h, string.h, strings.h.
        * exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
        * fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
        * getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.

**********************************************************************
doc/ChangeLog
**********************************************************************
2003-12-20  Jim Meyering  <address@hidden>

        * coreutils.texi (du invocation): Describe new option: -0, --null.

2003-12-03  Paul Eggert  <address@hidden>

        * coreutils.texi (What information is listed, chroot invocation):
        Adjust example 'ls' output to match new behavior with narrower
        output columns.
        (The cut command): Remove example that cut the output of
        'ls -l'.  The output was incorrect even with the old 'ls', and
        the whole idea of using 'cut' on 'ls -l' output is bogus anyway.

2003-11-24  Paul Eggert  <address@hidden>

        Parse floating-point operands and options in the C locale.
        POSIX requires this for printf, and we might as well be
        consistent elsewhere (tail, sleep, seq).

        * coreutils.texi (tail invocation, printf invocation,
        sleep invocation, seq invocation): Document this.

2003-11-24  Jim Meyering  <address@hidden>

        * coreutils.texi (Traversing symlinks, Treating / specially):
        New sections.
        (rm invocation, chown invocation, chmod invocation, chgrp invocation):
        Describe new options, --preserve-root and --no-preserve-root.

2003-11-11  Jim Meyering  <address@hidden>

        * coreutils.texi (chown invocation) [chownchgrpoptions]: New macro
        describing -H, -L, -P options.  Use it here.
        (chgrp invocation): And here.

2003-11-09  Jim Meyering  <address@hidden>

        * coreutils.texi (dd invocation): Fix typo in example.

2003-10-15  Jim Meyering  <address@hidden>

        * coreutils.texi (ln invocation): Note that --directory, -d, -F
        probably won't work even for superuser.  Suggestion from Dan Jacobson.

2003-09-29  Paul Eggert  <address@hidden>

        * coreutils.texi (csplit invocation):
        The regexp offset need not have a sign; POSIX requires support
        for signless offets.

2003-10-03  Jim Meyering  <address@hidden>

        * coreutils.texi (du invocation): Describe -P, --no-dereference.

2003-09-28  Jim Meyering  <address@hidden>

        * coreutils.texi (Translating): Correct typo in menu description.
        From A Costa.

**********************************************************************
po/ChangeLog
**********************************************************************
2003-11-09  Jim Meyering  <address@hidden>

        * POTFILES.in: Add lib/root-dev-ino.h.

2003-10-17  Jim Meyering  <address@hidden>

        * POTFILES.in: Add lib/xfts.c.

2003-09-22  Jim Meyering  <address@hidden>

        * Makevars (XGETTEXT_OPTIONS): Add --from-code=UTF-8 to accommodate the
        non-ASCII comment to translators in ptx.c regarding the author's name.

Attachment: pgp_o9noWNj6z.pgp
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]