r18401 - gnucash/trunk/src/libqof/qof - Fix GCC pointer strictness compiler errors/warnings and remove duplicate code
Christian Stimming
cstim at code.gnucash.org
Fri Oct 30 16:07:25 EDT 2009
Author: cstim
Date: 2009-10-30 16:07:25 -0400 (Fri, 30 Oct 2009)
New Revision: 18401
Trac: http://svn.gnucash.org/trac/changeset/18401
Modified:
gnucash/trunk/src/libqof/qof/guid.c
gnucash/trunk/src/libqof/qof/qofid.c
Log:
Fix GCC pointer strictness compiler errors/warnings and remove duplicate code
Patch by Matt Lavin <matt.lavin at gmail.com> (with const added by myself).
Modified: gnucash/trunk/src/libqof/qof/guid.c
===================================================================
--- gnucash/trunk/src/libqof/qof/guid.c 2009-10-30 19:50:59 UTC (rev 18400)
+++ gnucash/trunk/src/libqof/qof/guid.c 2009-10-30 20:07:25 UTC (rev 18401)
@@ -713,7 +713,8 @@
if (sizeof(guint) <= sizeof(guid->data))
{
- return (*((guint *) guid->data));
+ const guint* ptr_data = (const guint *) guid->data;
+ return (*ptr_data);
}
else
{
Modified: gnucash/trunk/src/libqof/qof/qofid.c
===================================================================
--- gnucash/trunk/src/libqof/qof/qofid.c 2009-10-30 19:50:59 UTC (rev 18400)
+++ gnucash/trunk/src/libqof/qof/qofid.c 2009-10-30 20:07:25 UTC (rev 18401)
@@ -58,48 +58,13 @@
/* =============================================================== */
-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;
}
More information about the gnucash-changes
mailing list