summaryrefslogtreecommitdiffstats
path: root/libfdisk
diff options
context:
space:
mode:
authorRuediger Meier2016-02-25 18:29:48 +0100
committerRuediger Meier2016-03-07 23:28:48 +0100
commit7a11addee861ad1085843043d318f8d9a2cf3615 (patch)
tree32b03cb79dcaa933ecbfb2ec847995bc50d54470 /libfdisk
parentlib: include sys/stat.h for struct stat (diff)
downloadkernel-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.c5
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)
{