diff options
author | Pádraig Brady <P@draigBrady.com> | 2009-02-14 17:20:37 +0000 |
---|---|---|
committer | Pádraig Brady <P@draigBrady.com> | 2009-02-14 23:47:14 +0000 |
commit | 5d0b158f4c7b7fa506a9accec511209f68890982 (patch) | |
tree | 18f9b22e63228e61a8f4187733afd28b535858a0 | |
parent | 982504452d60a87632a5a2f11d1be645e06d8346 (diff) | |
download | coreutils-5d0b158f4c7b7fa506a9accec511209f68890982.tar.xz |
seq: Fix equal width calculation when '.' added to last number
Issue reported by Samuel Hapák.
<http://lists.gnu.org/archive/html/bug-coreutils/2009-02/msg00139.html>
* src/seq.c: Account for '.' added to "last" number.
* tests/misc/seq: Add corresponding test.
* NEWS: Mention the fix.
-rw-r--r-- | NEWS | 3 | ||||
-rw-r--r-- | src/seq.c | 2 | ||||
-rwxr-xr-x | tests/misc/seq | 1 |
3 files changed, 6 insertions, 0 deletions
@@ -35,6 +35,9 @@ GNU coreutils NEWS -*- outline -*- Even with this patch, on some systems, it still produces invalid output, from 3 to at least 1026 lines long. [bug introduced in coreutils-6.11] + seq -w now accounts for a decimal point added to the last number + to correctly print all numbers to the same width. + wc --files0-from=FILE no longer reads all of FILE into RAM, before processing the first file name, unless the list of names is known to be small enough. @@ -317,6 +317,8 @@ get_default_format (operand first, operand step, operand last) size_t last_width = last.width + (prec - last.precision); if (last.precision && prec == 0) last_width--; /* don't include space for '.' */ + if (last.precision == 0 && prec) + last_width++; /* include space for '.' */ size_t width = MAX (first_width, last_width); if (width <= INT_MAX) { diff --git a/tests/misc/seq b/tests/misc/seq index 7f808cf6c..cd78bd164 100755 --- a/tests/misc/seq +++ b/tests/misc/seq @@ -64,6 +64,7 @@ my @Tests = ['eq-wid-5', qw(-w 1 .5 2), {OUT => [qw(1.0 1.5 2.0)]}], ['eq-wid-6', qw(-w +1 2), {OUT => [qw(1 2)]}], ['eq-wid-7', qw(-w " .1" " .1"), {OUT => [qw(0.1)]}], + ['eq-wid-8', qw(-w 9 0.5 10), {OUT => [qw(09.0 09.5 10.0)]}], # Prior to coreutils-4.5.11, some of these were not accepted. ['fmt-1', qw(-f %2.1f 1.5 .5 2),{OUT => [qw(1.5 2.0)]}], |