--- libfdisk/src/sun.c.orig	2014-01-20 13:25:31.183846196 +0100
+++ libfdisk/src/sun.c	2014-02-11 03:26:16.153979437 +0100
@@ -48,6 +48,8 @@ static struct fdisk_parttype sun_parttyp
 	{ 0, NULL }
 };
 
+static unsigned int *verify_sun_starts;
+
 /* return poiter buffer with on-disk data */
 static inline struct sun_disklabel *self_disklabel(struct fdisk_context *cxt)
 {
@@ -361,10 +363,8 @@ static void fetch_sun(struct fdisk_conte
 	}
 }
 
-static int verify_sun_cmp(int *a, int *b, void *data)
+static int verify_sun_cmp(int *a, int *b)
 {
-    unsigned int *verify_sun_starts = (unsigned int *) data;
-
     if (*a == -1)
 	    return 1;
     if (*b == -1)
@@ -379,7 +379,6 @@ static int sun_verify_disklabel(struct f
     uint32_t starts[SUN_MAXPARTITIONS], lens[SUN_MAXPARTITIONS], start, stop;
     uint32_t i,j,k,starto,endo;
     int array[SUN_MAXPARTITIONS];
-    unsigned int *verify_sun_starts;
 
     assert(cxt);
     assert(cxt->label);
@@ -427,9 +426,8 @@ static int sun_verify_disklabel(struct f
         else
             array[i] = -1;
     }
-    qsort_r(array,ARRAY_SIZE(array),sizeof(array[0]),
-	  (int (*)(const void *,const void *,void *)) verify_sun_cmp,
-	  verify_sun_starts);
+    qsort(array,ARRAY_SIZE(array),sizeof(array[0]),
+	  (int (*)(const void *,const void *)) verify_sun_cmp);
 
     if (array[0] == -1) {
 	fdisk_info(cxt, _("No partitions defined."));
