[msvc] Update csproj files
[mono.git] / eglib / src / gptrarray.c
index 4561855cd063f8e3c78dbc22a4174722cf217ca5..d3e540733bd1c896a68f42fe372bb27f0e2b49eb 100644 (file)
@@ -126,7 +126,7 @@ g_ptr_array_remove_index(GPtrArray *array, guint index)
        gpointer removed_node;
        
        g_return_val_if_fail(array != NULL, NULL);
-       g_return_val_if_fail(index >= 0 || index < array->len, NULL);
+       g_return_val_if_fail(index < array->len, NULL);
 
        removed_node = array->pdata[index];
 
@@ -147,7 +147,7 @@ g_ptr_array_remove_index_fast(GPtrArray *array, guint index)
        gpointer removed_node;
 
        g_return_val_if_fail(array != NULL, NULL);
-       g_return_val_if_fail(index >= 0 || index < array->len, NULL);
+       g_return_val_if_fail(index < array->len, NULL);
 
        removed_node = array->pdata[index];
 
@@ -217,96 +217,6 @@ g_ptr_array_sort(GPtrArray *array, GCompareFunc compare)
        qsort(array->pdata, array->len, sizeof(gpointer), compare);
 }
 
-static void
-g_qsort_swap (char *a, char *b, size_t n)
-{
-       char *an = a + n;
-       char tmp;
-       
-       do {
-               tmp = *a;
-               *a++ = *b;
-               *b++ = tmp;
-       } while (a < an);
-}
-
-static char *
-g_qsort_median (char *a, char *b, char *c, GCompareDataFunc compare, gpointer user_data)
-{
-       if (compare (a, b, user_data) < 0) {
-               /* a < b < c */
-               if (compare (b, c, user_data) < 0)
-                       return b;
-               
-               /* a < c < b */
-               if (compare (a, c, user_data) < 0)
-                       return c;
-               
-               /* c < a < b */
-               return a;
-       } else {
-               /* b < a < c */
-               if (compare (a, c, user_data) < 0)
-                       return a;
-               
-               /* b < c < a */
-               if (compare (b, c, user_data) < 0)
-                       return c;
-               
-               /* c < b < a */
-               return b;
-       }
-}
-
-void
-g_qsort_with_data (gpointer base, size_t nmemb, size_t size, GCompareDataFunc compare, gpointer user_data)
-{
-       char *middle = ((char *) base) + (nmemb / 2) * size;
-       char *last = ((char *) base) + (nmemb - 1) * size;
-       char *first = (char *) base;
-       register char *i = first + size;
-       register char *k = last;
-       register char *pivot;
-       
-       if (nmemb <= 1)
-               return;
-       
-       /* determine which element contains the median value */
-       pivot = g_qsort_median (first, middle, last, compare, user_data);
-       
-       if (pivot != first) {
-               /* swap pivot value into first element (so the location stays constant) */
-               g_qsort_swap (first, pivot, size);
-               pivot = first;
-       }
-       
-       do {
-               /* find the first element with a value > pivot value */
-               while (i < k && compare (i, pivot, user_data) <= 0)
-                       i += size;
-               
-               /* find the last element with a value <= pivot value */
-               while (k>= i && compare (k, pivot, user_data) > 0)
-                       k -= size;
-               
-               if (k <= i)
-                       break;
-               
-               g_qsort_swap (i, k, size);
-       } while (1);
-       
-       if (k != pivot) {
-               /* swap the pivot with the last element in the first partition */
-               g_qsort_swap (pivot, k, size);
-       }
-       
-       /* sort the first partition */
-       g_qsort_with_data (first, (k - first) / size, size, compare, user_data);
-       
-       /* sort the second partition */
-       g_qsort_with_data (k + size, (last - k) / size, size, compare, user_data);
-}
-
 void
 g_ptr_array_sort_with_data (GPtrArray *array, GCompareDataFunc compare, gpointer user_data)
 {