diff --git a/ChangeLog b/ChangeLog index debaa6a9a..3f2dbd963 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,39 @@ +Wed Mar 17 01:46:28 1999 Tim Janik + + * merges from glib-1-2: + +Sun Mar 14 17:50:35 1999 Tim Janik + + * gmem.c (g_mem_chunk_*): changed a bunch of g_assert() statements + to g_return_if_fail(). + (g_mem_profile): + (g_mem_chunk_print): + (g_mem_chunk_info): removed some extraneous "\n"s at the end of the log + messages. + + * gtimer.c (g_timer_*): changed a bunch of g_assert() statements + to g_return_if_fail(). + * grel.c (g_*): changed a bunch of g_assert() statements to + g_return_if_fail() and added some extra ones to check relation != NULL. + +Tue Mar 9 23:25:50 1999 Tim Janik + + * configure.in: check for working realloc (NULL,). + * gmem.c (g_realloc): use malloc() for initial allocation on systems + where realloc(NULL,) will not work (this is the case on SunOS, reported + by Tom Geiger). + +Mon Mar 8 07:42:08 1999 Tim Janik + + * ghook.c (g_hook_unref): when !hook_list->is_setup, wrap the + flag around the call to g_hook_free() to avoid spurious + warnings (happens during destruction phase). + +1999-03-02 Sebastian Wilhelmi + + * gmem.c: Fixed a stupid cut'n'paste error of mine. Thanks to + Friedrich Dominicus + 1999-03-16 Timur Bakeyev * configure.in: Fix problem with pthread_create in libc, as running diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index debaa6a9a..3f2dbd963 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,39 @@ +Wed Mar 17 01:46:28 1999 Tim Janik + + * merges from glib-1-2: + +Sun Mar 14 17:50:35 1999 Tim Janik + + * gmem.c (g_mem_chunk_*): changed a bunch of g_assert() statements + to g_return_if_fail(). + (g_mem_profile): + (g_mem_chunk_print): + (g_mem_chunk_info): removed some extraneous "\n"s at the end of the log + messages. + + * gtimer.c (g_timer_*): changed a bunch of g_assert() statements + to g_return_if_fail(). + * grel.c (g_*): changed a bunch of g_assert() statements to + g_return_if_fail() and added some extra ones to check relation != NULL. + +Tue Mar 9 23:25:50 1999 Tim Janik + + * configure.in: check for working realloc (NULL,). + * gmem.c (g_realloc): use malloc() for initial allocation on systems + where realloc(NULL,) will not work (this is the case on SunOS, reported + by Tom Geiger). + +Mon Mar 8 07:42:08 1999 Tim Janik + + * ghook.c (g_hook_unref): when !hook_list->is_setup, wrap the + flag around the call to g_hook_free() to avoid spurious + warnings (happens during destruction phase). + +1999-03-02 Sebastian Wilhelmi + + * gmem.c: Fixed a stupid cut'n'paste error of mine. Thanks to + Friedrich Dominicus + 1999-03-16 Timur Bakeyev * configure.in: Fix problem with pthread_create in libc, as running diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index debaa6a9a..3f2dbd963 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,39 @@ +Wed Mar 17 01:46:28 1999 Tim Janik + + * merges from glib-1-2: + +Sun Mar 14 17:50:35 1999 Tim Janik + + * gmem.c (g_mem_chunk_*): changed a bunch of g_assert() statements + to g_return_if_fail(). + (g_mem_profile): + (g_mem_chunk_print): + (g_mem_chunk_info): removed some extraneous "\n"s at the end of the log + messages. + + * gtimer.c (g_timer_*): changed a bunch of g_assert() statements + to g_return_if_fail(). + * grel.c (g_*): changed a bunch of g_assert() statements to + g_return_if_fail() and added some extra ones to check relation != NULL. + +Tue Mar 9 23:25:50 1999 Tim Janik + + * configure.in: check for working realloc (NULL,). + * gmem.c (g_realloc): use malloc() for initial allocation on systems + where realloc(NULL,) will not work (this is the case on SunOS, reported + by Tom Geiger). + +Mon Mar 8 07:42:08 1999 Tim Janik + + * ghook.c (g_hook_unref): when !hook_list->is_setup, wrap the + flag around the call to g_hook_free() to avoid spurious + warnings (happens during destruction phase). + +1999-03-02 Sebastian Wilhelmi + + * gmem.c: Fixed a stupid cut'n'paste error of mine. Thanks to + Friedrich Dominicus + 1999-03-16 Timur Bakeyev * configure.in: Fix problem with pthread_create in libc, as running diff --git a/ChangeLog.pre-2-12 b/ChangeLog.pre-2-12 index debaa6a9a..3f2dbd963 100644 --- a/ChangeLog.pre-2-12 +++ b/ChangeLog.pre-2-12 @@ -1,3 +1,39 @@ +Wed Mar 17 01:46:28 1999 Tim Janik + + * merges from glib-1-2: + +Sun Mar 14 17:50:35 1999 Tim Janik + + * gmem.c (g_mem_chunk_*): changed a bunch of g_assert() statements + to g_return_if_fail(). + (g_mem_profile): + (g_mem_chunk_print): + (g_mem_chunk_info): removed some extraneous "\n"s at the end of the log + messages. + + * gtimer.c (g_timer_*): changed a bunch of g_assert() statements + to g_return_if_fail(). + * grel.c (g_*): changed a bunch of g_assert() statements to + g_return_if_fail() and added some extra ones to check relation != NULL. + +Tue Mar 9 23:25:50 1999 Tim Janik + + * configure.in: check for working realloc (NULL,). + * gmem.c (g_realloc): use malloc() for initial allocation on systems + where realloc(NULL,) will not work (this is the case on SunOS, reported + by Tom Geiger). + +Mon Mar 8 07:42:08 1999 Tim Janik + + * ghook.c (g_hook_unref): when !hook_list->is_setup, wrap the + flag around the call to g_hook_free() to avoid spurious + warnings (happens during destruction phase). + +1999-03-02 Sebastian Wilhelmi + + * gmem.c: Fixed a stupid cut'n'paste error of mine. Thanks to + Friedrich Dominicus + 1999-03-16 Timur Bakeyev * configure.in: Fix problem with pthread_create in libc, as running diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index debaa6a9a..3f2dbd963 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,39 @@ +Wed Mar 17 01:46:28 1999 Tim Janik + + * merges from glib-1-2: + +Sun Mar 14 17:50:35 1999 Tim Janik + + * gmem.c (g_mem_chunk_*): changed a bunch of g_assert() statements + to g_return_if_fail(). + (g_mem_profile): + (g_mem_chunk_print): + (g_mem_chunk_info): removed some extraneous "\n"s at the end of the log + messages. + + * gtimer.c (g_timer_*): changed a bunch of g_assert() statements + to g_return_if_fail(). + * grel.c (g_*): changed a bunch of g_assert() statements to + g_return_if_fail() and added some extra ones to check relation != NULL. + +Tue Mar 9 23:25:50 1999 Tim Janik + + * configure.in: check for working realloc (NULL,). + * gmem.c (g_realloc): use malloc() for initial allocation on systems + where realloc(NULL,) will not work (this is the case on SunOS, reported + by Tom Geiger). + +Mon Mar 8 07:42:08 1999 Tim Janik + + * ghook.c (g_hook_unref): when !hook_list->is_setup, wrap the + flag around the call to g_hook_free() to avoid spurious + warnings (happens during destruction phase). + +1999-03-02 Sebastian Wilhelmi + + * gmem.c: Fixed a stupid cut'n'paste error of mine. Thanks to + Friedrich Dominicus + 1999-03-16 Timur Bakeyev * configure.in: Fix problem with pthread_create in libc, as running diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index debaa6a9a..3f2dbd963 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,39 @@ +Wed Mar 17 01:46:28 1999 Tim Janik + + * merges from glib-1-2: + +Sun Mar 14 17:50:35 1999 Tim Janik + + * gmem.c (g_mem_chunk_*): changed a bunch of g_assert() statements + to g_return_if_fail(). + (g_mem_profile): + (g_mem_chunk_print): + (g_mem_chunk_info): removed some extraneous "\n"s at the end of the log + messages. + + * gtimer.c (g_timer_*): changed a bunch of g_assert() statements + to g_return_if_fail(). + * grel.c (g_*): changed a bunch of g_assert() statements to + g_return_if_fail() and added some extra ones to check relation != NULL. + +Tue Mar 9 23:25:50 1999 Tim Janik + + * configure.in: check for working realloc (NULL,). + * gmem.c (g_realloc): use malloc() for initial allocation on systems + where realloc(NULL,) will not work (this is the case on SunOS, reported + by Tom Geiger). + +Mon Mar 8 07:42:08 1999 Tim Janik + + * ghook.c (g_hook_unref): when !hook_list->is_setup, wrap the + flag around the call to g_hook_free() to avoid spurious + warnings (happens during destruction phase). + +1999-03-02 Sebastian Wilhelmi + + * gmem.c: Fixed a stupid cut'n'paste error of mine. Thanks to + Friedrich Dominicus + 1999-03-16 Timur Bakeyev * configure.in: Fix problem with pthread_create in libc, as running diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index debaa6a9a..3f2dbd963 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,39 @@ +Wed Mar 17 01:46:28 1999 Tim Janik + + * merges from glib-1-2: + +Sun Mar 14 17:50:35 1999 Tim Janik + + * gmem.c (g_mem_chunk_*): changed a bunch of g_assert() statements + to g_return_if_fail(). + (g_mem_profile): + (g_mem_chunk_print): + (g_mem_chunk_info): removed some extraneous "\n"s at the end of the log + messages. + + * gtimer.c (g_timer_*): changed a bunch of g_assert() statements + to g_return_if_fail(). + * grel.c (g_*): changed a bunch of g_assert() statements to + g_return_if_fail() and added some extra ones to check relation != NULL. + +Tue Mar 9 23:25:50 1999 Tim Janik + + * configure.in: check for working realloc (NULL,). + * gmem.c (g_realloc): use malloc() for initial allocation on systems + where realloc(NULL,) will not work (this is the case on SunOS, reported + by Tom Geiger). + +Mon Mar 8 07:42:08 1999 Tim Janik + + * ghook.c (g_hook_unref): when !hook_list->is_setup, wrap the + flag around the call to g_hook_free() to avoid spurious + warnings (happens during destruction phase). + +1999-03-02 Sebastian Wilhelmi + + * gmem.c: Fixed a stupid cut'n'paste error of mine. Thanks to + Friedrich Dominicus + 1999-03-16 Timur Bakeyev * configure.in: Fix problem with pthread_create in libc, as running diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index debaa6a9a..3f2dbd963 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,39 @@ +Wed Mar 17 01:46:28 1999 Tim Janik + + * merges from glib-1-2: + +Sun Mar 14 17:50:35 1999 Tim Janik + + * gmem.c (g_mem_chunk_*): changed a bunch of g_assert() statements + to g_return_if_fail(). + (g_mem_profile): + (g_mem_chunk_print): + (g_mem_chunk_info): removed some extraneous "\n"s at the end of the log + messages. + + * gtimer.c (g_timer_*): changed a bunch of g_assert() statements + to g_return_if_fail(). + * grel.c (g_*): changed a bunch of g_assert() statements to + g_return_if_fail() and added some extra ones to check relation != NULL. + +Tue Mar 9 23:25:50 1999 Tim Janik + + * configure.in: check for working realloc (NULL,). + * gmem.c (g_realloc): use malloc() for initial allocation on systems + where realloc(NULL,) will not work (this is the case on SunOS, reported + by Tom Geiger). + +Mon Mar 8 07:42:08 1999 Tim Janik + + * ghook.c (g_hook_unref): when !hook_list->is_setup, wrap the + flag around the call to g_hook_free() to avoid spurious + warnings (happens during destruction phase). + +1999-03-02 Sebastian Wilhelmi + + * gmem.c: Fixed a stupid cut'n'paste error of mine. Thanks to + Friedrich Dominicus + 1999-03-16 Timur Bakeyev * configure.in: Fix problem with pthread_create in libc, as running diff --git a/acconfig.h b/acconfig.h index 6c4c1b777..5c6af0791 100644 --- a/acconfig.h +++ b/acconfig.h @@ -37,6 +37,8 @@ #undef ENABLE_MEM_CHECK #undef ENABLE_MEM_PROFILE +#undef REALLOC_0_WORKS + #undef G_COMPILED_WITH_DEBUGGING #undef G_THREADS_ENABLED @@ -51,7 +53,9 @@ #undef HAVE_LIMITS_H #undef HAVE_LONG_DOUBLE #undef HAVE_POLL +#undef HAVE_PTHREAD_COND_TIMEDWAIT_POSIX #undef HAVE_PTHREAD_GETSPECIFIC_POSIX +#undef HAVE_PTHREAD_MUTEX_TRYLOCK_POSIX #undef HAVE_PWD_H #undef HAVE_SYS_PARAM_H #undef HAVE_SYS_POLL_H diff --git a/configure.in b/configure.in index d765d2e0e..3df035a09 100644 --- a/configure.in +++ b/configure.in @@ -320,6 +320,22 @@ else fi fi +dnl *** check for sane realloc() *** +AC_MSG_CHECKING(whether realloc (NULL,) will work) +AC_CACHE_VAL(glib_cv_sane_realloc,[ + AC_TRY_RUN([ + #include + int main() { + return realloc (0, sizeof (int)) == 0; + }], + glib_cv_sane_realloc=yes + AC_DEFINE(REALLOC_0_WORKS) + , + glib_cv_sane_realloc=no + ,) +]) +AC_MSG_RESULT($glib_cv_sane_realloc) + dnl ********************** dnl *** va_copy checks *** diff --git a/ghook.c b/ghook.c index a3e3a78f7..09e888366 100644 --- a/ghook.c +++ b/ghook.c @@ -177,6 +177,7 @@ g_hook_unref (GHookList *hook_list, GHook *hook) { g_return_if_fail (hook_list != NULL); + g_return_if_fail (hook_list->hook_memchunk != NULL); g_return_if_fail (hook != NULL); g_return_if_fail (hook->ref_count > 0); @@ -196,15 +197,21 @@ g_hook_unref (GHookList *hook_list, hook->next = NULL; } hook->prev = NULL; - - g_hook_free (hook_list, hook); - - if (!hook_list->hooks && - !hook_list->is_setup) + + if (!hook_list->is_setup) { - g_mem_chunk_destroy (hook_list->hook_memchunk); - hook_list->hook_memchunk = NULL; + hook_list->is_setup = TRUE; + g_hook_free (hook_list, hook); + hook_list->is_setup = FALSE; + + if (!hook_list->hooks) + { + g_mem_chunk_destroy (hook_list->hook_memchunk); + hook_list->hook_memchunk = NULL; + } } + else + g_hook_free (hook_list, hook); } } diff --git a/glib/ghook.c b/glib/ghook.c index a3e3a78f7..09e888366 100644 --- a/glib/ghook.c +++ b/glib/ghook.c @@ -177,6 +177,7 @@ g_hook_unref (GHookList *hook_list, GHook *hook) { g_return_if_fail (hook_list != NULL); + g_return_if_fail (hook_list->hook_memchunk != NULL); g_return_if_fail (hook != NULL); g_return_if_fail (hook->ref_count > 0); @@ -196,15 +197,21 @@ g_hook_unref (GHookList *hook_list, hook->next = NULL; } hook->prev = NULL; - - g_hook_free (hook_list, hook); - - if (!hook_list->hooks && - !hook_list->is_setup) + + if (!hook_list->is_setup) { - g_mem_chunk_destroy (hook_list->hook_memchunk); - hook_list->hook_memchunk = NULL; + hook_list->is_setup = TRUE; + g_hook_free (hook_list, hook); + hook_list->is_setup = FALSE; + + if (!hook_list->hooks) + { + g_mem_chunk_destroy (hook_list->hook_memchunk); + hook_list->hook_memchunk = NULL; + } } + else + g_hook_free (hook_list, hook); } } diff --git a/glib/gmem.c b/glib/gmem.c index 6d94af20c..80f930107 100644 --- a/glib/gmem.c +++ b/glib/gmem.c @@ -62,7 +62,7 @@ #define ENTER_MEM_CHUNK_ROUTINE() \ g_static_set (allocating_for_mem_chunk, \ g_static_get (allocating_for_mem_chunk) + 1) -#define ENTER_MEM_CHUNK_ROUTINE() \ +#define LEAVE_MEM_CHUNK_ROUTINE() \ g_static_set (allocating_for_mem_chunk, \ g_static_get (allocating_for_mem_chunk) - 1) #else @@ -309,7 +309,13 @@ g_realloc (gpointer mem, if (!mem) - p = (gpointer) realloc (NULL, size); + { +#ifdef REALLOC_0_WORKS + p = (gpointer) realloc (NULL, size); +#else /* !REALLOC_0_WORKS */ + p = (gpointer) malloc (size); +#endif /* !REALLOC_0_WORKS */ + } else { #if defined(ENABLE_MEM_PROFILE) || defined(ENABLE_MEM_CHECK) @@ -429,15 +435,15 @@ g_mem_profile (void) for (i = 0; i < (MEM_PROFILE_TABLE_SIZE - 1); i++) if (local_allocations[i] > 0) g_log (g_log_domain_glib, G_LOG_LEVEL_INFO, - "%lu allocations of %d bytes\n", local_allocations[i], i + 1); + "%lu allocations of %d bytes", local_allocations[i], i + 1); if (local_allocations[MEM_PROFILE_TABLE_SIZE - 1] > 0) g_log (g_log_domain_glib, G_LOG_LEVEL_INFO, - "%lu allocations of greater than %d bytes\n", + "%lu allocations of greater than %d bytes", local_allocations[MEM_PROFILE_TABLE_SIZE - 1], MEM_PROFILE_TABLE_SIZE - 1); - g_log (g_log_domain_glib, G_LOG_LEVEL_INFO, "%lu bytes allocated\n", local_allocated_mem); - g_log (g_log_domain_glib, G_LOG_LEVEL_INFO, "%lu bytes freed\n", local_freed_mem); - g_log (g_log_domain_glib, G_LOG_LEVEL_INFO, "%lu bytes in use\n", local_allocated_mem - local_freed_mem); + g_log (g_log_domain_glib, G_LOG_LEVEL_INFO, "%lu bytes allocated", local_allocated_mem); + g_log (g_log_domain_glib, G_LOG_LEVEL_INFO, "%lu bytes freed", local_freed_mem); + g_log (g_log_domain_glib, G_LOG_LEVEL_INFO, "%lu bytes in use", local_allocated_mem - local_freed_mem); #endif /* ENABLE_MEM_PROFILE */ } @@ -525,7 +531,7 @@ g_mem_chunk_destroy (GMemChunk *mem_chunk) GMemArea *mem_areas; GMemArea *temp_area; - g_assert (mem_chunk != NULL); + g_return_if_fail (mem_chunk != NULL); ENTER_MEM_CHUNK_ROUTINE(); @@ -566,7 +572,7 @@ g_mem_chunk_alloc (GMemChunk *mem_chunk) ENTER_MEM_CHUNK_ROUTINE(); - g_assert (mem_chunk != NULL); + g_return_val_if_fail (mem_chunk != NULL, NULL); rmem_chunk = (GRealMemChunk*) mem_chunk; @@ -714,8 +720,8 @@ g_mem_chunk_free (GMemChunk *mem_chunk, GMemArea *temp_area; GFreeAtom *free_atom; - g_assert (mem_chunk != NULL); - g_assert (mem != NULL); + g_return_if_fail (mem_chunk != NULL); + g_return_if_fail (mem != NULL); ENTER_MEM_CHUNK_ROUTINE(); @@ -757,7 +763,7 @@ g_mem_chunk_clean (GMemChunk *mem_chunk) GFreeAtom *temp_free_atom; gpointer mem; - g_assert (mem_chunk != NULL); + g_return_if_fail (mem_chunk != NULL); rmem_chunk = (GRealMemChunk*) mem_chunk; @@ -821,7 +827,7 @@ g_mem_chunk_reset (GMemChunk *mem_chunk) GMemArea *mem_areas; GMemArea *temp_area; - g_assert (mem_chunk != NULL); + g_return_if_fail (mem_chunk != NULL); rmem_chunk = (GRealMemChunk*) mem_chunk; @@ -851,7 +857,7 @@ g_mem_chunk_print (GMemChunk *mem_chunk) GMemArea *mem_areas; gulong mem; - g_assert (mem_chunk != NULL); + g_return_if_fail (mem_chunk != NULL); rmem_chunk = (GRealMemChunk*) mem_chunk; mem_areas = rmem_chunk->mem_areas; @@ -864,7 +870,7 @@ g_mem_chunk_print (GMemChunk *mem_chunk) } g_log (g_log_domain_glib, G_LOG_LEVEL_INFO, - "%s: %ld bytes using %d mem areas\n", + "%s: %ld bytes using %d mem areas", rmem_chunk->name, mem, rmem_chunk->num_mem_areas); } @@ -884,7 +890,7 @@ g_mem_chunk_info (void) } g_mutex_unlock (mem_chunks_lock); - g_log (g_log_domain_glib, G_LOG_LEVEL_INFO, "%d mem chunks\n", count); + g_log (g_log_domain_glib, G_LOG_LEVEL_INFO, "%d mem chunks", count); g_mutex_lock (mem_chunks_lock); mem_chunk = mem_chunks; diff --git a/glib/grel.c b/glib/grel.c index 237b60c5d..4358cdceb 100644 --- a/glib/grel.c +++ b/glib/grel.c @@ -153,8 +153,10 @@ g_relation_index (GRelation *relation, GCompareFunc key_compare_func) { GRealRelation *rel = (GRealRelation *) relation; + + g_return_if_fail (relation != NULL); - g_assert (rel->count == 0 && rel->hashed_tuple_tables[field] == NULL); + g_return_if_fail (rel->count == 0 && rel->hashed_tuple_tables[field] == NULL); rel->hashed_tuple_tables[field] = g_hash_table_new (hash_func, key_compare_func); } @@ -204,7 +206,9 @@ g_relation_insert (GRelation *relation, } static void -g_relation_delete_tuple (gpointer tuple_key, gpointer tuple_value, gpointer user_data) +g_relation_delete_tuple (gpointer tuple_key, + gpointer tuple_value, + gpointer user_data) { gpointer *tuple = (gpointer*) tuple_value; GRealRelation *rel = (GRealRelation *) user_data; @@ -238,16 +242,17 @@ g_relation_delete_tuple (gpointer tuple_key, gpointer tuple_value, gpointer user } gint -g_relation_delete (GRelation *relation, +g_relation_delete (GRelation *relation, gconstpointer key, - gint field) + gint field) { GRealRelation *rel = (GRealRelation *) relation; GHashTable *table = rel->hashed_tuple_tables[field]; GHashTable *key_table; gint count = rel->count; - g_assert (table); + g_return_val_if_fail (relation != NULL, 0); + g_return_val_if_fail (table != NULL, 0); key_table = g_hash_table_lookup (table, key); @@ -268,7 +273,9 @@ g_relation_delete (GRelation *relation, } static void -g_relation_select_tuple (gpointer tuple_key, gpointer tuple_value, gpointer user_data) +g_relation_select_tuple (gpointer tuple_key, + gpointer tuple_value, + gpointer user_data) { gpointer *tuple = (gpointer*) tuple_value; GRealTuples *tuples = (GRealTuples*) user_data; @@ -284,9 +291,9 @@ g_relation_select_tuple (gpointer tuple_key, gpointer tuple_value, gpointer user } GTuples* -g_relation_select (GRelation *relation, +g_relation_select (GRelation *relation, gconstpointer key, - gint field) + gint field) { GRealRelation *rel = (GRealRelation *) relation; GHashTable *table = rel->hashed_tuple_tables[field]; @@ -294,7 +301,8 @@ g_relation_select (GRelation *relation, GRealTuples *tuples = g_new0 (GRealTuples, 1); gint count; - g_assert (table); + g_return_val_if_fail (relation != NULL, NULL); + g_return_val_if_fail (table != NULL, NULL); key_table = g_hash_table_lookup (table, key); @@ -314,15 +322,16 @@ g_relation_select (GRelation *relation, } gint -g_relation_count (GRelation *relation, +g_relation_count (GRelation *relation, gconstpointer key, - gint field) + gint field) { GRealRelation *rel = (GRealRelation *) relation; GHashTable *table = rel->hashed_tuple_tables[field]; GHashTable *key_table; - g_assert (table); + g_return_val_if_fail (relation != NULL, 0); + g_return_val_if_fail (table != NULL, 0); key_table = g_hash_table_lookup (table, key); @@ -374,7 +383,8 @@ g_tuples_index (GTuples *tuples0, { GRealTuples *tuples = (GRealTuples*) tuples0; - g_assert (field < tuples->width); + g_return_val_if_fail (tuples0 != NULL, NULL); + g_return_val_if_fail (field < tuples->width, NULL); return tuples->data[index * tuples->width + field]; } diff --git a/glib/gtimer.c b/glib/gtimer.c index eb18af85e..854ec6714 100644 --- a/glib/gtimer.c +++ b/glib/gtimer.c @@ -79,7 +79,7 @@ g_timer_new (void) void g_timer_destroy (GTimer *timer) { - g_assert (timer != NULL); + g_return_if_fail (timer != NULL); g_free (timer); } @@ -89,7 +89,7 @@ g_timer_start (GTimer *timer) { GRealTimer *rtimer; - g_assert (timer != NULL); + g_return_if_fail (timer != NULL); rtimer = (GRealTimer*) timer; rtimer->active = TRUE; @@ -106,7 +106,7 @@ g_timer_stop (GTimer *timer) { GRealTimer *rtimer; - g_assert (timer != NULL); + g_return_if_fail (timer != NULL); rtimer = (GRealTimer*) timer; rtimer->active = FALSE; @@ -123,7 +123,7 @@ g_timer_reset (GTimer *timer) { GRealTimer *rtimer; - g_assert (timer != NULL); + g_return_if_fail (timer != NULL); rtimer = (GRealTimer*) timer; diff --git a/gmem.c b/gmem.c index 6d94af20c..80f930107 100644 --- a/gmem.c +++ b/gmem.c @@ -62,7 +62,7 @@ #define ENTER_MEM_CHUNK_ROUTINE() \ g_static_set (allocating_for_mem_chunk, \ g_static_get (allocating_for_mem_chunk) + 1) -#define ENTER_MEM_CHUNK_ROUTINE() \ +#define LEAVE_MEM_CHUNK_ROUTINE() \ g_static_set (allocating_for_mem_chunk, \ g_static_get (allocating_for_mem_chunk) - 1) #else @@ -309,7 +309,13 @@ g_realloc (gpointer mem, if (!mem) - p = (gpointer) realloc (NULL, size); + { +#ifdef REALLOC_0_WORKS + p = (gpointer) realloc (NULL, size); +#else /* !REALLOC_0_WORKS */ + p = (gpointer) malloc (size); +#endif /* !REALLOC_0_WORKS */ + } else { #if defined(ENABLE_MEM_PROFILE) || defined(ENABLE_MEM_CHECK) @@ -429,15 +435,15 @@ g_mem_profile (void) for (i = 0; i < (MEM_PROFILE_TABLE_SIZE - 1); i++) if (local_allocations[i] > 0) g_log (g_log_domain_glib, G_LOG_LEVEL_INFO, - "%lu allocations of %d bytes\n", local_allocations[i], i + 1); + "%lu allocations of %d bytes", local_allocations[i], i + 1); if (local_allocations[MEM_PROFILE_TABLE_SIZE - 1] > 0) g_log (g_log_domain_glib, G_LOG_LEVEL_INFO, - "%lu allocations of greater than %d bytes\n", + "%lu allocations of greater than %d bytes", local_allocations[MEM_PROFILE_TABLE_SIZE - 1], MEM_PROFILE_TABLE_SIZE - 1); - g_log (g_log_domain_glib, G_LOG_LEVEL_INFO, "%lu bytes allocated\n", local_allocated_mem); - g_log (g_log_domain_glib, G_LOG_LEVEL_INFO, "%lu bytes freed\n", local_freed_mem); - g_log (g_log_domain_glib, G_LOG_LEVEL_INFO, "%lu bytes in use\n", local_allocated_mem - local_freed_mem); + g_log (g_log_domain_glib, G_LOG_LEVEL_INFO, "%lu bytes allocated", local_allocated_mem); + g_log (g_log_domain_glib, G_LOG_LEVEL_INFO, "%lu bytes freed", local_freed_mem); + g_log (g_log_domain_glib, G_LOG_LEVEL_INFO, "%lu bytes in use", local_allocated_mem - local_freed_mem); #endif /* ENABLE_MEM_PROFILE */ } @@ -525,7 +531,7 @@ g_mem_chunk_destroy (GMemChunk *mem_chunk) GMemArea *mem_areas; GMemArea *temp_area; - g_assert (mem_chunk != NULL); + g_return_if_fail (mem_chunk != NULL); ENTER_MEM_CHUNK_ROUTINE(); @@ -566,7 +572,7 @@ g_mem_chunk_alloc (GMemChunk *mem_chunk) ENTER_MEM_CHUNK_ROUTINE(); - g_assert (mem_chunk != NULL); + g_return_val_if_fail (mem_chunk != NULL, NULL); rmem_chunk = (GRealMemChunk*) mem_chunk; @@ -714,8 +720,8 @@ g_mem_chunk_free (GMemChunk *mem_chunk, GMemArea *temp_area; GFreeAtom *free_atom; - g_assert (mem_chunk != NULL); - g_assert (mem != NULL); + g_return_if_fail (mem_chunk != NULL); + g_return_if_fail (mem != NULL); ENTER_MEM_CHUNK_ROUTINE(); @@ -757,7 +763,7 @@ g_mem_chunk_clean (GMemChunk *mem_chunk) GFreeAtom *temp_free_atom; gpointer mem; - g_assert (mem_chunk != NULL); + g_return_if_fail (mem_chunk != NULL); rmem_chunk = (GRealMemChunk*) mem_chunk; @@ -821,7 +827,7 @@ g_mem_chunk_reset (GMemChunk *mem_chunk) GMemArea *mem_areas; GMemArea *temp_area; - g_assert (mem_chunk != NULL); + g_return_if_fail (mem_chunk != NULL); rmem_chunk = (GRealMemChunk*) mem_chunk; @@ -851,7 +857,7 @@ g_mem_chunk_print (GMemChunk *mem_chunk) GMemArea *mem_areas; gulong mem; - g_assert (mem_chunk != NULL); + g_return_if_fail (mem_chunk != NULL); rmem_chunk = (GRealMemChunk*) mem_chunk; mem_areas = rmem_chunk->mem_areas; @@ -864,7 +870,7 @@ g_mem_chunk_print (GMemChunk *mem_chunk) } g_log (g_log_domain_glib, G_LOG_LEVEL_INFO, - "%s: %ld bytes using %d mem areas\n", + "%s: %ld bytes using %d mem areas", rmem_chunk->name, mem, rmem_chunk->num_mem_areas); } @@ -884,7 +890,7 @@ g_mem_chunk_info (void) } g_mutex_unlock (mem_chunks_lock); - g_log (g_log_domain_glib, G_LOG_LEVEL_INFO, "%d mem chunks\n", count); + g_log (g_log_domain_glib, G_LOG_LEVEL_INFO, "%d mem chunks", count); g_mutex_lock (mem_chunks_lock); mem_chunk = mem_chunks; diff --git a/grel.c b/grel.c index 237b60c5d..4358cdceb 100644 --- a/grel.c +++ b/grel.c @@ -153,8 +153,10 @@ g_relation_index (GRelation *relation, GCompareFunc key_compare_func) { GRealRelation *rel = (GRealRelation *) relation; + + g_return_if_fail (relation != NULL); - g_assert (rel->count == 0 && rel->hashed_tuple_tables[field] == NULL); + g_return_if_fail (rel->count == 0 && rel->hashed_tuple_tables[field] == NULL); rel->hashed_tuple_tables[field] = g_hash_table_new (hash_func, key_compare_func); } @@ -204,7 +206,9 @@ g_relation_insert (GRelation *relation, } static void -g_relation_delete_tuple (gpointer tuple_key, gpointer tuple_value, gpointer user_data) +g_relation_delete_tuple (gpointer tuple_key, + gpointer tuple_value, + gpointer user_data) { gpointer *tuple = (gpointer*) tuple_value; GRealRelation *rel = (GRealRelation *) user_data; @@ -238,16 +242,17 @@ g_relation_delete_tuple (gpointer tuple_key, gpointer tuple_value, gpointer user } gint -g_relation_delete (GRelation *relation, +g_relation_delete (GRelation *relation, gconstpointer key, - gint field) + gint field) { GRealRelation *rel = (GRealRelation *) relation; GHashTable *table = rel->hashed_tuple_tables[field]; GHashTable *key_table; gint count = rel->count; - g_assert (table); + g_return_val_if_fail (relation != NULL, 0); + g_return_val_if_fail (table != NULL, 0); key_table = g_hash_table_lookup (table, key); @@ -268,7 +273,9 @@ g_relation_delete (GRelation *relation, } static void -g_relation_select_tuple (gpointer tuple_key, gpointer tuple_value, gpointer user_data) +g_relation_select_tuple (gpointer tuple_key, + gpointer tuple_value, + gpointer user_data) { gpointer *tuple = (gpointer*) tuple_value; GRealTuples *tuples = (GRealTuples*) user_data; @@ -284,9 +291,9 @@ g_relation_select_tuple (gpointer tuple_key, gpointer tuple_value, gpointer user } GTuples* -g_relation_select (GRelation *relation, +g_relation_select (GRelation *relation, gconstpointer key, - gint field) + gint field) { GRealRelation *rel = (GRealRelation *) relation; GHashTable *table = rel->hashed_tuple_tables[field]; @@ -294,7 +301,8 @@ g_relation_select (GRelation *relation, GRealTuples *tuples = g_new0 (GRealTuples, 1); gint count; - g_assert (table); + g_return_val_if_fail (relation != NULL, NULL); + g_return_val_if_fail (table != NULL, NULL); key_table = g_hash_table_lookup (table, key); @@ -314,15 +322,16 @@ g_relation_select (GRelation *relation, } gint -g_relation_count (GRelation *relation, +g_relation_count (GRelation *relation, gconstpointer key, - gint field) + gint field) { GRealRelation *rel = (GRealRelation *) relation; GHashTable *table = rel->hashed_tuple_tables[field]; GHashTable *key_table; - g_assert (table); + g_return_val_if_fail (relation != NULL, 0); + g_return_val_if_fail (table != NULL, 0); key_table = g_hash_table_lookup (table, key); @@ -374,7 +383,8 @@ g_tuples_index (GTuples *tuples0, { GRealTuples *tuples = (GRealTuples*) tuples0; - g_assert (field < tuples->width); + g_return_val_if_fail (tuples0 != NULL, NULL); + g_return_val_if_fail (field < tuples->width, NULL); return tuples->data[index * tuples->width + field]; } diff --git a/gtimer.c b/gtimer.c index eb18af85e..854ec6714 100644 --- a/gtimer.c +++ b/gtimer.c @@ -79,7 +79,7 @@ g_timer_new (void) void g_timer_destroy (GTimer *timer) { - g_assert (timer != NULL); + g_return_if_fail (timer != NULL); g_free (timer); } @@ -89,7 +89,7 @@ g_timer_start (GTimer *timer) { GRealTimer *rtimer; - g_assert (timer != NULL); + g_return_if_fail (timer != NULL); rtimer = (GRealTimer*) timer; rtimer->active = TRUE; @@ -106,7 +106,7 @@ g_timer_stop (GTimer *timer) { GRealTimer *rtimer; - g_assert (timer != NULL); + g_return_if_fail (timer != NULL); rtimer = (GRealTimer*) timer; rtimer->active = FALSE; @@ -123,7 +123,7 @@ g_timer_reset (GTimer *timer) { GRealTimer *rtimer; - g_assert (timer != NULL); + g_return_if_fail (timer != NULL); rtimer = (GRealTimer*) timer;