diff options
author | Denys Vlasenko | 2022-07-29 16:05:50 +0200 |
---|---|---|
committer | Denys Vlasenko | 2022-07-29 16:05:50 +0200 |
commit | 00f2a35b835c6f49617f5379073e9063e7e683ce (patch) | |
tree | 114bcd038da16a8c9cd7919adbd59255c62487d8 | |
parent | 9b6eb2a8ef4f1cfeeea821e270d49ef9c6ae4503 (diff) | |
download | busybox-00f2a35b835c6f49617f5379073e9063e7e683ce.zip busybox-00f2a35b835c6f49617f5379073e9063e7e683ce.tar.gz |
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.c | 4 | ||||
-rwxr-xr-x | testsuite/sort.tests | 11 |
2 files changed, 13 insertions, 2 deletions
diff --git a/coreutils/sort.c b/coreutils/sort.c index 9aac656..80b578f 100644 --- a/coreutils/sort.c +++ b/coreutils/sort.c @@ -357,9 +357,9 @@ static int compare_keys(const void *xarg, const void *yarg) int dx; char *xx, *yy; - xx = strptime(x, "%b", &thyme); + xx = strptime(skip_whitespace(x), "%b", &thyme); dx = thyme.tm_mon; - yy = strptime(y, "%b", &thyme); + yy = strptime(skip_whitespace(y), "%b", &thyme); if (!xx) retval = (!yy) ? 0 : -1; else if (!yy) diff --git a/testsuite/sort.tests b/testsuite/sort.tests index ff33e21..fb2cc91 100755 --- a/testsuite/sort.tests +++ b/testsuite/sort.tests @@ -219,4 +219,15 @@ testing "sort -h" \ # testing "description" "command(s)" "result" "infile" "stdin" +testing "sort -k2,2M" \ +"sort -k2,2M input" "\ +3 March +2 April +1 May +" "\ +2 April +1 May +3 March +" "" + exit $FAILCOUNT |