]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/kern/qsort.c
xnu-792.tar.gz
[apple/xnu.git] / bsd / kern / qsort.c
index d1505f175c7bdd5d3e79ea02f846164c79576d6d..9ac15c01ba3d62e7b8d09943250eab7deb2b1d4e 100644 (file)
@@ -60,8 +60,8 @@
 #include <sys/types.h>
 //#include <stdlib.h>
 
-static inline char     *med3 __P((char *, char *, char *, int (*)()));
-static inline void      swapfunc __P((char *, char *, int, int));
+static inline char     *med3(char *, char *, char *, int (*)());
+static inline void      swapfunc(char *, char *, int, int);
 
 #define min(a, b)      (a) < (b) ? a : b
 
@@ -126,16 +126,16 @@ qsort(a, n, es, cmp)
 loop:  SWAPINIT(a, es);
        swap_cnt = 0;
        if (n < 7) {
-               for (pm = a + es; pm < (char *) a + n * es; pm += es)
+               for (pm = (char *)a + es; pm < (char *) a + n * es; pm += es)
                        for (pl = pm; pl > (char *) a && cmp(pl - es, pl) > 0;
                             pl -= es)
                                swap(pl, pl - es);
                return;
        }
-       pm = a + (n / 2) * es;
+       pm = (char *)a + (n / 2) * es;
        if (n > 7) {
                pl = a;
-               pn = a + (n - 1) * es;
+               pn = (char *)a + (n - 1) * es;
                if (n > 40) {
                        d = (n / 8) * es;
                        pl = med3(pl, pl + d, pl + 2 * d, cmp);
@@ -145,9 +145,9 @@ loop:       SWAPINIT(a, es);
                pm = med3(pl, pm, pn, cmp);
        }
        swap(a, pm);
-       pa = pb = a + es;
+       pa = pb = (char *)a + es;
 
-       pc = pd = a + (n - 1) * es;
+       pc = pd = (char *)a + (n - 1) * es;
        for (;;) {
                while (pb <= pc && (r = cmp(pb, a)) <= 0) {
                        if (r == 0) {
@@ -173,14 +173,14 @@ loop:     SWAPINIT(a, es);
                pc -= es;
        }
        if (swap_cnt == 0) {  /* Switch to insertion sort */
-               for (pm = a + es; pm < (char *) a + n * es; pm += es)
+               for (pm = (char *)a + es; pm < (char *) a + n * es; pm += es)
                        for (pl = pm; pl > (char *) a && cmp(pl - es, pl) > 0; 
                             pl -= es)
                                swap(pl, pl - es);
                return;
        }
 
-       pn = a + n * es;
+       pn = (char *)a + n * es;
        r = min(pa - (char *)a, pb - pa);
        vecswap(a, pb - r, r);
        r = min(pd - pc, pn - pd - es);