X-Git-Url: https://git.saurik.com/apple/libc.git/blobdiff_plain/5f4d86c1219d56604890d932a3152b3b5dd15b55..34e8f8296870d0e8695f90e1a54240a589d41312:/stdlib/FreeBSD/merge_b.c.patch diff --git a/stdlib/FreeBSD/merge_b.c.patch b/stdlib/FreeBSD/merge_b.c.patch new file mode 100644 index 0000000..7bf8e65 --- /dev/null +++ b/stdlib/FreeBSD/merge_b.c.patch @@ -0,0 +1,92 @@ +--- 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 + + 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;