sl@0: /* Portion Copyright © 2008-09 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.*/ sl@0: #undef G_DISABLE_ASSERT sl@0: #undef G_LOG_DOMAIN sl@0: sl@0: #include <glib.h> sl@0: sl@0: #include <stdio.h> sl@0: #ifdef __SYMBIAN32__ sl@0: #include "mrt2_glib2_test.h" sl@0: #endif /*__SYMBIAN32__*/ sl@0: sl@0: sl@0: #define SIZE 100000 sl@0: sl@0: guint32 array[SIZE]; sl@0: sl@0: static gint sl@0: sort (gconstpointer a, gconstpointer b, gpointer user_data) sl@0: { sl@0: return *(guint32*)a < *(guint32*)b ? -1 : 1; sl@0: } sl@0: sl@0: int sl@0: main () sl@0: { sl@0: int i; sl@0: sl@0: #ifdef __SYMBIAN32__ sl@0: g_log_set_handler (NULL, G_LOG_FLAG_FATAL| G_LOG_FLAG_RECURSION | G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING | G_LOG_LEVEL_MESSAGE | G_LOG_LEVEL_INFO | G_LOG_LEVEL_DEBUG, &mrtLogHandler, NULL); sl@0: g_set_print_handler(mrtPrintHandler); sl@0: #endif /*__SYMBIAN32__*/ sl@0: sl@0: sl@0: for (i = 0; i < SIZE; i++) sl@0: array[i] = g_random_int (); sl@0: sl@0: g_qsort_with_data (array, SIZE, sizeof (guint32), sort, NULL); sl@0: sl@0: for (i = 0; i < SIZE - 1; i++) sl@0: g_assert (array[i] <= array[i+1]); sl@0: sl@0: /* 0 elemenents is a valid case */ sl@0: g_qsort_with_data (array, 0, sizeof (guint32), sort, NULL); sl@0: sl@0: #ifdef __SYMBIAN32__ sl@0: testResultXml("qsort-test"); sl@0: #endif /* EMULATOR */ sl@0: return 0; sl@0: }