sort: fix sort -s -u, closes 14871
function old new delta sort_main 851 856 +5 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
00f2a35b83
commit
5479c435fd
@ -652,11 +652,12 @@ int sort_main(int argc UNUSED_PARAM, char **argv)
|
||||
/* Handle -u */
|
||||
if (option_mask32 & FLAG_u) {
|
||||
int j = 0;
|
||||
/* coreutils 6.3 drop lines for which only key is the same
|
||||
* -- disabling last-resort compare, or else compare_keys()
|
||||
* will be the same only for completely identical lines.
|
||||
/* coreutils 6.3 drop lines for which only key is the same:
|
||||
* - disabling last-resort compare, or else compare_keys()
|
||||
* will be the same only for completely identical lines
|
||||
* - disabling -s (same reasons)
|
||||
*/
|
||||
option_mask32 |= FLAG_no_tie_break;
|
||||
option_mask32 = (option_mask32 | FLAG_no_tie_break) & (~FLAG_s);
|
||||
for (i = 1; i < linecount; i++) {
|
||||
if (compare_keys(&lines[j], &lines[i]) == 0)
|
||||
free(lines[i]);
|
||||
|
@ -230,4 +230,14 @@ testing "sort -k2,2M" \
|
||||
3 March
|
||||
" ""
|
||||
|
||||
testing "sort -s -u" \
|
||||
"sort -s -u -k 2 input" "\
|
||||
z a
|
||||
z b
|
||||
" "\
|
||||
z b
|
||||
a b
|
||||
z a
|
||||
a a" ""
|
||||
|
||||
exit $FAILCOUNT
|
||||
|
Loading…
Reference in New Issue
Block a user