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