Jim Meyering [Fri, 8 Aug 2008 10:47:34 +0000 (12:47 +0200)]
* .gitattributes: Better diff output for texinfo sources.
Jim Meyering [Thu, 7 Aug 2008 21:01:16 +0000 (23:01 +0200)]
dd.c: reduce duplication in new O_FULLBLOCK-defining code
* src/dd.c (MULTIPLE_BITS_SET): New macro, extracted from...
(multiple_bits_set): ...this function.
Use a single-line, and far simpler expression (no need to list all
O_* symbols again) to validate the derived O_FULLBLOCK value.
Jim Meyering [Fri, 8 Aug 2008 10:48:31 +0000 (12:48 +0200)]
* coreutils.texi (factor invocation, expr invocation): Adjust wording.
Jim Meyering [Fri, 8 Aug 2008 08:06:54 +0000 (10:06 +0200)]
expr: avoid compiler warnings
* src/expr.c (die): New "noreturn" function to wrap one-arg use of
error
(string_too_long): Use die rather than error.
(toint): Remove definition of now-unused function.
(eval6): Remove a little duplication.
Use die rather than error.
(dodivide): Remove declaration of now-unused variable.
Jim Meyering [Fri, 8 Aug 2008 08:02:34 +0000 (10:02 +0200)]
* tests/misc/expr: Add tests of the new GMP-based code.
James Youngman [Sat, 2 Aug 2008 20:49:46 +0000 (21:49 +0100)]
expr: support arbitrary-precision arithmetic
* src/Makefile.am (expr_LDADD): Link expr against GNU MP.
* doc/coreutils.texi (expr invocation): Describe --bignum,
--no-bignum. Explain the new arbitrary-precision functionality.
* NEWS: Indicate that arbitrary-precision arithmetic is now
supported in expr.
* src/expr.c (enum valtype): Added mp_integer, signifying a GNU MP
number.
(usage): Document the new options --bignum and --no-bignum which
force and prohibit the use of arbitrary-precision arithmetic,
respectively.
(long_options): data structure for getopt_long, which we need to
use to parse the options mentioned above.
(main): parse these options with getopt_long instead of
parse_long_options.
(valinfo): Downgrade the numeric member of the union from
intmax_t to signed long, since MP lacks functions for promoting an
intmax_t to an arbitrary-precision quantity.
(enum arithmetic_mode): Represents the current choice between
--bignum, --no-bignum and the default (automatically switch from
one to the other if needed).
(integer_overflow): issue a more explicit error message indicating
that MP is not available.
(string_too_long): new function, emits a fatal error message for
the case where an argument to the 'index' expression is too long
for a string offset to be represented.
(int_value): With --bignum, create the value as mp_integer rather
than plain integer.
(substr_value): factored out of eval6; implements "substr".
(freev): also destroy mp_integer values. Check that no mp_integer
values exist if --no-bignum was specified.
(printv, null, tostring): support mp_integer.
(toint): new funtion for converting from string or mp_integer to
integer.
(getsize): extracts a size_t value from a VALUE object; used to
implement substr.
(promote): promotes a value from integer to mp_integer.
(domult, dodivide): functions for multiplication and division,
factored out of eval4.
(doadd): addition/subraction function, factpred out of eval3.
(eval3): support mp_integer types; call doadd.
(eval4): support mp_integer types; call domult, dodivide.
(eval6): support mp_integer offsets and lengths for "substr" and
"index".
* TODO: Mention that expr supports arbitrary-precision arithmetic,
and suggest that this might also be a good idea for seq.
* AUTHORS (expr): Add James Youngman.
James Youngman [Tue, 5 Aug 2008 23:57:50 +0000 (00:57 +0100)]
doc: mv,cp: undocument the --reply option
* doc/coreutils.texi (mv invocation): Remove documentation for mv --reply.
(cp invocation): Likewise.
* NEWS: mention this.
James Youngman [Wed, 6 Aug 2008 00:16:14 +0000 (01:16 +0100)]
document the supported baud rates beyond 38400
* doc/coreutils.texi (Special): Document the supported baud rates
beyond 38400.
John David Anglin [Mon, 4 Aug 2008 12:04:44 +0000 (14:04 +0200)]
ls: ignore spurious getfilecon failure due to lack of SELinux support
* src/ls.c (gobble_file): Upon failed getfilecon, treat an errno value
of EOPNOTSUPP just like ENOTSUP. See <http://bugs.debian.org/488549>.
James Youngman [Mon, 4 Aug 2008 17:51:21 +0000 (18:51 +0100)]
Document uptime.
* doc/coreutils.texi (uptime invocation): document uptime.
* TODO: uptime is documented now.
* src/uptime.c (print_uptime): Use fprintftime to print the time, rather
than printf. This should make the situation better for translations.
Benno Schulenberg [Mon, 4 Aug 2008 08:44:47 +0000 (10:44 +0200)]
doc: correct and normalize --help output of several tools
* src/chroot.c (usage): Add "[ARG]" to synopsis.
* src/cut.c (usage): Remove an inconsistent period in an option
description.
* src/du.c (usage): Remove superfluous argument after short option -X.
Also remove inconsistent uppercase and final period.
Use a single indent level for prettiness.
* src/shred.c (usage): Normalize the synopsis.
* src/stty.c (usage): Options -F and --file are alternatives, cannot
both be used.
* src/sum.c (usage): -r does not overrule -s; the last one counts.
* src/uptime.c (usage): Remove inconsistent space from the synopsis.
* src/users.c: Likewise.
Jim Meyering [Mon, 4 Aug 2008 08:12:47 +0000 (10:12 +0200)]
false: mark "false" description for translation
* src/true.c (usage): Mark both strings with N_, so that
the one for "false" is also extracted for translation.
For consistency, mark both, although only the latter one needed it.
Inspired by a patch from Benno Schulenberg.
James Youngman [Sun, 3 Aug 2008 23:16:06 +0000 (00:16 +0100)]
factor: credit Torbjörn Granlund
* src/factor.c: Credit Torbjörn Granlund as the author of the
arbitrary-precision factorization code.
Jim Meyering [Sun, 3 Aug 2008 06:53:30 +0000 (08:53 +0200)]
doc: make it clear we're talking about the Linux kernel
* doc/coreutils.texi (mv invocation): tweak wording
Ralf Wildenhues [Sat, 2 Aug 2008 11:22:32 +0000 (13:22 +0200)]
tests: fix build-aux/check.mk for non-GNU make
* build-aux/check.mk ($(TEST_LOGS)) [!GNU_MAKE]: Check for
a $(TESTS) test in the build dir, before one in srcdir. For details,
see <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14198>.
Ralf Wildenhues [Sat, 2 Aug 2008 07:41:09 +0000 (09:41 +0200)]
* bootstrap: Fix unportable expr usage.
Kamil Dudka [Fri, 1 Aug 2008 17:33:45 +0000 (19:33 +0200)]
ls: --color now highlights files with capabilities, too
* src/ls.c: [HAVE_CAP] Include <sys/capability.h>.
(has_capability): New function for capability detection.
(print_color_indicator): Colorize file with capability.
* m4/jm-macro.m4: New configure option: --disable-libcap.
Check for libcap usability.
* src/Makefile.am (dir_LDADD, ls_LDADD, ...): Append $(LIB_CAP).
* src/dircolors.c: Update color lists.
* src/dircolors.hin: Mention new CAPABILITY color attribute.
* tests/ls/capability: Test for ls - colorize file with capability.
* tests/Makefile.am (root_tests): Add ls/capability.
* NEWS: Mention the change.
James Youngman [Thu, 31 Jul 2008 07:58:10 +0000 (09:58 +0200)]
factor arbitrarily large numbers
* m4/gmp.m4: New file; adds cu_GMP, which detects GNU MP.
* configure.ac: Use cu_GMP.
* src/Makefile.am: Link factor against libgmp if available.
* src/factor.c: Use GNU MP if it is available.
(emit_factor, emit_ul_factor, factor_using_division,
factor_using_pollard_rho, extract_factors_multi,
sort_and_print_factors, free_factors): new functions
for the arbitrary-precision implementation, taken from an example
in GNU MP.
(factor_wheel): Renamed; was called factor.
(print_factors_single): Renamed; was called print_factors.
(print_factors): New function, chooses between the single- and
arbitrary-precision algorithms according to availability of GNU MP
and the length of the number to be factored.
(usage, main): New options --bignum and --no-bignum.
* coreutils.texi (factor invocation): Document new command-line
options for the MP implementation and update the performance
numbers to take into account the asymptotically faster algorithm.
* TODO: Remove item about factoring large primes (it's done).
* m4/gmp.m4: Add support for --without-gmp.
* NEWS: Mention the new feature.
Kamil Dudka [Wed, 30 Jul 2008 12:31:50 +0000 (14:31 +0200)]
ls -U1 now uses constant memory
When printing one name per line and not sorting, ls now uses
constant memory per directory, no matter how many files are in
the directory.
* ls.c (print_dir): Print each file name immediately, when possible.
* NEWS: Mention the improvement.
Jim Meyering [Wed, 30 Jul 2008 12:29:52 +0000 (14:29 +0200)]
* timeout.c: Fix grammar in a comment. Normalize comment syntax.
Jim Meyering [Mon, 28 Jul 2008 09:48:22 +0000 (11:48 +0200)]
bootstrap: work also when there are no .po files in po/
* bootstrap (update_po_files): Complete the change that I began
in
7ba2dd808232cff3ee76aaceb97f4381c3c9cde4.
Jim Meyering [Sun, 27 Jul 2008 20:21:14 +0000 (22:21 +0200)]
* NEWS: Move shuf --zero-terminated item into bug-fixes section.
Mikael Magnusson [Sun, 27 Jul 2008 15:31:18 +0000 (17:31 +0200)]
shuf: correctly document --head-count
* src/shuf.c (usage): Correct --help output.
* doc/coreutils.texi: Correct option listing.
* NEWS: Mention correction.
Jim Meyering [Sun, 27 Jul 2008 13:14:37 +0000 (15:14 +0200)]
shuf: honor --zero-terminated option even with --input-range=LO-HI
* src/shuf.c (write_permuted_output): Add EOLBYTE parameter and use
it rather than hard-coding "\n".
(main): Adjust sole caller.
* tests/misc/shuf: Add a test to exercise this bug fix.
* NEWS: Mention it.
Jim Meyering [Wed, 23 Jul 2008 12:50:52 +0000 (14:50 +0200)]
dd: minor fullblock changes
* src/dd.c (O_FULLBLOCK): Define using an enum, not #define.
Derive the value, rather than hard-coding to one that might conflict.
(usage): Mention iflag=fullblock in --help output.
(scanargs): Reset the O_FULLBLOCK bit, so that we don't try to set
an undefined attribute via fcntl (fd, F_SETFL, ...
* tests/dd/misc: Signal framework_failure when necessary.
Use "compare actual expected", so any diffs look "right".
* NEWS (dd): Alphabetize and reword.
* coreutils.texi (dd invocation): Adjust wording.
Kamil Dudka [Wed, 23 Jul 2008 09:29:21 +0000 (11:29 +0200)]
dd: new option: iflag=fullblock to accumulate full input blocks
* src/dd.c (iread_fullblock): New function for reading full blocks.
(scanargs): Check for new parameter iflag=fullblock.
(skip): Use iread_fnc pointer instead of iread function.
(dd_copy): Use iread_fnc pointer instead of iread function.
* tests/dd/misc: Add test for dd - read full blocks.
* doc/coretuils.texi: Mention new parameter iflag=fullblock.
* NEWS: Mentioned the change.
Jim Meyering [Wed, 23 Jul 2008 13:50:40 +0000 (15:50 +0200)]
dd: adjust --help output so help2man formats the man page properly
* src/dd.c (usage): Use two spaces (not one) to separate
"directory" from its description, so help2man formats
the derived man page properly.
Reuben Thomas [Tue, 22 Jul 2008 22:25:04 +0000 (23:25 +0100)]
doc: add example .bashrc code for a ~/.dircolors file
* coreutils.texi: Add tip for .bashrc use from Jim Meyering.
Jim Meyering [Tue, 22 Jul 2008 09:23:08 +0000 (11:23 +0200)]
tests: do not run chmod on a prefix of space-embedded tmpdir
* TESTS/test-lib.sh (remove_tmp_): New function.
(trap 0): Use it instead of open-coded (and misquoted) version.
Jim Meyering [Tue, 22 Jul 2008 07:20:52 +0000 (09:20 +0200)]
tests: ensure "make check" w/tainted build dir no longer impacts $HOME
* maint.mk (taint-distcheck): New rule.
(maintainer-distcheck): Make it.
Ralf Wildenhues [Tue, 22 Jul 2008 05:38:31 +0000 (07:38 +0200)]
tests: again, do not change the mode of all directories below $HOME
* tests/CuTmpdir.pm (chmod_tree): Do not run chmod on undefined
argument, can happen when the build path contains spaces.
Jim Meyering [Sat, 19 Jul 2008 13:42:49 +0000 (15:42 +0200)]
* THANKS: Update, now that I have a name for jemm4jemm.
Andreas Schwab [Fri, 18 Jul 2008 15:37:41 +0000 (17:37 +0200)]
mknod: correct misplaced -Z description in --help output
* src/mknod.c (usage): Put it after the "Mandatory arguments..." line.
Jim Meyering [Wed, 16 Jul 2008 11:01:03 +0000 (13:01 +0200)]
dircolors.hin: add Ogg/Theora-related extensions
* dircolors.hin: Add extensions from
http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions
Suggestion from jemm4jemm@yahoo.com.
Jim Meyering [Wed, 16 Jul 2008 10:25:00 +0000 (12:25 +0200)]
* HACKING: describe how to find a misplaced change-set
Jim Meyering [Tue, 15 Jul 2008 06:30:38 +0000 (08:30 +0200)]
fix two bugs in ptx
* src/ptx.c (fix_output_parameters): Don't let before_max_width
go negative -- that would cause an infloop in define_all_fields.
(main): Don't clobber name[0] with lists of two or more input files.
* tests/misc/ptx: New file. Test for the above.
* tests/Makefile.am (TESTS): Add misc/ptx.
Pádraig Brady [Thu, 10 Jul 2008 08:36:49 +0000 (09:36 +0100)]
tests: expand: test for lines starting with both spaces and tabs
The expand released in current distributions (Fedora Core 4 - Fedora 9
at least), doesn't expand --initial tabs if spaces are present.
tests/misc/expand: Add test to verify --initial works correctly
with lines starting with both spaces and tabs.
Jim Meyering [Thu, 10 Jul 2008 06:41:28 +0000 (08:41 +0200)]
make check: accommodate stricter POSIX-conforming shells
Without this, test-related variable settings were not exported to
the shell_or_perl_ function when using dash or Solaris 11's /bin/sh.
* tests/check.mk (TESTS_ENVIRONMENT): Use an explicit "export",
so as not to rely on non-POSIX behavior of some /bin/sh (e.g.,
bash-based ones).
Jim Meyering [Sun, 6 Jul 2008 21:15:23 +0000 (23:15 +0200)]
* bootstrap: Remove $bt and $bt2 also when not using gettext.
Jim Meyering [Fri, 4 Jul 2008 14:34:39 +0000 (16:34 +0200)]
who -r: don't print "last=" when the corresponding byte is unprintable
* src/who.c (print_runlevel): Print last=%c only when the "preceding
run-level" byte is printable. Reported by Gian Piero De Lolliis in
<http://bugzilla.redhat.com/453249>.
Ondřej Vašík [Wed, 2 Jul 2008 12:11:05 +0000 (14:11 +0200)]
doc: describe who's -p, -r, and -t options
* doc/coreutils.texi (who invocation):
Jim Meyering [Fri, 4 Jul 2008 07:41:57 +0000 (09:41 +0200)]
install with just-built ./ginstall only when not cross-compiling
* src/Makefile.am (install-exec-am): ...otherwise, use the default
value, $(INSTALL_PROGRAM). Reported by Brian Silverman.
Jim Meyering [Tue, 1 Jul 2008 14:19:46 +0000 (16:19 +0200)]
* README-hacking: Update the section on LZMA.
Pádraig Brady [Sun, 29 Jun 2008 00:55:03 +0000 (01:55 +0100)]
truncate: ignore whitespace in --size parameters
Without this, `truncate -s '> -1' F` would truncate F to length 0,
and `truncate -s " +1" F` would truncate F to 1 byte. Now, each
elicits a diagnostic.
* src/truncate.c: Skip leading white space in the --size option
argument and any white space after one of the relative modifiers,
so that the presence of a +/- modifier can be detected reliably.
* tests/misc/truncate-parameters: Add tests for the above.
Jim Meyering [Sat, 28 Jun 2008 07:53:03 +0000 (09:53 +0200)]
doc: add "..." to Usage, to indicate there may be multiple OPTIONs
* src/base64.c (usage): Likewise.
* src/cat.c (usage): Likewise.
* src/md5sum.c (usage): Likewise.
* src/mkdir.c (usage): Likewise.
* src/mkfifo.c (usage): Likewise.
* src/split.c (usage): Likewise.
* src/stat.c (usage): Likewise.
Heiko Marr reported the problem with mkdir.
Jim Meyering [Sat, 28 Jun 2008 07:48:11 +0000 (09:48 +0200)]
mkfifo: correct misplaced -Z description in --help output
* src/mkfifo.c (usage): Put it *after* the "Mandatory arguments..." line.
Jim Meyering [Fri, 27 Jun 2008 16:52:56 +0000 (18:52 +0200)]
uniq: remove redundant test
* src/uniq.c (find_field): Remove redundant test in outer loop-
termination expression. Also, add a "const" attribute.
Pádraig Brady [Thu, 26 Jun 2008 22:09:28 +0000 (23:09 +0100)]
timeout: fix invalid argument tests
* tests/misc/timeout-parameters: Remove test for invalid
signal number (we don't know what signal numbers are
invalid on all systems). Also tweak the other invalid
signal check so that the rest of the arguments are correct.
Jim Meyering [Fri, 27 Jun 2008 14:34:00 +0000 (16:34 +0200)]
avoid a -Wsign-compare warning
* src/tee.c (tee_files): Swap fwrite's size/n_elem args and
compare the return value against "1".
Jim Meyering [Fri, 27 Jun 2008 14:26:05 +0000 (16:26 +0200)]
base64: don't rely on feof returning 0/1
* src/base64.c (do_decode): feof is specified to return nonzero,
not 0/1, so use "k < 1 + !!feof(in)" as the loop termination test.
Pádraig Brady [Fri, 27 Jun 2008 07:38:42 +0000 (08:38 +0100)]
truncate: silence -Wsign-compare warnings
* src/truncate.c: Cast signed to unsigned to
confirm intent which will silence -Wsign-compare warnings
Jim Meyering [Fri, 27 Jun 2008 08:54:23 +0000 (10:54 +0200)]
factor out time_t-to-string conversion idiom
* src/system.h: Include "inttostr.h".
(timetostr): New function, factored out of...
* src/date.c (show_date): Use timetostr.
* src/du.c (show_date): Likewise.
* src/ls.c (print_long_format): Likewise.
* src/pinky.c (time_string): Likewise.
* src/stat.c (human_time): Likewise.
* src/*.c: Don't include inttostr.h, since system.h does.
* src/c99-to-c89.diff: Adjust offsets.
Pádraig Brady [Thu, 26 Jun 2008 10:10:13 +0000 (11:10 +0100)]
truncate: Fix integer portability issues
* src/truncate.c: Explicitly convert from off_t to intmax_t
when printing numbers as they may be different types.
Also don't mix size_t and off_t types in operations as
the latter will be promoted to unsigned when these types
are the same size.
Jim Meyering [Thu, 26 Jun 2008 21:04:57 +0000 (23:04 +0200)]
tests: adjust c99-to-c89 patch as well as the code to generate it
* maint.mk (patch-check) [REGEN_PATCH]: Trim some trailing blanks.
* src/c99-to-c89.diff: Adjust shred.c offsets.
Jim Meyering [Thu, 26 Jun 2008 20:45:33 +0000 (22:45 +0200)]
tests: fix make distcheck failure due to TODO change
* maint.mk (po-check): Limit check for e.g., _(...)-marked
messages to files matching *.? and *.??, thus excluding TODO
and *.diff.
Jim Meyering [Thu, 26 Jun 2008 19:16:17 +0000 (21:16 +0200)]
* TODO: Add item: remove uses of imaxtostr.
Peter O'Gorman [Thu, 26 Jun 2008 18:57:11 +0000 (20:57 +0200)]
tests: accommodate difference in an AIX 5.3 diagnostic
* tests/mkdir/selinux: Handle different strerror (ENOTSUP) spelling.
Jim Meyering [Thu, 26 Jun 2008 08:02:32 +0000 (10:02 +0200)]
shred: also ignore EISDIR upon failed fsync/fdatasync on HP-UX
* src/shred.c (ignorable_sync_errno): New function.
(dosync): Use it.
Based on a patch from Peter O'Gorman.
Jim Meyering [Thu, 26 Jun 2008 19:03:55 +0000 (21:03 +0200)]
* HACKING: use shorter "-1" (over HEAD~1) with git format-patch
Jim Meyering [Thu, 26 Jun 2008 06:01:26 +0000 (08:01 +0200)]
bootstrap.conf: don't list "open" specifically
It is no longer necessary to list it specifically,
now that several gnulib modules depend on the "open" module.
This reverts commit
3ea1fe588e20f196cc9b9907d5943bd620c6b944.
Jim Meyering [Wed, 25 Jun 2008 21:15:06 +0000 (23:15 +0200)]
truncate: handle the case in which off_t != intmax_t
* src/truncate.c (parse_len): Use a temporary of type intmax_t,
rather than off_t; detect out of range [OFF_T_MIN..OFF_T_MAX].
(main) [IF_LINT]: Initialize, to avoid an unwarranted
"may be used uninitialized" warning.
Reported by Michael Geng.
Signed-off-by: Pádraig Brady <P@draigBrady.com>
Jim Meyering [Mon, 23 Jun 2008 12:54:33 +0000 (14:54 +0200)]
basename: List David MacKenzie as the author.
* src/basename.c (AUTHORS): List David as the author.
* AUTHORS: Update here, too.
Ondřej Vašík [Mon, 23 Jun 2008 12:00:26 +0000 (14:00 +0200)]
echo: use AUTHORS from bash's built-in echo
* AUTHORS,src/echo.c: Use bash builtin echo authors instead of FIXME unknown
Jim Meyering [Sun, 22 Jun 2008 16:57:39 +0000 (18:57 +0200)]
use gnulib's "open" module
* bootstrap.conf (gnulib_modules): Add open.
This is required at least for Solaris 9 and HP-UX 11, to
avoid a truncate test failure. For details, see this thread:
http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13755
Jim Meyering [Sun, 22 Jun 2008 10:26:53 +0000 (12:26 +0200)]
stat: warn that the --context (-Z) option (a no-op) is obsolete
* src/stat.c (main): It will be removed in a couple years.
* NEWS (Change in behavior): Mention this.
Jim Meyering [Fri, 20 Jun 2008 09:05:57 +0000 (11:05 +0200)]
make "make syntax-check" quieter
* maint.mk (po-check, makefile-check, sc_proper_name_utf8_requires_ICONV):
Add "@" prefix.
Bo Borgerson [Thu, 19 Jun 2008 19:37:21 +0000 (15:37 -0400)]
sort: Fix bug where --batch-size option shrank SORT_SIZE.
* src/sort.c (specify_nmerge, main): Only adjust SORT_SIZE if it's already set.
* tests/misc/sort-merge: Test bug fix.
Jim Meyering [Thu, 19 Jun 2008 07:03:41 +0000 (09:03 +0200)]
tests: avoid test failure when root's primary group-ID is not 0
* tests/cp/preserve-gid: Expect a cp-without-`-p'-created file to
have a group ID of $(id -g). Reported by Jarod Wilson. Details in
http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13803/focus=13837
Jim Meyering [Thu, 19 Jun 2008 06:52:08 +0000 (08:52 +0200)]
tests: avoid root-only test failure when run in a chroot
* tests/misc/runcon-no-reorder: Accept the diagnostic that is
produced when running in a chroot without /selinux/context.
Reported by Jarod Wilson. Details in
http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13803/focus=13837
Jim Meyering [Wed, 18 Jun 2008 08:01:54 +0000 (10:01 +0200)]
* tests/check.mk: Fix a typo in a comment.
Jim Meyering [Tue, 17 Jun 2008 21:34:47 +0000 (23:34 +0200)]
doc: fix a syntax error
* coreutils.texi (du invocation): Add missing comma.
Bo Borgerson [Sat, 5 Apr 2008 17:33:51 +0000 (13:33 -0400)]
sort: accept new option --batch-size=NMERGE
* src/sort.c: (static unsigned int nmerge) Replace constant NMERGE.
(specify_nmerge) Validate and apply new option.
(mergefps) Replace some arrays with pointers to xnmalloc'd storage.
* tests/misc/sort-merge: Test new option.
* doc/coreutils.texi: Describe new option.
* NEWS: Advertise new option.
Bo Borgerson [Thu, 3 Apr 2008 22:42:57 +0000 (18:42 -0400)]
sort: add new option --files0-from=F
* src/sort.c: Support new option.
* tests/misc/sort-files0-from: Test new option.
* tests/misc/Makefile.am: Indicate new test.
* docs/coreutils.texi: Explain new option.
* NEWS: Advertise new option.
Signed-off-by: Bo Borgerson <gigabo@gmail.com>
Bo Borgerson [Mon, 16 Jun 2008 22:30:25 +0000 (18:30 -0400)]
HACKING: Add section for tips on reducing translator workload.
* HACKING (Be nice to translators): New section.
Add Jim's suggestion to avoid changing translatable strings if possible.
Jim Meyering [Tue, 17 Jun 2008 06:18:49 +0000 (08:18 +0200)]
* THANKS: Add name and email for Carl Roth.
Eric Blake [Tue, 17 Jun 2008 03:16:07 +0000 (21:16 -0600)]
ls, od: avoid redundant const
* src/ls.c (long_time_format, sort_functions): Avoid redundant const.
* src/od.c (charname): Likewise.
* maint.mk (sc_redundant_const): Add rule to detect this.
Bo Borgerson [Tue, 22 Apr 2008 20:19:58 +0000 (16:19 -0400)]
join: improve memory management
* src/join.c (struct seq): Use a (struct line **) for `lines' rather than
one long (struct line *). This allows individual lines to be swapped out
if necessary.
(reset_line): Get a line ready for new input.
(init_linep): Create a new line and assign it to the the pointer passed in.
(spareline[2]): Hold a spare line for each input file.
(free_spareline): Clean up.
(get_line): Take a (struct line **) instead of a (struct line *). If the
line to be overwritten is the previous line for the current file then swap
it out for the spare.
(join): Accomodate new structure of SEQs and new parameters to get_line;
Don't free stale lines until the end -- they're re-usable now.
(dup_line): Remove function.
* NEWS: Mention the performance improvement.
Ralf Wildenhues [Mon, 16 Jun 2008 17:58:18 +0000 (19:58 +0200)]
* doc/coreutils.texi (join invocation): Drop leading blanks.
Jim Meyering [Mon, 16 Jun 2008 12:55:06 +0000 (14:55 +0200)]
remove redundant const directives
In
1463824d8e7f72c31f1d803d7cfe2b608ccafc5c, I added some
missing "const" directives, as well as some new, redundant ones.
This removes the redundant ones. Pointed out by Eric Blake.
* base64.c, cat.c, chcon.c, chgrp.c, chmod.c, chown.c, comm.c:
* cp.c, csplit.c, cut.c, date.c, dd.c, df.c, dircolors.c, du.c:
* env.c, expand.c, fmt.c, fold.c, groups.c, head.c, id.c:
* install.c, join.c, kill.c, ln.c, ls.c, md5sum.c, mkdir.c:
* mkfifo.c, mknod.c, mktemp.c, mv.c, nice.c, nl.c, od.c:
* paste.c, pathchk.c, pinky.c, pr.c, ptx.c, readlink.c, rm.c:
* rmdir.c, runcon.c, seq.c, shred.c, shuf.c, sort.c, split.c:
* stat.c, stty.c, su.c, sum.c, tac.c, tail.c, tee.c, timeout.c:
* touch.c, tr.c, truncate.c, tty.c, uname.c, unexpand.c, uniq.c:
* wc.c, who.c: Remove redundant const directives.
* maint.mk (sc_const_long_option): Don't require redundant "const".
Jim Meyering [Mon, 16 Jun 2008 11:03:07 +0000 (13:03 +0200)]
chcon: correct --verbose output to include newlines
* src/chcon.c (process_file): Append "\n" to --verbose diagnostic.
* tests/misc/chcon: Add a test for the above.
* NEWS: mention the bug fix
Reported by Carl D. Roth in http://bugzilla.redhat.com/451478.
Jim Meyering [Sun, 15 Jun 2008 16:57:13 +0000 (18:57 +0200)]
address root cause of compilation failures:
The affected code wasn't even being compiled on my system,
because HAVE_NL_LANGINFO was not defined. On other systems, where
vasnprintf.m4 determines it needs %A or %a replacement support, it
_would_ check for nl_langinfo, and expose the compilation failure.
* m4/jm-macros.m4: Check for nl_langinfo, required by sort.c.
Jim Meyering [Sun, 15 Jun 2008 16:52:27 +0000 (18:52 +0200)]
fix the compilation failure for real
* src/sort.c (monthtab): Neither "const" may be added.
Jim Meyering [Sun, 15 Jun 2008 14:28:48 +0000 (16:28 +0200)]
fix a const-related compilation failure in sort.c
* src/sort.c (monthtab): Remove overzealous "const".
Table entries are modified in an #if HAVE_NL_LANGINFO block.
Introduced by
1463824d8e7f72c31f1d803d7cfe2b608ccafc5c.
Jim Meyering [Sun, 15 Jun 2008 14:01:04 +0000 (16:01 +0200)]
update HACKING guidelines
* HACKING: Don't suggest --signoff; it's redundant.
(log requirements): Specify preferred forms.
Mention preference for "<" over ">".
Mention the "const placement" preference.
Jim Meyering [Fri, 13 Jun 2008 18:31:46 +0000 (20:31 +0200)]
run gnulib-tests in parallel
* tests/Makefile.am: Define AUTOMAKE_OPTIONS, so check.mk can append.
* tests/check.mk: Define SUFFIXES, so check.mk can append.
* build-aux/check.mk (SUFFIXES): Append, so as not to evoke
automake warning the prior definition in gnulib-tests/gnulib.mk.
(AUTOMAKE_OPTIONS): Likewise.
* gnulib-tests/Makefile.am (TEST_LOGS): Define.
Include build-aux/check.mk
Jim Meyering [Sat, 14 Jun 2008 20:26:29 +0000 (22:26 +0200)]
* maint.mk (sc_proper_name_utf8_requires_ICONV) Fix typo in diagnostic.
Jim Meyering [Thu, 12 Jun 2008 20:06:15 +0000 (22:06 +0200)]
add "const" attribute, where possible
* maint.mk (sc_const_long_option): New rule. Enforce global change.
* src/base64.c (long_options): Use "const" where possible.
* src/cat.c (main): Likewise.
* src/chcon.c (long_options): Likewise.
* src/chgrp.c (long_options): Likewise.
* src/chmod.c (long_options): Likewise.
* src/chown.c (long_options): Likewise.
* src/comm.c (long_options, OUTPUT_DELIMITER_OPTION): Likewise.
* src/cp.c (long_opts): Likewise.
* src/csplit.c (longopts): Likewise.
* src/cut.c (longopts): Likewise.
* src/date.c (long_options): Likewise.
* src/dd.c (conversions, flags, statuses): Likewise.
* src/df.c (long_options): Likewise.
* src/dircolors.c (long_options): Likewise.
* src/du.c (long_options): Likewise.
* src/env.c (longopts): Likewise.
* src/expand.c (longopts): Likewise.
* src/fmt.c (long_options): Likewise.
* src/fold.c (longopts): Likewise.
* src/groups.c (longopts): Likewise.
* src/head.c (long_options): Likewise.
* src/id.c (longopts): Likewise.
* src/install.c (long_options): Likewise.
* src/join.c (longopts): Likewise.
* src/kill.c (long_options): Likewise.
* src/ln.c (long_options): Likewise.
* src/ls.c (long_time_format, long_options, sort_functions): Likewise.
* src/md5sum.c (long_options): Likewise.
* src/mkdir.c (longopts): Likewise.
* src/mkfifo.c (longopts): Likewise.
* src/mknod.c (longopts): Likewise.
* src/mktemp.c (longopts): Likewise.
* src/mv.c (long_options): Likewise.
* src/nice.c (longopts): Likewise.
* src/nl.c (longopts): Likewise.
* src/od.c (charname, long_options): Likewise.
* src/paste.c (longopts): Likewise.
* src/pathchk.c (longopts): Likewise.
* src/pinky.c (longopts): Likewise.
* src/pr.c (long_options): Likewise.
* src/ptx.c (long_options): Likewise.
* src/readlink.c (longopts): Likewise.
* src/rm.c (long_opts): Likewise.
* src/rmdir.c (longopts): Likewise.
* src/runcon.c (long_options): Likewise.
* src/seq.c (long_options): Likewise.
* src/shred.c (long_opts): Likewise.
* src/shuf.c (long_opts): Likewise.
* src/sort.c (monthtab, long_options): Likewise.
* src/split.c (longopts): Likewise.
* src/stat.c (long_options): Likewise.
* src/stty.c (mode_info, control_info, longopts, set_mode) Likewise.
(set_control_char, speeds): Likewise.
* src/su.c (longopts): Likewise.
* src/sum.c (longopts): Likewise.
* src/tac.c (longopts): Likewise.
* src/tail.c (long_options): Likewise.
* src/tee.c (long_options): Likewise.
* src/timeout.c (long_options): Likewise.
* src/touch.c (longopts): Likewise.
* src/tr.c (long_options): Likewise.
* src/truncate.c (longopts): Likewise.
* src/tty.c (longopts): Likewise.
* src/uname.c (uname_long_options, arch_long_options): Likewise.
* src/unexpand.c (longopts): Likewise.
* src/uniq.c (longopts): Likewise.
* src/wc.c (longopts): Likewise.
* src/who.c (longopts): Likewise.
Jim Meyering [Sat, 14 Jun 2008 09:04:41 +0000 (11:04 +0200)]
revert previous change, "don't use "const" with scalar types"
* src/truncate.c: There is nothing wrong with that construct.
This reverts commit
d7d80c5b7b122377fe250357a3ab182e8fbde20a.
Jim Meyering [Sat, 14 Jun 2008 07:46:47 +0000 (09:46 +0200)]
don't use "const" with scalar types
* src/truncate.c: Several vendor compilers reject that.
See http://article.gmane.org/gmane.comp.lib.gnulib.bugs/13876
Eric Blake [Thu, 12 Jun 2008 17:05:09 +0000 (11:05 -0600)]
od: improve handling of padding
* src/od.c (decode_one_format): Alter the format, again.
(FMT_BYTES_ALLOCATED): Reduce size by adjusting to new format.
(MAX_INTEGRAL_TYPE_SIZE): Move earlier in the file.
(charname): Turn it into a 2D array, since there's no need for
pointers now.
(PRINT_TYPE, print_named_ascii, print_ascii): Add a width
parameter.
(write_block): Account for width parameter.
Using ideas from Paul Eggert.
Eric Blake [Wed, 11 Jun 2008 15:14:26 +0000 (09:14 -0600)]
od: align multiple -t specs
* src/od.c (struct tspec): Add pad_width field, and adjust
print_function prototype.
(decode_one_format): Rewrite all fmt_string values to account for
pad width.
(FMT_BYTES_ALLOCATED): Adjust to new format style.
(main): Compute pad width per spec.
(write_block): Account for pad width.
(dump): Don't print padding-only fields.
(PRINT_TYPE, print_named_ascii, print_ascii): All print functions
adjusted to use variable pad width.
* tests/Makefile.am (TESTS): Add test.
* tests/misc/od-multiple-t: New file.
* THANKS: Update.
* NEWS: Mention the improvement.
Reported by Gary Johnson.
Eric Blake [Wed, 11 Jun 2008 21:02:20 +0000 (15:02 -0600)]
od: use gnulib printf replacement as necessary
* src/od.c (includes): Add xprintf.h.
(PRINT_TYPE): New macro, using xprintf instead of printf.
(print_s_char, print_char, print_s_short, print_short, print_int)
(print_long, print_long_long, print_float, print_double)
(print_long_double): Factor into PRINT_TYPE macro.
(print_named_ascii, print_ascii): Use xprintf.
* NEWS: Mention this as a bug fix.
Eric Blake [Wed, 11 Jun 2008 17:45:16 +0000 (11:45 -0600)]
od: simplify long double support
* m4/jm-macros.m4 (gl_CHECK_ALL_TYPES): Remove obsolete check for
AC_C_LONG_DOUBLE.
* src/od.c (LONG_DOUBLE): Delete.
(width_bytes, MAX_FP_TYPE_SIZE, decode_one_format, main): Just use
'long double' directly.
(print_long_double): No longer protect by HAVE_LONG_DOUBLE.
Eric Blake [Wed, 11 Jun 2008 14:01:31 +0000 (08:01 -0600)]
doc: od defaults to -toS, not -td2
* src/od.c (usage): Correct description of default.
Jim Meyering [Fri, 13 Jun 2008 20:26:15 +0000 (22:26 +0200)]
skip (don't fail) root-only tests for common set-up failures
Address 2 of 4 failures reported by Jarod Wilson in
http://bugzilla.redhat.com/442352. More details here:
http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13803
* tests/cp/cp-a-selinux: Skip the test if "mkfs -t ext2" fails.
* tests/rm/fail-2eperm: Skip the test if "rm" is not accessible.
Jim Meyering [Thu, 12 Jun 2008 19:38:17 +0000 (21:38 +0200)]
tweak to conform with syntax policy
Use "<" or "<=" rather than ">" or ">=".
Use "Type const *", rather than "const Type *".
Bo Borgerson [Wed, 23 Apr 2008 03:47:42 +0000 (23:47 -0400)]
comm: accept new option: --output-delimiter=STR
* src/comm.c (delimiter): New global.
(writeline): Use delimiter string instead of single TAB character.
(main): Initialize delimiter.
* tests/misc/comm: Add tests for comm output delimiter specification.
* doc/coreutils.texi: Document new option.
* NEWS: Advertise new option.
* TODO: Remove associated item.
Bo Borgerson [Mon, 21 Apr 2008 01:24:16 +0000 (21:24 -0400)]
comm: ensure that input files are sorted
* NEWS: List new behavior.
* doc/coreutils.texi (checkOrderOption) New macro for
describing `--check-order' and `--nocheck-order', used in
both join and comm.
* src/comm.c (main): Initialize new options.
(usage): Describe new options.
(compare_files): Keep an extra pair of buffers for the previous
line from each file to check the internal order.
(check_order): If an order-check is required, compare and handle
the result appropriately.
(copylinebuffer): Copy a linebuffer; used for copy before read.
* tests/misc/Makefile.am: List new test.
* tests/misc/comm: Tests for the comm program, including the
new order-checking functionality and attendant command-line options.
Jim Meyering [Wed, 11 Jun 2008 12:04:45 +0000 (14:04 +0200)]
fix another unportable use of 'tr'
* configure.ac [EXTRA_PROGRAMS]: Add omitted space in tr's STRING2.
Spotted by Denis Excoffier, upon Solaris 8 build failure.
Jim Meyering [Wed, 11 Jun 2008 09:52:03 +0000 (11:52 +0200)]
tests: skip a chown test on FreeBSD 6.x
* tests/chown/separator: Skip this test if is likely to fail
due to the combination of a bogus group name and a broken
getgrnam function.