Index: lib/libc/stdlib/qsort.c =================================================================== --- lib/libc/stdlib/qsort.c (revision 272939) +++ lib/libc/stdlib/qsort.c (working copy) @@ -59,8 +59,9 @@ } while (--i > 0); \ } -#define SWAPINIT(a, es) swaptype = ((char *)a - (char *)0) % sizeof(long) || \ - es % sizeof(long) ? 2 : es == sizeof(long)? 0 : 1; +#define SWAPINIT(a, es) swaptype = ((char *)a - (char *)0) % sizeof(int) || \ + es % sizeof(int) ? 2 : ((char *)a - (char *)0) % sizeof(long) ? 1 : \ + es != sizeof(long); static inline void swapfunc(a, b, n, swaptype) @@ -68,7 +69,7 @@ int n, swaptype; { if(swaptype <= 1) - swapcode(long, a, b, n) + swapcode(int, a, b, n) else swapcode(char, a, b, n) }