From 84114c5321e4d7e4701f77f7f0e2b9b739d4035c Mon Sep 17 00:00:00 2001 From: Sebastian Wilhelmi Date: Thu, 20 Jul 2000 16:06:33 +0000 Subject: [PATCH] Mark the functions g_hash_table_freeze, g_hash_table_thaw and thus 2000-07-20 Sebastian Wilhelmi * ghash.c, gscanner.c, glib.h: Mark the functions g_hash_table_freeze, g_hash_table_thaw and thus g_scanner_freeze_symbol_table and g_scanner_thaw_symbol_table deprecated. They will issue an warning once, when compiled with G_ENABLE_DEBUG. This fixes Bug #3883. For discussion see http://mail.gnome.org/pipermail/gtk-devel-list/2000-April/003139.html --- ChangeLog | 9 +++++++++ ChangeLog.pre-2-0 | 9 +++++++++ ChangeLog.pre-2-10 | 9 +++++++++ ChangeLog.pre-2-12 | 9 +++++++++ ChangeLog.pre-2-2 | 9 +++++++++ ChangeLog.pre-2-4 | 9 +++++++++ ChangeLog.pre-2-6 | 9 +++++++++ ChangeLog.pre-2-8 | 9 +++++++++ ghash.c | 28 ++++++++++++---------------- glib.h | 12 ++++++++---- glib/ghash.c | 28 ++++++++++++---------------- glib/glib.h | 12 ++++++++---- glib/gscanner.c | 16 ++++++++++------ gscanner.c | 16 ++++++++++------ 14 files changed, 132 insertions(+), 52 deletions(-) diff --git a/ChangeLog b/ChangeLog index b08d94b..5cd4cc0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2000-07-20 Sebastian Wilhelmi + + * ghash.c, gscanner.c, glib.h: Mark the functions + g_hash_table_freeze, g_hash_table_thaw and thus + g_scanner_freeze_symbol_table and g_scanner_thaw_symbol_table + deprecated. They will issue an warning once, when compiled with + G_ENABLE_DEBUG. This fixes Bug #3883. For discussion see + http://mail.gnome.org/pipermail/gtk-devel-list/2000-April/003139.html + 2000-07-19 Sebastian Wilhelmi * configure.in, glib.h: glibconfig.h and glib.h now include files diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index b08d94b..5cd4cc0 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,12 @@ +2000-07-20 Sebastian Wilhelmi + + * ghash.c, gscanner.c, glib.h: Mark the functions + g_hash_table_freeze, g_hash_table_thaw and thus + g_scanner_freeze_symbol_table and g_scanner_thaw_symbol_table + deprecated. They will issue an warning once, when compiled with + G_ENABLE_DEBUG. This fixes Bug #3883. For discussion see + http://mail.gnome.org/pipermail/gtk-devel-list/2000-April/003139.html + 2000-07-19 Sebastian Wilhelmi * configure.in, glib.h: glibconfig.h and glib.h now include files diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index b08d94b..5cd4cc0 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,12 @@ +2000-07-20 Sebastian Wilhelmi + + * ghash.c, gscanner.c, glib.h: Mark the functions + g_hash_table_freeze, g_hash_table_thaw and thus + g_scanner_freeze_symbol_table and g_scanner_thaw_symbol_table + deprecated. They will issue an warning once, when compiled with + G_ENABLE_DEBUG. This fixes Bug #3883. For discussion see + http://mail.gnome.org/pipermail/gtk-devel-list/2000-April/003139.html + 2000-07-19 Sebastian Wilhelmi * configure.in, glib.h: glibconfig.h and glib.h now include files diff --git a/ChangeLog.pre-2-12 b/ChangeLog.pre-2-12 index b08d94b..5cd4cc0 100644 --- a/ChangeLog.pre-2-12 +++ b/ChangeLog.pre-2-12 @@ -1,3 +1,12 @@ +2000-07-20 Sebastian Wilhelmi + + * ghash.c, gscanner.c, glib.h: Mark the functions + g_hash_table_freeze, g_hash_table_thaw and thus + g_scanner_freeze_symbol_table and g_scanner_thaw_symbol_table + deprecated. They will issue an warning once, when compiled with + G_ENABLE_DEBUG. This fixes Bug #3883. For discussion see + http://mail.gnome.org/pipermail/gtk-devel-list/2000-April/003139.html + 2000-07-19 Sebastian Wilhelmi * configure.in, glib.h: glibconfig.h and glib.h now include files diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index b08d94b..5cd4cc0 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,12 @@ +2000-07-20 Sebastian Wilhelmi + + * ghash.c, gscanner.c, glib.h: Mark the functions + g_hash_table_freeze, g_hash_table_thaw and thus + g_scanner_freeze_symbol_table and g_scanner_thaw_symbol_table + deprecated. They will issue an warning once, when compiled with + G_ENABLE_DEBUG. This fixes Bug #3883. For discussion see + http://mail.gnome.org/pipermail/gtk-devel-list/2000-April/003139.html + 2000-07-19 Sebastian Wilhelmi * configure.in, glib.h: glibconfig.h and glib.h now include files diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index b08d94b..5cd4cc0 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,12 @@ +2000-07-20 Sebastian Wilhelmi + + * ghash.c, gscanner.c, glib.h: Mark the functions + g_hash_table_freeze, g_hash_table_thaw and thus + g_scanner_freeze_symbol_table and g_scanner_thaw_symbol_table + deprecated. They will issue an warning once, when compiled with + G_ENABLE_DEBUG. This fixes Bug #3883. For discussion see + http://mail.gnome.org/pipermail/gtk-devel-list/2000-April/003139.html + 2000-07-19 Sebastian Wilhelmi * configure.in, glib.h: glibconfig.h and glib.h now include files diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index b08d94b..5cd4cc0 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,12 @@ +2000-07-20 Sebastian Wilhelmi + + * ghash.c, gscanner.c, glib.h: Mark the functions + g_hash_table_freeze, g_hash_table_thaw and thus + g_scanner_freeze_symbol_table and g_scanner_thaw_symbol_table + deprecated. They will issue an warning once, when compiled with + G_ENABLE_DEBUG. This fixes Bug #3883. For discussion see + http://mail.gnome.org/pipermail/gtk-devel-list/2000-April/003139.html + 2000-07-19 Sebastian Wilhelmi * configure.in, glib.h: glibconfig.h and glib.h now include files diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index b08d94b..5cd4cc0 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,12 @@ +2000-07-20 Sebastian Wilhelmi + + * ghash.c, gscanner.c, glib.h: Mark the functions + g_hash_table_freeze, g_hash_table_thaw and thus + g_scanner_freeze_symbol_table and g_scanner_thaw_symbol_table + deprecated. They will issue an warning once, when compiled with + G_ENABLE_DEBUG. This fixes Bug #3883. For discussion see + http://mail.gnome.org/pipermail/gtk-devel-list/2000-April/003139.html + 2000-07-19 Sebastian Wilhelmi * configure.in, glib.h: glibconfig.h and glib.h now include files diff --git a/ghash.c b/ghash.c index adc3b62..8b4b048 100644 --- a/ghash.c +++ b/ghash.c @@ -48,7 +48,6 @@ struct _GHashTable { gint size; gint nnodes; - guint frozen; GHashNode **nodes; GHashFunc hash_func; GCompareFunc key_compare_func; @@ -80,7 +79,6 @@ g_hash_table_new (GHashFunc hash_func, hash_table = g_new (GHashTable, 1); hash_table->size = HASH_TABLE_MIN_SIZE; hash_table->nnodes = 0; - hash_table->frozen = FALSE; hash_table->hash_func = hash_func ? hash_func : g_direct_hash; hash_table->key_compare_func = key_compare_func; hash_table->nodes = g_new (GHashNode*, hash_table->size); @@ -167,8 +165,7 @@ g_hash_table_insert (GHashTable *hash_table, { *node = g_hash_node_new (key, value); hash_table->nnodes++; - if (!hash_table->frozen) - g_hash_table_resize (hash_table); + g_hash_table_resize (hash_table); } } @@ -189,8 +186,7 @@ g_hash_table_remove (GHashTable *hash_table, g_hash_node_destroy (dest); hash_table->nnodes--; - if (!hash_table->frozen) - g_hash_table_resize (hash_table); + g_hash_table_resize (hash_table); } } @@ -221,19 +217,20 @@ g_hash_table_lookup_extended (GHashTable *hash_table, void g_hash_table_freeze (GHashTable *hash_table) { - g_return_if_fail (hash_table != NULL); - - hash_table->frozen++; +#ifdef G_ENABLE_DEBUG + static gboolean first_call = TRUE; + + if (first_call) + { + g_warning("g_hash_table_freeze and g_hash_table_thaw are deprecated."); + first_call = FALSE; + } +#endif /* G_ENABLE_DEBUG */ } void g_hash_table_thaw (GHashTable *hash_table) { - g_return_if_fail (hash_table != NULL); - - if (hash_table->frozen) - if (!(--hash_table->frozen)) - g_hash_table_resize (hash_table); } guint @@ -278,8 +275,7 @@ g_hash_table_foreach_remove (GHashTable *hash_table, } } - if (!hash_table->frozen) - g_hash_table_resize (hash_table); + g_hash_table_resize (hash_table); return deleted; } diff --git a/glib.h b/glib.h index df8156e..732aa04 100644 --- a/glib.h +++ b/glib.h @@ -1114,8 +1114,6 @@ gboolean g_hash_table_lookup_extended(GHashTable *hash_table, gconstpointer lookup_key, gpointer *orig_key, gpointer *value); -void g_hash_table_freeze (GHashTable *hash_table); -void g_hash_table_thaw (GHashTable *hash_table); void g_hash_table_foreach (GHashTable *hash_table, GHFunc func, gpointer user_data); @@ -1124,6 +1122,10 @@ guint g_hash_table_foreach_remove (GHashTable *hash_table, gpointer user_data); guint g_hash_table_size (GHashTable *hash_table); +/* The following two functions are deprecated and will be removed in + * the next major release. They do no good. */ +void g_hash_table_freeze (GHashTable *hash_table); +void g_hash_table_thaw (GHashTable *hash_table); /* Caches */ @@ -2272,8 +2274,6 @@ void g_scanner_scope_foreach_symbol (GScanner *scanner, gpointer user_data); gpointer g_scanner_lookup_symbol (GScanner *scanner, const gchar *symbol); -void g_scanner_freeze_symbol_table (GScanner *scanner); -void g_scanner_thaw_symbol_table (GScanner *scanner); void g_scanner_unexp_token (GScanner *scanner, GTokenType expected_token, const gchar *identifier_spec, @@ -2299,6 +2299,10 @@ gint g_scanner_stat_mode (const gchar *filename); g_scanner_scope_foreach_symbol ((scanner), 0, (func), (data)); \ } G_STMT_END +/* The following two functions are deprecated and will be removed in + * the next major release. They do no good. */ +void g_scanner_freeze_symbol_table (GScanner *scanner); +void g_scanner_thaw_symbol_table (GScanner *scanner); /* GCompletion */ diff --git a/glib/ghash.c b/glib/ghash.c index adc3b62..8b4b048 100644 --- a/glib/ghash.c +++ b/glib/ghash.c @@ -48,7 +48,6 @@ struct _GHashTable { gint size; gint nnodes; - guint frozen; GHashNode **nodes; GHashFunc hash_func; GCompareFunc key_compare_func; @@ -80,7 +79,6 @@ g_hash_table_new (GHashFunc hash_func, hash_table = g_new (GHashTable, 1); hash_table->size = HASH_TABLE_MIN_SIZE; hash_table->nnodes = 0; - hash_table->frozen = FALSE; hash_table->hash_func = hash_func ? hash_func : g_direct_hash; hash_table->key_compare_func = key_compare_func; hash_table->nodes = g_new (GHashNode*, hash_table->size); @@ -167,8 +165,7 @@ g_hash_table_insert (GHashTable *hash_table, { *node = g_hash_node_new (key, value); hash_table->nnodes++; - if (!hash_table->frozen) - g_hash_table_resize (hash_table); + g_hash_table_resize (hash_table); } } @@ -189,8 +186,7 @@ g_hash_table_remove (GHashTable *hash_table, g_hash_node_destroy (dest); hash_table->nnodes--; - if (!hash_table->frozen) - g_hash_table_resize (hash_table); + g_hash_table_resize (hash_table); } } @@ -221,19 +217,20 @@ g_hash_table_lookup_extended (GHashTable *hash_table, void g_hash_table_freeze (GHashTable *hash_table) { - g_return_if_fail (hash_table != NULL); - - hash_table->frozen++; +#ifdef G_ENABLE_DEBUG + static gboolean first_call = TRUE; + + if (first_call) + { + g_warning("g_hash_table_freeze and g_hash_table_thaw are deprecated."); + first_call = FALSE; + } +#endif /* G_ENABLE_DEBUG */ } void g_hash_table_thaw (GHashTable *hash_table) { - g_return_if_fail (hash_table != NULL); - - if (hash_table->frozen) - if (!(--hash_table->frozen)) - g_hash_table_resize (hash_table); } guint @@ -278,8 +275,7 @@ g_hash_table_foreach_remove (GHashTable *hash_table, } } - if (!hash_table->frozen) - g_hash_table_resize (hash_table); + g_hash_table_resize (hash_table); return deleted; } diff --git a/glib/glib.h b/glib/glib.h index df8156e..732aa04 100644 --- a/glib/glib.h +++ b/glib/glib.h @@ -1114,8 +1114,6 @@ gboolean g_hash_table_lookup_extended(GHashTable *hash_table, gconstpointer lookup_key, gpointer *orig_key, gpointer *value); -void g_hash_table_freeze (GHashTable *hash_table); -void g_hash_table_thaw (GHashTable *hash_table); void g_hash_table_foreach (GHashTable *hash_table, GHFunc func, gpointer user_data); @@ -1124,6 +1122,10 @@ guint g_hash_table_foreach_remove (GHashTable *hash_table, gpointer user_data); guint g_hash_table_size (GHashTable *hash_table); +/* The following two functions are deprecated and will be removed in + * the next major release. They do no good. */ +void g_hash_table_freeze (GHashTable *hash_table); +void g_hash_table_thaw (GHashTable *hash_table); /* Caches */ @@ -2272,8 +2274,6 @@ void g_scanner_scope_foreach_symbol (GScanner *scanner, gpointer user_data); gpointer g_scanner_lookup_symbol (GScanner *scanner, const gchar *symbol); -void g_scanner_freeze_symbol_table (GScanner *scanner); -void g_scanner_thaw_symbol_table (GScanner *scanner); void g_scanner_unexp_token (GScanner *scanner, GTokenType expected_token, const gchar *identifier_spec, @@ -2299,6 +2299,10 @@ gint g_scanner_stat_mode (const gchar *filename); g_scanner_scope_foreach_symbol ((scanner), 0, (func), (data)); \ } G_STMT_END +/* The following two functions are deprecated and will be removed in + * the next major release. They do no good. */ +void g_scanner_freeze_symbol_table (GScanner *scanner); +void g_scanner_thaw_symbol_table (GScanner *scanner); /* GCompletion */ diff --git a/glib/gscanner.c b/glib/gscanner.c index 55c311d..cbc2e1e 100644 --- a/glib/gscanner.c +++ b/glib/gscanner.c @@ -565,17 +565,21 @@ g_scanner_scope_foreach_symbol (GScanner *scanner, void g_scanner_freeze_symbol_table (GScanner *scanner) { - g_return_if_fail (scanner != NULL); - - g_hash_table_freeze (scanner->symbol_table); +#ifdef G_ENABLE_DEBUG + static gboolean first_call = TRUE; + + if (first_call) + { + g_warning("g_scanner_freeze_symbol_table and " + "g_scanner_thaw_symbol_table are deprecated."); + first_call = FALSE; + } +#endif /* G_ENABLE_DEBUG */ } void g_scanner_thaw_symbol_table (GScanner *scanner) { - g_return_if_fail (scanner != NULL); - - g_hash_table_thaw (scanner->symbol_table); } GTokenType diff --git a/gscanner.c b/gscanner.c index 55c311d..cbc2e1e 100644 --- a/gscanner.c +++ b/gscanner.c @@ -565,17 +565,21 @@ g_scanner_scope_foreach_symbol (GScanner *scanner, void g_scanner_freeze_symbol_table (GScanner *scanner) { - g_return_if_fail (scanner != NULL); - - g_hash_table_freeze (scanner->symbol_table); +#ifdef G_ENABLE_DEBUG + static gboolean first_call = TRUE; + + if (first_call) + { + g_warning("g_scanner_freeze_symbol_table and " + "g_scanner_thaw_symbol_table are deprecated."); + first_call = FALSE; + } +#endif /* G_ENABLE_DEBUG */ } void g_scanner_thaw_symbol_table (GScanner *scanner) { - g_return_if_fail (scanner != NULL); - - g_hash_table_thaw (scanner->symbol_table); } GTokenType -- 2.7.4