[PATCH] Fix GCC pointer strictness compiler errors/warnings and remove duplicate code
Matt Lavin
matt.lavin at gmail.com
Wed Oct 21 10:34:43 EDT 2009
---
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 fd39690..2bb4ec9 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));
+ guint* int_data = (guint *) guid->data;
+ return (*int_data);
}
else
{
diff --git a/src/libqof/qof/qofid.c b/src/libqof/qof/qofid.c
index f715ddb..59f7ebe 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;
}
--
1.6.3.3
--=-j4Pss6115HhPm8fXJ+Jb--
More information about the gnucash-devel
mailing list