From 6385f0f1f8514cb1fcbbc8fe71da38796ecdbaea Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Sun, 7 Dec 2014 14:31:17 +0000 Subject: [PATCH] qsort: fix sort order From: Will Sowerbutts --- Library/libs/qsort.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Library/libs/qsort.c b/Library/libs/qsort.c index 3dbebaa5..7462d19f 100644 --- a/Library/libs/qsort.c +++ b/Library/libs/qsort.c @@ -38,10 +38,10 @@ static void _wqsort(void *basep, int lo, int hi, base[i] = *p; while (i < j) { - while (((*cmp) ((base + j), p)) <= 0) + while (((*cmp) ((base + j), p)) > 0) --j; base[i] = base[j]; - while ((i < j) && (((*cmp) ((base + i), p)) > 0)) + while ((i < j) && (((*cmp) ((base + i), p)) <= 0)) ++i; base[j] = base[i]; } @@ -75,10 +75,10 @@ static void _lqsort(long *base, int lo, int hi, int (*cmp)(const void *, const v base[i] = *p; while (i < j) { - while (((*cmp) ((base + j), p)) <= 0) + while (((*cmp) ((base + j), p)) > 0) --j; base[i] = base[j]; - while ((i < j) && (((*cmp) ((base + i), p)) > 0)) + while ((i < j) && (((*cmp) ((base + i), p)) <= 0)) ++i; base[j] = base[i]; } @@ -114,10 +114,10 @@ static void _nqsort(void *basep, int lo, int hi, int size, p = _qbuf; while (i < j) { - while (((*cmp) ((base + size * j), p)) <= 0) + while (((*cmp) ((base + size * j), p)) > 0) --j; moveitem((base + size * i), (base + size * j), size); - while ((i < j) && (((*cmp) ((base + size * i), p)) > 0)) + while ((i < j) && (((*cmp) ((base + size * i), p)) <= 0)) ++i; moveitem((base + size * j), (base + size * i), size); } -- 2.34.1