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 |
11 | sort (gconstpointer a, gconstpointer b, gpointer user_data) |
12 | { |
13 | return *(guint32*)a < *(guint32*)b ? -1 : 1; |
14 | } |
15 | |
16 | int |
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 (pbase: array, SIZE, size: sizeof (guint32), compare_func: 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 (pbase: array, total_elems: 0, size: sizeof (guint32), compare_func: sort, NULL); |
31 | |
32 | return 0; |
33 | } |
34 | |