summaryrefslogtreecommitdiff
path: root/grailsort.c
diff options
context:
space:
mode:
Diffstat (limited to 'grailsort.c')
-rw-r--r--grailsort.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/grailsort.c b/grailsort.c
index 67528ca..8d69b97 100644
--- a/grailsort.c
+++ b/grailsort.c
@@ -19,9 +19,9 @@ size_t merge(char *buf, char *base, size_t anmel, size_t bnmel, size_t width, cm
{
char *a = buf;
char *b = base + anmel * width;
- size_t sorted = binary_search(b, base, anmel, width, cmp);
- base += sorted * width;
- anmel -= sorted;
+ size_t sorted;
+
+ for (sorted = 0; anmel && bnmel && cmp(base, b) <= 0; sorted++, anmel--) base += width;
swap(base, a, anmel * width);