Commits on Nov 13, 2010
  1. doc: tweak NEWS and coreutils.texi

    * doc/coreutils.texi (stat invocation): Add sentence-ending period.
    * NEWS: Correct stat change description: s/floating point //.
    * (old_NEWS_hash): Update, to match this NEWS change.
    eggert committed with Jim Meyering Nov 13, 2010
  2. post-release administrivia

    * NEWS: Add header line for next release.
    * .prev-version: Record previous version.
    * (old_NEWS_hash): Auto-update.
    Jim Meyering committed Nov 13, 2010
  3. version 8.7

    * NEWS: Record release date.
    Jim Meyering committed Nov 13, 2010
  4. build: update gnulib... fix the failing update-copyright test,
    and for the openat portability fix.
    Jim Meyering committed Nov 13, 2010
  5. build: update gnulib for linux 2.6.9 nanosleep workaround

    Also, do the following to avoid "make syntax-check" failure
    induced by new rules.
    * .x-sc_bindtextdomain: Exempt files with an #ifdef'd "main".
    * Add this file.
    Jim Meyering committed Nov 13, 2010
  6. maint: remove fstimeprec (variable precision time stamp) support

    The implementation of variable-precision time stamps relied
    on heuristics that made the output subtly nondeterministic,
    or at least hard to reproduce:
    So, for now at least, we're removing that feature.
    * bootstrap.conf (gnulib_modules): Remove fstimeprec.
    * gl/lib/fstimeprec.c, gl/lib/fstimeprec.h: Remove files.
    * gl/modules/fstimeprec, gl/modules/fstimeprec-tests: Likewise.
    * gl/tests/test-fstimeprec.c: Remove file.
    Jim Meyering committed Nov 13, 2010
  7. stat: do not provide variable precision time stamps

    * src/stat.c: Don't include fstimeprec.c.
    (out_epoch_sec): Don't call fstimeprec.
    * NEWS: Update description.
    * doc/coreutils.texi: Likewise.
    Jim Meyering committed Nov 13, 2010
Commits on Nov 11, 2010
  1. csplit: do not rely on undefined behavior in printf formats

    * doc/coreutils.texi (csplit invocation): Say that %d and %i are
    aliases for %u.
    * src/csplit.c (FLAG_THOUSANDS, FLAG_ALTERNATIVE): New constants.
    (get_format_flags): Now take char const * and int * and return
    size_t.  It now stores info about the flags instead of merely
    scanning them.  Also, it handles '0' correctly.  Drop support for
    the undocumented '+' and ' ' flags since the value is unsigned.
    Add support for the (undocumented) "'" flag.  All uses changed.
    (get_format_width, get_format_prec): Remove.
    (check_format_conv_type): Renamed from get_format_conv_type, with
    a different signature.  It now converts the format to one that is
    compatible with unsigned int, and checks flags.  All uses changed.
    (max_out): Have snprintf compute the number of bytes needed rather
    than attempting to do it ourselves (which doesn't work portably
    with outlandish formats such as %4294967296d).
    (check_format_conv_type, main): Check for overflow in size
    calculations.  Don't assume size_t fits in unsigned int.
    * tests/misc/csplit: Check for proper handling of flags, with
    %0#6.3x.  Coreutils 8.6 mishandles this somewhat-weird example.
    eggert committed with Jim Meyering Nov 11, 2010
  2. csplit: fix a memory leak per input buffer

    * src/csplit.c (free_buffer): Also free the line offsets buffers
    (remove_line): Also free the containing structure
    * tests/misc/csplit-heap: A new test to trigger with leaks of
    this magnitude.
    * tests/ Reference the new test
    * NEWS: Mention the fix
    Reported by David Hofstee
    pixelb committed Nov 10, 2010
Commits on Nov 10, 2010
  1. tests: fix comments and --version invocation in new test

    * tests/misc/csplit-1000: Fix comments and --version invocation.
    Jim Meyering committed Nov 10, 2010
  2. csplit: avoid buffer overrun when writing more than 999 files

    Without this fix, seq 1000 | csplit - /./ '{*}' would write
    the NUL-terminated file name, xx1000, into a buffer of size 6.
    * src/csplit.c (main): Use properly sized file name buffer.
    * NEWS (Bug fixes): Mention it.
    * tests/misc/csplit-1000: New test to trigger the bug.
    * tests/ (TESTS): Add misc/csplit-1000.
    Jim Meyering committed Nov 10, 2010
Commits on Nov 9, 2010
  1. tests: avoid portability problem with dash vs. symlinked ttys

    * tests/mv/i-3: Adjust so that the symlink is resolved
    before redirecting to the background command, as otherwise
    the stdin descriptor passed to the command will fail the
    isatty() or ttyname() test.
    pixelb committed Nov 9, 2010
Commits on Nov 8, 2010
  1. tests: avoid portability problem with dash vs. local v=$splittable_val

    * tests/init.cfg (retry_delay_): Adjust awk script to print a single
    floating point value, rather than many.
    pixelb committed with Jim Meyering Nov 8, 2010
Commits on Nov 7, 2010
  1. tests: don't disqualify FreeBSD 8.1's /bin/sh just yet,

    because dash-0.5.6-2.fc14.x86_64 would also be disqualified.
    This reverts part of yesterday's commit 6c058b2, "tests: avoid
    failure due to bug in FreeBSD 8.1's /bin/sh".  Note that the offending
    aspect of those shells is not officially a bug, since "local" is not
    specified by POSIX.  However, it is very unintuitive that prepending
    "local" to an existing, standards-compliant assignment would evoke
    such a fundamental change in semantics.
    * tests/ Remove snippet requiring sane "local" support.
    Upstream dash bug report:
    Jim Meyering committed Nov 7, 2010
  2. stat: do not rely on undefined behavior in printf formats

    * src/stat.c (digits, printf_flags): New static vars.
    (make_format): New function.
    (out_string, out_int, out_uint, out_uint_o, out_uint_x):
    (out_minus_zero): Use it to avoid undefined behavior when invoking
    (print_it): Check for invalid conversion specifications such as
    %..X and %1-X, which would otherwise rely on undefined behavior
    when invoking printf.
    * tests/misc/stat-nanoseconds: Check that the "I" printf flag
    doesn't mess up in the C locale, as it formerly did on non-GNU
    eggert committed Nov 6, 2010
Commits on Nov 6, 2010
  1. tests: avoid failure due to bug in FreeBSD 8.1's /bin/sh

    * tests/ Arrange not to accept FreeBSD 8.1's /bin/sh, since
    it fails this test: /bin/sh -c 'f(){ local s=$IFS; test -n "$s"; }; f'
    * tests/init.cfg (sanitize_path_): Stop-gap measure to work around
    a bug in FreeBSD 8.1's /bin/sh.  We'll un-do this change once all
    300+ tests use
    Jim Meyering committed Nov 6, 2010
  2. build: update gnulib to latest for strtod and icc fixes

    Jim Meyering committed Nov 6, 2010
  3. stat: use e.g. %.3X instead of %X.%3:X for sub-second precision

    * NEWS: Document this.
    * doc/coreutils.texi (stat invocation): Likewise.
    * gl/lib/fstimeprec.c, gl/lib/fstimeprec.h, gl/modules/fstimeprec:
    * gl/modules/fstimeprec-tests, gl/tests/test-fstimeprec.c:
    New files.
    * bootstrap.conf (gnulib_modules): Add fstimeprec.
    * src/stat.c: Include fstimeprec.h.  Don't include xstrtol.h.
    (decimal_point, decimal_point_len): New static vars.
    (main): Initialize them.
    (epoch_sec, out_ns): Remove.
    (out_int, out_uint): Now returns whatever printf returned.
    (out_minus_zero, out_epoch_secs): New functions.
    (print_stat): Use out_epoch_sec instead of out_ns and epoch_sec.
    (print_stat, print_it, usage): Remove the %:X-style formats.
    * tests/misc/stat-nanoseconds: Set TZ=UTC0 to avoid problems
    with weird time zones.  Use a time stamp near the Epoch so that we
    don't have to worry about leap seconds.  Redo test cases to match
    new behavior.
    * tests/touch/60-seconds: Change %Y.%:Y to %.9Y, to adjust to
    new behavior.
    eggert committed with Jim Meyering Nov 6, 2010
Commits on Nov 4, 2010
  1. cp: NEWS entry for previous fix

    Resolves bug#7324
    * NEWS: Document the extent of the Solaris crash.
    Eric Blake committed Nov 4, 2010
  2. cp, mv, touch: fix file time manipulation on Solaris 10

    * gnulib: Update to latest, for futimens fix.
    * .gitignore: Ignore another recent gnulib-generated file.
    Eric Blake committed Nov 4, 2010
Commits on Nov 3, 2010
  1. build: update gnulib to latest

    Jim Meyering committed Nov 3, 2010
  2. stat: revert %X-%Y-%Z change; use e.g., %:X to print fractional seconds

    This reverts part of the recent commit 9069af4,
    "stat: print timestamps to full resolution", which made %X, %Y, %Z
    print floating point numbers.  We prefer to retain portability of
    %X, %Y and %Z uses, while still providing access to full-resolution
    time stamps via modified format strings.  Also make the new
    %W consistent.
    * src/stat.c: Include "xstrtol.h".
    (print_it): Accept a new %...:[XYZ] format directive,
    e.g., %:X, to print the nanoseconds portion of the corresponding time.
    For example, %3.3:Y prints the zero-padded, truncated, milliseconds
    part of the time of last modification.
    (print_it): Update print_func signature to match.
    (neg_to_zero): New helper function.
    (epoch_time): Remove function; replace with...
    (epoch_sec): New function; use timetostr.
    (out_ns): New function.  Use "09" only when no other modifier
    is specified.
    (print_statfs): Change type of "m" to unsigned int,
    now that it must accommodate values larger than 255.
    (print_stat): Likewise.
    Map :X to a code of 'X' + 256.  Likewise for Y, Z and W.
    (usage): Update.
    * tests/touch/60-seconds: Use %Y.%:Y in place of %Y.
    * tests/misc/stat-nanoseconds: New file.
    * tests/ (TESTS): Add it.
    * NEWS (Changes in behavior): Mention this.
    With improvements by Pádraig Brady.
    Thanks to Andreas Schwab for raising the issue.
    Jim Meyering committed Oct 21, 2010
Commits on Nov 1, 2010
  1. tests: fix a false positive for 32 bit on 64 bit hosts

    * tests/ls/stat-free-symlinks: strace currently outputs an
    informational message about arch difference to stdout.
    Therefore we need to strip that before comparison.
    nickalcock committed with pixelb Nov 1, 2010
Commits on Oct 28, 2010
  1. maint: remove an unnecessary FIXME comment

    * src/seq.c (terminator): This does not need to be specifiable
    via an option.  Remove the FIXME comment.
    Patrick W. Plusnick II committed with Jim Meyering Oct 28, 2010
Commits on Oct 27, 2010
  1. cp: make --attributes-only override --reflink completely

    * doc/coreutils.texi (cp invocation): Change the description slightly
    so as users might not immediately discount using this option.
    Mention that --reflink is overridden by the other linking options and
    --attributes-only, and give an example where this might be useful.
    * src/copy.c (copy_internal): Bypass the reflink if
    --attributes-only is specifed.
    * tests/cp/reflink-perm: Ensure both --reflink modes are
    overridden by --attributes-only.
    * NEWS: Mention the change in behavior.
    Reported by Jim Meyering.
    pixelb committed Oct 26, 2010
Commits on Oct 26, 2010
  1. tests: mention that btrfs also causes failure of misc/ls-time

    * tests/misc/ls-time: Mention that this test also fails on btrfs,
    at least until is addressed.
    Jim Meyering committed Oct 26, 2010
Commits on Oct 25, 2010
  1. maint: update THANKS

    * THANKS: Update.
    Eric Blake committed Oct 25, 2010
  2. date: correct typos in date --help

    * src/date.c (usage): Use "e.g." correctly.
    toddy15 committed with Eric Blake Oct 21, 2010
  3. tail: support rechecking currently missing remote dirs

    src/tail.c (main): As an optimization, don't bother checking
    for stdin or remote files, when ---disable-inotify is specified.
    To improve the fix in commit 61b7789, set the disable_inotify
    flag when we fall back to polling, so that we recheck remote files.
    NEWS: Mention the fix
    pixelb committed Oct 24, 2010
Commits on Oct 24, 2010
  1. du: don't print junk when diagnosing out-of-range time stamps

    * src/du.c (show_date): Fix call to fputs with a buffer that
    contains some uninitialized data.
    * tests/ (TESTS): Add du/big-timestamp.
    * tests/du/bigtime: New file, which checks for the bug.
    eggert committed Oct 24, 2010
Commits on Oct 20, 2010
  1. doc: add a cross reference from cat's man page to "tac"

    * man/cat.x: See also "tac".
    rata committed with Jim Meyering Oct 19, 2010
Commits on Oct 19, 2010
  1. tests: trigger and test for md5sum's new diagnostics

    * tests/misc/md5sum: Test for new diagnostics.
    Jim Meyering committed Oct 19, 2010
  2. md5sum: print a summary warning for improperly formatted lines

    And remove the now-superfluous totals from the other two warnings,
    so the plurals will also work in other languages than English.
    * src/md5sum.c (digest_check): Change as above.
    * tests/misc/md5sum (check-quiet2): Adjust accordingly.
    Benno Schulenberg committed with Jim Meyering Oct 18, 2010
Commits on Oct 18, 2010
  1. build: enable -Werror for gnulib-tests, too

    * gnulib: Update to latest for warning-free tests.
    * gnulib-tests/ (AM_CFLAGS): Uncomment $(WERROR_CFLAGS),
    now that these tests are warning-free.
    Jim Meyering committed Oct 17, 2010
Commits on Oct 17, 2010
  1. maint: update bootstrap from gnulib

    * bootstrap: Update from gnulib.
    Jim Meyering committed Oct 17, 2010