glib/gqsort.c: Fix C99ism/GCCism
authorChun-wei Fan <fanchunwei@src.gnome.org>
Tue, 20 Mar 2012 05:19:11 +0000 (13:19 +0800)
committerMatthias Clasen <mclasen@redhat.com>
Wed, 21 Mar 2012 02:29:50 +0000 (22:29 -0400)
-There were a number of variables that were declared in the middle of
 the block, so move these declarations to the start of the block
-There was a use of mempcpy, but it is a GCC extension, so use memcpy since
 we didn't care about the return value of the call to mempcpy.

https://bugzilla.gnome.org/show_bug.cgi?id=672095

glib/gqsort.c

index cd32181..fc699ea 100644 (file)
@@ -178,7 +178,7 @@ msort_with_tmp (const struct msort_param *p, void *b, size_t n)
            }
          else
            {
-             mempcpy (tmp, b2, s);
+             memcpy (tmp, b2, s);
              tmp += s;
              b2 += s;
              --n2;
@@ -226,6 +226,8 @@ msort_r (void *b, size_t n, size_t s, GCompareDataFunc cmp, void *arg)
       void **tp = (void **) (p.t + n * sizeof (void *));
       void **t = tp;
       void *tmp_storage = (void *) (tp + n);
+      char *kp;
+      size_t i;
 
       while ((void *) t < tmp_storage)
        {
@@ -238,8 +240,6 @@ msort_r (void *b, size_t n, size_t s, GCompareDataFunc cmp, void *arg)
 
       /* tp[0] .. tp[n - 1] is now sorted, copy around entries of
         the original array.  Knuth vol. 3 (2nd ed.) exercise 5.2-10.  */
-      char *kp;
-      size_t i;
       for (i = 0, ip = (char *) b; i < n; i++, ip += s)
        if ((kp = tp[i]) != ip)
          {