From 7a11addee861ad1085843043d318f8d9a2cf3615 Mon Sep 17 00:00:00 2001 From: Ruediger Meier Date: Thu, 25 Feb 2016 18:29:48 +0100 Subject: 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 --- libfdisk/src/sun.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'libfdisk') 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) { -- cgit v1.2.3-55-g7522