Rolling in Ians and other changes
[yaffs2.git] / yaffs_qsort.c
index 296701d2e41fe606870134d059d49fb846cf77a8..0429838de8e5b4cfc1dd5b78ed1056db83b8ca8c 100644 (file)
@@ -74,9 +74,13 @@ med3(char *a, char *b, char *c, int (*cmp)(const void *, const void *))
               :(cmp(b, c) > 0 ? b : (cmp(a, c) < 0 ? a : c ));
 }
 
+#ifndef min
 #define min(a,b) (((a) < (b)) ? (a) : (b))
+#endif
+
 void
-qsort(void *aa, size_t n, size_t es, int (*cmp)(const void *, const void *))
+yaffs_qsort(void *aa, size_t n, size_t es,
+       int (*cmp)(const void *, const void *))
 {
        char *pa, *pb, *pc, *pd, *pl, *pm, *pn;
        int d, r, swaptype, swap_cnt;
@@ -145,12 +149,12 @@ loop:     SWAPINIT(a, es);
        r = min((long)(pd - pc), (long)(pn - pd - es));
        vecswap(pb, pn - r, r);
        if ((r = pb - pa) > es)
-               qsort(a, r / es, es, cmp);
+               yaffs_qsort(a, r / es, es, cmp);
        if ((r = pd - pc) > es) { 
                /* Iterate rather than recurse to save stack space */
                a = pn - r;
                n = r / es;
                goto loop;
        }
-/*             qsort(pn - r, r / es, es, cmp);*/
+/*             yaffs_qsort(pn - r, r / es, es, cmp);*/
 }