diff options
author | Ruediger Meier | 2016-02-25 18:29:48 +0100 |
---|---|---|
committer | Ruediger Meier | 2016-03-07 23:28:48 +0100 |
commit | 7a11addee861ad1085843043d318f8d9a2cf3615 (patch) | |
tree | 32b03cb79dcaa933ecbfb2ec847995bc50d54470 /libfdisk | |
parent | lib: include sys/stat.h for struct stat (diff) | |
download | kernel-qcow2-util-linux-7a11addee861ad1085843043d318f8d9a2cf3615.tar.gz kernel-qcow2-util-linux-7a11addee861ad1085843043d318f8d9a2cf3615.tar.xz kernel-qcow2-util-linux-7a11addee861ad1085843043d318f8d9a2cf3615.zip |
fdisk: sun, undef HAVE_QSORT_R for non-Linux
Linux/glibc's qsort_r(3) has differently ordered arguments than BSD
implementations. For now we undef that quick and dirty.
The real fix would be to make configure check for qsort_r more
carefully (AC_CHECK_FUNCS with AC_LANG_WERROR). Moreover one could
add a wrapper to swap arguments, see
https://github.com/noporpoise/sort_r/blob/master/sort_r.h
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
Diffstat (limited to 'libfdisk')
-rw-r--r-- | libfdisk/src/sun.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libfdisk/src/sun.c b/libfdisk/src/sun.c index d5c76ae80..a50076a87 100644 --- a/libfdisk/src/sun.c +++ b/libfdisk/src/sun.c @@ -378,6 +378,11 @@ static void fetch_sun(struct fdisk_context *cxt, } } +/* non-Linux qsort_r(3) has usually differently ordered arguments */ +#if !defined (__linux__) || !defined (__GLIBC__) +# undef HAVE_QSORT_R +#endif + #ifdef HAVE_QSORT_R static int verify_sun_cmp(int *a, int *b, void *data) { |