static inline size_t newgap(size_t gap)
{
- gap = (gap*10)/13;
- if ( gap == 9 || gap == 10 )
- gap = 11;
+ gap = (gap * 10) / 13;
+ if (gap == 9 || gap == 10)
+ gap = 11;
- if ( gap < 1 )
- gap = 1;
- return gap;
+ if (gap < 1)
+ gap = 1;
+ return gap;
}
-void qsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *))
+void qsort(void *base, size_t nmemb, size_t size,
+ int (*compar) (const void *, const void *))
{
- size_t gap = nmemb;
- size_t i, j;
- char *p1, *p2;
- int swapped;
+ size_t gap = nmemb;
+ size_t i, j;
+ char *p1, *p2;
+ int swapped;
- do {
- gap = newgap(gap);
- swapped = 0;
+ do {
+ gap = newgap(gap);
+ swapped = 0;
- for ( i = 0, p1 = base ; i < nmemb-gap ; i++, p1 += size ) {
- j = i+gap;
- if ( compar(p1, p2 = (char *)base+j*size) > 0 ) {
- memswap(p1, p2, size);
- swapped = 1;
- }
- }
- } while ( gap > 1 || swapped );
+ for (i = 0, p1 = base; i < nmemb - gap; i++, p1 += size) {
+ j = i + gap;
+ if (compar(p1, p2 = (char *)base + j * size) > 0) {
+ memswap(p1, p2, size);
+ swapped = 1;
+ }
+ }
+ } while (gap > 1 || swapped);
}