From ebce7bfb1b2e745553043b8d7feb7c2131426fc2 Mon Sep 17 00:00:00 2001 From: Pádraig Brady Date: Fri, 6 May 2011 08:07:46 +0100 Subject: sort: fix a contradictory --debug warning * src/sort.c (key_warn): `sort -k2,1n --debug` would output warnings about being both "zero width" and "spanning multiple fields". Suppress the latter one. * tests/misc/sort-debug-warn: Add a couple of test cases. --- src/sort.c | 2 +- tests/misc/sort-debug-warn | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/sort.c b/src/sort.c index 07d6765ac..e10159a9b 100644 --- a/src/sort.c +++ b/src/sort.c @@ -2385,7 +2385,7 @@ key_warnings (struct keyfield const *gkey, bool gkey_only) size_t eword = key->eword + 1; if (!sword) sword++; - if (sword != eword) + if (!eword || sword < eword) error (0, 0, _("key %lu is numeric and spans multiple fields"), keynum); } diff --git a/tests/misc/sort-debug-warn b/tests/misc/sort-debug-warn index def25715a..5ae00022c 100755 --- a/tests/misc/sort-debug-warn +++ b/tests/misc/sort-debug-warn @@ -23,6 +23,10 @@ cat <<\EOF > exp sort: using simple byte comparison sort: key 1 has zero width and will be ignored sort: using simple byte comparison +sort: key 1 has zero width and will be ignored +sort: using simple byte comparison +sort: key 1 is numeric and spans multiple fields +sort: using simple byte comparison sort: options `-bghMRrV' are ignored sort: using simple byte comparison sort: options `-bghMRV' are ignored @@ -50,6 +54,8 @@ sort: using simple byte comparison EOF sort -s -k2,1 --debug /dev/null 2>>out +sort -s -k2,1n --debug /dev/null 2>>out +sort -s -k1,2n --debug /dev/null 2>>out sort -s -rRVMhgb -k1,1n --debug /dev/null 2>>out sort -rRVMhgb -k1,1n --debug /dev/null 2>>out sort -r -k1,1n --debug /dev/null 2>>out -- cgit v1.2.3-54-g00ecf