• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1  #undef G_DISABLE_ASSERT
2  #undef G_LOG_DOMAIN
3  
4  #include <glib.h>
5  
6  #define SIZE 100000
7  
8  guint32 array[SIZE];
9  
10  static gint
sort(gconstpointer a,gconstpointer b,gpointer user_data)11  sort (gconstpointer a, gconstpointer b, gpointer user_data)
12  {
13    return *(guint32*)a < *(guint32*)b ? -1 : 1;
14  }
15  
16  int
main(int argc,char ** argv)17  main (int argc, char **argv)
18  {
19    int i;
20  
21    for (i = 0; i < SIZE; i++)
22      array[i] = g_random_int ();
23  
24    g_qsort_with_data (array, SIZE, sizeof (guint32), sort, NULL);
25  
26    for (i = 0; i < SIZE - 1; i++)
27      g_assert (array[i] <= array[i+1]);
28  
29    /* 0 elements is a valid case */
30    g_qsort_with_data (array, 0, sizeof (guint32), sort, NULL);
31  
32    return 0;
33  }
34