diff --git a/ChangeLog b/ChangeLog index ebcd9d189..d4f5b0b20 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Thu May 10 15:19:01 2001 Tim Janik + + * gscanner.c (g_scanner_key_hash): use g_str_hash() algorithm + to generate hashes. + + * gmem.c (standard_calloc): free() doesn't return a value + (Mark Murnane). + 2001-04-26 Havoc Pennington * configure.in: Get rid of --enable-msg-prefix diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index ebcd9d189..d4f5b0b20 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,11 @@ +Thu May 10 15:19:01 2001 Tim Janik + + * gscanner.c (g_scanner_key_hash): use g_str_hash() algorithm + to generate hashes. + + * gmem.c (standard_calloc): free() doesn't return a value + (Mark Murnane). + 2001-04-26 Havoc Pennington * configure.in: Get rid of --enable-msg-prefix diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index ebcd9d189..d4f5b0b20 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,11 @@ +Thu May 10 15:19:01 2001 Tim Janik + + * gscanner.c (g_scanner_key_hash): use g_str_hash() algorithm + to generate hashes. + + * gmem.c (standard_calloc): free() doesn't return a value + (Mark Murnane). + 2001-04-26 Havoc Pennington * configure.in: Get rid of --enable-msg-prefix diff --git a/ChangeLog.pre-2-12 b/ChangeLog.pre-2-12 index ebcd9d189..d4f5b0b20 100644 --- a/ChangeLog.pre-2-12 +++ b/ChangeLog.pre-2-12 @@ -1,3 +1,11 @@ +Thu May 10 15:19:01 2001 Tim Janik + + * gscanner.c (g_scanner_key_hash): use g_str_hash() algorithm + to generate hashes. + + * gmem.c (standard_calloc): free() doesn't return a value + (Mark Murnane). + 2001-04-26 Havoc Pennington * configure.in: Get rid of --enable-msg-prefix diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index ebcd9d189..d4f5b0b20 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,11 @@ +Thu May 10 15:19:01 2001 Tim Janik + + * gscanner.c (g_scanner_key_hash): use g_str_hash() algorithm + to generate hashes. + + * gmem.c (standard_calloc): free() doesn't return a value + (Mark Murnane). + 2001-04-26 Havoc Pennington * configure.in: Get rid of --enable-msg-prefix diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index ebcd9d189..d4f5b0b20 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,11 @@ +Thu May 10 15:19:01 2001 Tim Janik + + * gscanner.c (g_scanner_key_hash): use g_str_hash() algorithm + to generate hashes. + + * gmem.c (standard_calloc): free() doesn't return a value + (Mark Murnane). + 2001-04-26 Havoc Pennington * configure.in: Get rid of --enable-msg-prefix diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index ebcd9d189..d4f5b0b20 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,11 @@ +Thu May 10 15:19:01 2001 Tim Janik + + * gscanner.c (g_scanner_key_hash): use g_str_hash() algorithm + to generate hashes. + + * gmem.c (standard_calloc): free() doesn't return a value + (Mark Murnane). + 2001-04-26 Havoc Pennington * configure.in: Get rid of --enable-msg-prefix diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index ebcd9d189..d4f5b0b20 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,11 @@ +Thu May 10 15:19:01 2001 Tim Janik + + * gscanner.c (g_scanner_key_hash): use g_str_hash() algorithm + to generate hashes. + + * gmem.c (standard_calloc): free() doesn't return a value + (Mark Murnane). + 2001-04-26 Havoc Pennington * configure.in: Get rid of --enable-msg-prefix diff --git a/glib/gmem.c b/glib/gmem.c index a7d715341..805f6bdb0 100644 --- a/glib/gmem.c +++ b/glib/gmem.c @@ -101,7 +101,7 @@ standard_realloc (gpointer mem, static void standard_free (gpointer mem) { - return free (mem); + free (mem); } static gpointer standard_calloc (gsize n_blocks, diff --git a/glib/gscanner.c b/glib/gscanner.c index f770dd5a1..e73034a7f 100644 --- a/glib/gscanner.c +++ b/glib/gscanner.c @@ -366,17 +366,7 @@ g_scanner_key_hash (gconstpointer v) h = key->scope_id; for (c = key->symbol; *c; c++) - { - guint g; - - h = (h << 4) + *c; - g = h & 0xf0000000; - if (g) - { - h = h ^ (g >> 24); - h = h ^ g; - } - } + h = (h << 5) - h + *c; return h; } diff --git a/gmem.c b/gmem.c index a7d715341..805f6bdb0 100644 --- a/gmem.c +++ b/gmem.c @@ -101,7 +101,7 @@ standard_realloc (gpointer mem, static void standard_free (gpointer mem) { - return free (mem); + free (mem); } static gpointer standard_calloc (gsize n_blocks, diff --git a/gobject/ChangeLog b/gobject/ChangeLog index b6fa6096f..a2182674d 100644 --- a/gobject/ChangeLog +++ b/gobject/ChangeLog @@ -1,3 +1,15 @@ +Thu May 10 14:00:48 2001 Tim Janik + + * gparamspecs.[hc]: removed g_param_spec_stringc() in lack of + evidence of public need. + + * gsignal.h: added g_signal_disconnect_by_func(), + g_signal_block_by_func() and g_signal_unblock_by_func() convenience + macros as per owen's request. + + * gtype.c (SIZEOF_FUNDAMENTAL_INFO): align sizeof (GTypeFundamentalInfo) + to size of longs and pointers. + 2001-05-05 James Henstridge * Makefile.am: glib-mkenums is not a compiled program, so shouldn't diff --git a/gobject/gparamspecs.c b/gobject/gparamspecs.c index cc4472808..9b2f10461 100644 --- a/gobject/gparamspecs.c +++ b/gobject/gparamspecs.c @@ -1577,31 +1577,6 @@ g_param_spec_string (const gchar *name, return G_PARAM_SPEC (sspec); } -GParamSpec* -g_param_spec_stringc (const gchar *name, - const gchar *nick, - const gchar *blurb, - const gchar *default_value, - GParamFlags flags) -{ - GParamSpecString *sspec = g_param_spec_internal (G_TYPE_PARAM_STRING, - name, - nick, - blurb, - flags); - g_free (sspec->default_value); - sspec->default_value = g_strdup (default_value); - g_free (sspec->cset_first); - sspec->cset_first = g_strdup (G_CSET_a_2_z "_" G_CSET_A_2_Z); - g_free (sspec->cset_nth); - sspec->cset_nth = g_strdup (G_CSET_a_2_z - "_0123456789" - /* G_CSET_LATINS G_CSET_LATINC */ - G_CSET_A_2_Z); - - return G_PARAM_SPEC (sspec); -} - GParamSpec* g_param_spec_param (const gchar *name, const gchar *nick, diff --git a/gobject/gparamspecs.h b/gobject/gparamspecs.h index 3829d6cdb..89679b9ef 100644 --- a/gobject/gparamspecs.h +++ b/gobject/gparamspecs.h @@ -305,11 +305,6 @@ GParamSpec* g_param_spec_string (const gchar *name, const gchar *blurb, const gchar *default_value, GParamFlags flags); -GParamSpec* g_param_spec_stringc (const gchar *name, - const gchar *nick, - const gchar *blurb, - const gchar *default_value, - GParamFlags flags); GParamSpec* g_param_spec_param (const gchar *name, const gchar *nick, const gchar *blurb, diff --git a/gobject/gsignal.h b/gobject/gsignal.h index 4da55fd81..9c429b776 100644 --- a/gobject/gsignal.h +++ b/gobject/gsignal.h @@ -218,7 +218,16 @@ guint g_signal_handlers_disconnect_matched (gpointer instance, /* --- convenience --- */ #define g_signal_connectc(instance, detailed_signal, c_handler, data, swapped) \ g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, (swapped), FALSE) - +#define g_signal_disconnect_by_func(instance, func, data) \ + g_signal_handlers_disconnect_matched ((instance), G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, \ + 0, 0, NULL, (func), (data)) +#define g_signal_block_by_func(instance, func, data) \ + g_signal_handlers_block_matched ((instance), G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, \ + 0, 0, NULL, (func), (data)) +#define g_signal_unblock_by_func(instance, func, data) \ + g_signal_handlers_unblock_matched ((instance), G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, \ + 0, 0, NULL, (func), (data)) + /*< private >*/ void g_signal_handlers_destroy (gpointer instance); void _g_signals_destroy (GType itype); diff --git a/gobject/gtype.c b/gobject/gtype.c index f1d3dac0f..590598c57 100644 --- a/gobject/gtype.c +++ b/gobject/gtype.c @@ -99,6 +99,9 @@ static GStaticRWLock type_rw_lock = G_STATIC_RW_LOCK_INIT; G_TYPE_FLAG_DERIVABLE | \ G_TYPE_FLAG_DEEP_DERIVABLE) #define TYPE_FLAG_MASK (G_TYPE_FLAG_ABSTRACT | G_TYPE_FLAG_VALUE_ABSTRACT) +#define SIZEOF_FUNDAMENTAL_INFO ((gssize) MAX (MAX (sizeof (GTypeFundamentalInfo), \ + sizeof (gpointer)), \ + sizeof (glong))) /* --- typedefs --- */ @@ -287,12 +290,12 @@ type_node_any_new_W (TypeNode *pnode, static_type_nodes[ftype] = g_renew (TypeNode*, static_type_nodes[ftype], 1 << g_bit_storage (static_branch_seqnos[ftype] - 1)); if (!pnode) - node_size += sizeof (GTypeFundamentalInfo); /* fundamental type info */ + node_size += SIZEOF_FUNDAMENTAL_INFO; /* fundamental type info */ node_size += SIZEOF_BASE_TYPE_NODE (); /* TypeNode structure */ node_size += (sizeof (GType) * (1 + n_supers + 1)); /* self + ancestors + 0 for ->supers[] */ node = g_malloc0 (node_size); if (!pnode) /* offset fundamental types */ - node = G_STRUCT_MEMBER_P (node, sizeof (GTypeFundamentalInfo)); + node = G_STRUCT_MEMBER_P (node, SIZEOF_FUNDAMENTAL_INFO); static_type_nodes[ftype][branch_last] = node; node->n_supers = n_supers; @@ -362,7 +365,7 @@ type_node_fundamental_info_L (TypeNode *node) if (ftype != NODE_TYPE (node)) node = lookup_type_node_L (ftype); - return node ? G_STRUCT_MEMBER_P (node, - (gssize) sizeof (GTypeFundamentalInfo)) : NULL; + return node ? G_STRUCT_MEMBER_P (node, - SIZEOF_FUNDAMENTAL_INFO) : NULL; } static TypeNode* diff --git a/gscanner.c b/gscanner.c index f770dd5a1..e73034a7f 100644 --- a/gscanner.c +++ b/gscanner.c @@ -366,17 +366,7 @@ g_scanner_key_hash (gconstpointer v) h = key->scope_id; for (c = key->symbol; *c; c++) - { - guint g; - - h = (h << 4) + *c; - g = h & 0xf0000000; - if (g) - { - h = h ^ (g >> 24); - h = h ^ g; - } - } + h = (h << 5) - h + *c; return h; }