coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] sort: fix a contradictory --debug warning


From: Pádraig Brady
Subject: [PATCH] sort: fix a contradictory --debug warning
Date: Fri, 06 May 2011 14:30:00 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.8) Gecko/20100227 Thunderbird/3.0.3

Author: Pádraig Brady <address@hidden>
Date:   Fri May 6 08:07:46 2011 +0100

    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.

diff --git a/src/sort.c b/src/sort.c
index 07d6765..e10159a 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 def2571..5ae0002 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]