+++ /dev/null
---- merge_b.c.orig 2008-05-21 02:51:18.000000000 -0700
-+++ merge_b.c 2008-05-21 02:54:59.000000000 -0700
-@@ -57,9 +57,9 @@ __FBSDID("$FreeBSD: src/lib/libc/stdlib/
- #include <string.h>
-
- static void setup(u_char *, u_char *, size_t, size_t,
-- int (*)(const void *, const void *));
-+ int (^)(const void *, const void *));
- static void insertionsort(u_char *, size_t, size_t,
-- int (*)(const void *, const void *));
-+ int (^)(const void *, const void *));
-
- #define ISIZE sizeof(int)
- #define PSIZE sizeof(u_char *)
-@@ -95,11 +95,11 @@ static void insertionsort(u_char *, size
- * Arguments are as for qsort.
- */
- int
--mergesort(base, nmemb, size, cmp)
-+mergesort_b(base, nmemb, size, cmp)
- void *base;
- size_t nmemb;
- size_t size;
-- int (*cmp)(const void *, const void *);
-+ int (^cmp)(const void *, const void *);
- {
- size_t i;
- int sense;
-@@ -141,7 +141,7 @@ mergesort(base, nmemb, size, cmp)
- p2 = *EVAL(p2);
- l2 = list1 + (p2 - list2);
- while (f1 < l1 && f2 < l2) {
-- if ((*cmp)(f1, f2) <= 0) {
-+ if (cmp(f1, f2) <= 0) {
- q = f2;
- b = f1, t = l1;
- sense = -1;
-@@ -160,12 +160,12 @@ mergesort(base, nmemb, size, cmp)
- EXPONENTIAL: for (i = size; ; i <<= 1)
- if ((p = (b + i)) >= t) {
- if ((p = t - size) > b &&
-- (*cmp)(q, p) <= sense)
-+ cmp(q, p) <= sense)
- t = p;
- else
- b = p;
- break;
-- } else if ((*cmp)(q, p) <= sense) {
-+ } else if (cmp(q, p) <= sense) {
- t = p;
- if (i == size)
- big = 0;
-@@ -174,14 +174,14 @@ EXPONENTIAL: for (i = size; ; i <<
- b = p;
- while (t > b+size) {
- i = (((t - b) / size) >> 1) * size;
-- if ((*cmp)(q, p = b + i) <= sense)
-+ if (cmp(q, p = b + i) <= sense)
- t = p;
- else
- b = p;
- }
- goto COPY;
- FASTCASE: while (i > size)
-- if ((*cmp)(q,
-+ if (cmp(q,
- p = b + (i >>= 1)) <= sense)
- t = p;
- else
-@@ -261,10 +261,11 @@ COPY: b = t;
- void
- setup(list1, list2, n, size, cmp)
- size_t n, size;
-- int (*cmp)(const void *, const void *);
-+ int (^cmp)(const void *, const void *);
- u_char *list1, *list2;
- {
-- int i, length, size2, tmp, sense;
-+ size_t i, size2;
-+ int length, tmp, sense;
- u_char *f1, *f2, *s, *l2, *last, *p2;
-
- size2 = size*2;
-@@ -336,7 +337,7 @@ static void
- insertionsort(a, n, size, cmp)
- u_char *a;
- size_t n, size;
-- int (*cmp)(const void *, const void *);
-+ int (^cmp)(const void *, const void *);
- {
- u_char *ai, *s, *t, *u, tmp;
- int i;