diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2006-12-13 22:03:54 +0100 |
---|---|---|
committer | Jim Meyering <jim@meyering.net> | 2006-12-13 22:03:54 +0100 |
commit | ec95137cc376119f634610a7683a296fc7b78ea4 (patch) | |
tree | 52d315f085e18022db44722d7e58f3e4635d84d9 /tests/sort/Test.pm | |
parent | ae3ee95eb8372ec5947e3c790c6ea77bc703c160 (diff) | |
download | coreutils-ec95137cc376119f634610a7683a296fc7b78ea4.tar.xz |
Remove some arbitrary restrictions on size fields,
so that commands like "sort -k 18446744073709551616" no longer fail merely
because 18446744073709551616 doesn't fit in uintmax_t. The trick is that
these fields can all be treated as effectively infinity; their exact
values don't matter, since no internal buffer can be that long.
* src/join.c (string_to_join_field): Verify that SIZE_MAX <= ULONG_MAX
if the code assumes this. Silently truncate too-large values to SIZE_MAX,
as the remaining code will do the right thing in this case.
* src/sort.c (parse_field_count): Likewise.
* src/uniq.c (size_opt, main): Likewise.
* tests/join/Test.pm (bigfield): New test.
* tests/sort/Test.pm (bigfield): New test.
* tests/uniq/Test.pm (121): New test.
Signed-off-by: Jim Meyering <jim@meyering.net>
Diffstat (limited to 'tests/sort/Test.pm')
-rwxr-xr-x | tests/sort/Test.pm | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/tests/sort/Test.pm b/tests/sort/Test.pm index fbc6c49d0..6bed61b7f 100755 --- a/tests/sort/Test.pm +++ b/tests/sort/Test.pm @@ -275,6 +275,9 @@ my @tv = ( # -t '\0' is accepted, as of coreutils-5.0.91 ['nul-tab', "-k2,2 -t '\\0'", "a\0z\01\nb\0y\02\n", "b\0y\02\na\0z\01\n", 0], + +["bigfield", '-k 340282366920938463463374607431768211456', + "2\n1\n", "1\n2\n", 0], ); sub test_vector |