[Bug 135718] [patch] enhance qsort(3) to properly handle 32-bit aligned data on 64-bit systems

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sat Feb 7 02:49:55 UTC 2015


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=135718

--- Comment #7 from Andrey A. Chernov <ache at FreeBSD.org> ---
4) swap(a, b) macro needs to be fixed too:

#define swap(a, b)                                      \
        if (swaptype_long == 0) {                       \
                long t = *(long *)(a);                  \
                *(long *)(a) = *(long *)(b);            \
                *(long *)(b) = t;                       \
        } else if (swaptype_int == 0) {                 \
                long t = *(int *)(a);                   \
                *(int *)(a) = *(int *)(b);              \
                *(int *)(b) = t;                        \
        } else                                          \
                swapfunc(a, b, es, swaptype)

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list