aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--coreutils/sort.c4
-rwxr-xr-xtestsuite/sort.tests13
2 files changed, 16 insertions, 1 deletions
diff --git a/coreutils/sort.c b/coreutils/sort.c
index 0cbb6f597..9ff777851 100644
--- a/coreutils/sort.c
+++ b/coreutils/sort.c
@@ -380,7 +380,9 @@ static int compare_keys(const void *xarg, const void *yarg)
380 380
381 /* If x > y, 1, else -1 */ 381 /* If x > y, 1, else -1 */
382 retval = (x32 > y32) * 2 - 1; 382 retval = (x32 > y32) * 2 - 1;
383 } else 383 /* Here, -r has no effect! */
384 return retval;
385 }
384 if (!(option_mask32 & FLAG_no_tie_break)) { 386 if (!(option_mask32 & FLAG_no_tie_break)) {
385 /* fallback sort */ 387 /* fallback sort */
386 flags = option_mask32; 388 flags = option_mask32;
diff --git a/testsuite/sort.tests b/testsuite/sort.tests
index c51a8e475..5375f93de 100755
--- a/testsuite/sort.tests
+++ b/testsuite/sort.tests
@@ -175,6 +175,19 @@ testing "sort file in place" \
175111 175111
176" "" 176" ""
177 177
178testing "sort -sr (stable and reverse) does NOT reverse 'stable' ordering" \
179"sort -k2 -r -s input" "\
180b 2
181d 2
182a 1
183c 1
184" "\
185a 1
186b 2
187c 1
188d 2
189" ""
190
178# testing "description" "command(s)" "result" "infile" "stdin" 191# testing "description" "command(s)" "result" "infile" "stdin"
179 192
180exit $FAILCOUNT 193exit $FAILCOUNT