Fix bug found by Joey Hess and forwarded by Bastian Bunk. Add Joey Hess's test case to the testsuite, plus another one that would have been broken by the first attempt at a fix.
This commit was genuinely broken at the time (not related to our build system): scripts/config/mkconfigs.c (2005-08-01 - 2006-10-05 arasi) uretilen bbconfigopts.h icine .config satirlarini kacissiz, ham newline'larla gömüyordu - gecerli C degildi, busybox'un kendi bb_mkdep araci bile parse edemiyordu (7d219aab7 ile duzeltildi, mkconfigs shell scripte cevrildi)
No binary (build failed)
—
(log yok)
| @@ -74,9 +74,7 @@ static char *get_key(char *str, struct sort_key *key, int flags) | |
| for(i=1;i<key->range[2*j]+j;i++) { | |
| /* Skip leading blanks or first separator */ | |
| if(str[end]) { | |
| - | if(key_separator) { |
| - | if(str[end]==key_separator) end++; |
| - | } else if(isspace(str[end])) |
| + | if(!key_separator && isspace(str[end])) |
| while(isspace(str[end])) end++; | |
| } | |
| /* Skip body of key */ | |
| @@ -1,4 +1,4 @@ | |
| - | #!/bin/sh |
| + | #!/bin/bash |
| # SUSv3 compliant sort tests. | |
| # Copyright 2005 by Rob Landley <[email protected]> | |
| @@ -66,4 +66,18 @@ testing "sort key range with multiple options" "sort -k2,3rn input" \ | |
| egg 1 2 papyrus | |
| " "$data" "" | |
| + | testing "sort key doesn't strip leading blanks, disables fallback global sort" \ |
| + | "sort -n -k2 -t ' '" " a \n 1 \n 2 \n" "" " 2 \n 1 \n a \n" |
| + | |
| + | testing "sort key edge case with -t" "sort -n -k4 -t/" \ |
| + | "/usr/lib/finish-install.d/1 |
| + | /usr/lib/finish-install.d/4 |
| + | /usr/lib/prebaseconfig.d/2 |
| + | /usr/lib/prebaseconfig.d/6 |
| + | " "" "/usr/lib/finish-install.d/1 |
| + | /usr/lib/prebaseconfig.d/2 |
| + | /usr/lib/finish-install.d/4 |
| + | /usr/lib/prebaseconfig.d/6 |
| + | " |
| + | |
| exit $FAILCOUNT | |