sort: in -s handling, return 1/-1, not 1/0 compare result

function                                             old     new   delta
compare_keys                                         794     795      +1

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2018-02-22 10:54:55 +01:00
parent 2af5e3fac3
commit 427ae18348

View File

@ -345,7 +345,7 @@ static int compare_keys(const void *xarg, const void *yarg)
/* So far lines are "the same" */
if (option_mask32 & FLAG_s) {
/* "Stable sort": later line is "smaller",
/* "Stable sort": later line is "greater than",
* IOW: do not allow qsort() to swap equal lines.
*/
uint32_t *p32;
@ -362,7 +362,8 @@ static int compare_keys(const void *xarg, const void *yarg)
p32 = (void*)(line + len);
y32 = *p32;
retval = x32 > y32;
/* If x > y, 1, else -1 */
retval = (x32 > y32) * 2 - 1;
} else
if (!(option_mask32 & FLAG_no_tie_break)) {
/* fallback sort */