From eac59d32d13ff474afa8156a6347b21517fa39b8 Mon Sep 17 00:00:00 2001 From: Christian Stimming Date: Fri, 30 Oct 2009 20:07:25 +0000 Subject: [PATCH] Fix GCC pointer strictness compiler errors/warnings and remove duplicate code Patch by Matt Lavin (with const added by myself). git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18401 57a11ea4-9604-0410-9ed3-97b8803252fd --- src/libqof/qof/guid.c | 3 ++- src/libqof/qof/qofid.c | 37 +------------------------------------ 2 files changed, 3 insertions(+), 37 deletions(-) diff --git a/src/libqof/qof/guid.c b/src/libqof/qof/guid.c index fd39690a3e..41dc51d875 100644 --- a/src/libqof/qof/guid.c +++ b/src/libqof/qof/guid.c @@ -713,7 +713,8 @@ guid_hash_to_guint (gconstpointer ptr) if (sizeof(guint) <= sizeof(guid->data)) { - return (*((guint *) guid->data)); + const guint* ptr_data = (const guint *) guid->data; + return (*ptr_data); } else { diff --git a/src/libqof/qof/qofid.c b/src/libqof/qof/qofid.c index f715ddba19..59f7ebee81 100644 --- a/src/libqof/qof/qofid.c +++ b/src/libqof/qof/qofid.c @@ -58,48 +58,13 @@ qof_set_alt_dirty_mode (gboolean enabled) /* =============================================================== */ -static guint -id_hash (gconstpointer key) -{ - const GUID *guid = key; - - if (key == NULL) - return 0; - - /* Compiler should optimize this all away! */ - if (sizeof(guint) <= 16) - return *((guint *) guid->data); - else - { - guint hash = 0; - unsigned int i, j; - - for (i = 0, j = 0; i < sizeof(guint); i++, j++) - { - if (j == 16) - j = 0; - - hash <<= 4; - hash |= guid->data[j]; - } - - return hash; - } -} - -static gboolean -id_compare(gconstpointer key_1, gconstpointer key_2) -{ - return guid_equal (key_1, key_2); -} - QofCollection * qof_collection_new (QofIdType type) { QofCollection *col; col = g_new0(QofCollection, 1); col->e_type = CACHE_INSERT (type); - col->hash_of_entities = g_hash_table_new (id_hash, id_compare); + col->hash_of_entities = guid_hash_table_new(); col->data = NULL; return col; }