aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2022-07-29 16:05:50 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2022-07-29 16:05:50 +0200
commit00f2a35b835c6f49617f5379073e9063e7e683ce (patch)
tree114bcd038da16a8c9cd7919adbd59255c62487d8
parent9b6eb2a8ef4f1cfeeea821e270d49ef9c6ae4503 (diff)
downloadbusybox-w32-00f2a35b835c6f49617f5379073e9063e7e683ce.tar.gz
busybox-w32-00f2a35b835c6f49617f5379073e9063e7e683ce.tar.bz2
busybox-w32-00f2a35b835c6f49617f5379073e9063e7e683ce.zip
sort: fix -k2M (wasn't skipping leading whitespace)
function old new delta compare_keys 848 862 +14 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--coreutils/sort.c4
-rwxr-xr-xtestsuite/sort.tests11
2 files changed, 13 insertions, 2 deletions
diff --git a/coreutils/sort.c b/coreutils/sort.c
index 9aac656fe..80b578fc2 100644
--- a/coreutils/sort.c
+++ b/coreutils/sort.c
@@ -357,9 +357,9 @@ static int compare_keys(const void *xarg, const void *yarg)
357 int dx; 357 int dx;
358 char *xx, *yy; 358 char *xx, *yy;
359 359
360 xx = strptime(x, "%b", &thyme); 360 xx = strptime(skip_whitespace(x), "%b", &thyme);
361 dx = thyme.tm_mon; 361 dx = thyme.tm_mon;
362 yy = strptime(y, "%b", &thyme); 362 yy = strptime(skip_whitespace(y), "%b", &thyme);
363 if (!xx) 363 if (!xx)
364 retval = (!yy) ? 0 : -1; 364 retval = (!yy) ? 0 : -1;
365 else if (!yy) 365 else if (!yy)
diff --git a/testsuite/sort.tests b/testsuite/sort.tests
index ff33e21b4..fb2cc91bd 100755
--- a/testsuite/sort.tests
+++ b/testsuite/sort.tests
@@ -219,4 +219,15 @@ testing "sort -h" \
219 219
220# testing "description" "command(s)" "result" "infile" "stdin" 220# testing "description" "command(s)" "result" "infile" "stdin"
221 221
222testing "sort -k2,2M" \
223"sort -k2,2M input" "\
2243 March
2252 April
2261 May
227" "\
2282 April
2291 May
2303 March
231" ""
232
222exit $FAILCOUNT 233exit $FAILCOUNT