changeset 302:87d624e86785

Only apply global flags to fallback sort.
author Rob Landley <rob@landley.net>
date Sun, 22 Jun 2008 04:15:36 -0500
parents 2e2529e298ee
children b8f6dd7cf7f7
files toys/sort.c
diffstat 1 files changed, 5 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/toys/sort.c	Sun Jun 22 00:57:44 2008 -0500
+++ b/toys/sort.c	Sun Jun 22 04:15:36 2008 -0500
@@ -253,7 +253,7 @@
         for (key=(struct sort_key *)TT.key_list; !retval && key;
              key = key->next_key)
         {
-            flags = (key->flags) ? key->flags : toys.optflags;
+            flags = key->flags ? key->flags : toys.optflags;
 
             // Chop out and modify key chunks, handling -dfib
 
@@ -272,8 +272,10 @@
     } else retval = compare_values(flags, *xx, *yy);
 
     // Perform fallback sort if necessary
-
-    if (!retval && !(toys.optflags&FLAG_s)) retval = strcmp(*xx, *yy);
+    if (!retval && !(CFG_SORT_BIG && (toys.optflags&FLAG_s))) {
+        retval = strcmp(*xx, *yy);
+        flags = toys.optflags;
+    }
 
     return retval * ((flags&FLAG_r) ? -1 : 1);
 }