db: Fix issue retrieving identity mechanisms.
authorAmarnath Valluri <amarnath.valluri@linux.intel.com>
Thu, 7 Mar 2013 08:27:27 +0000 (10:27 +0200)
committerJussi Laako <jussi.laako@linux.intel.com>
Tue, 19 Mar 2013 14:17:58 +0000 (16:17 +0200)
src/common/db/gsignond-db-sql-database.c

index 3d8ecf8..0269298 100644 (file)
@@ -569,13 +569,12 @@ _gsignond_db_read_int_string_tuple (
         sqlite3_stmt *stmt,
         GHashTable *tuples)
 {
-    gint id;
+    gint id;
     const gchar *method = NULL;
 
-    id = (gint *)g_malloc (sizeof(gint));
-    *id = sqlite3_column_int (stmt, 0);
+    id = sqlite3_column_int (stmt, 0);
     method = (const gchar *)sqlite3_column_text (stmt, 1);
-    g_hash_table_insert(tuples, id, g_strdup (method));
+    g_hash_table_insert(tuples, GINT_TO_POINTER(id), g_strdup (method));
     return TRUE;
 }
 
@@ -601,9 +600,9 @@ gsignond_db_sql_database_query_exec_int_string_tuple (
     g_return_val_if_fail (GSIGNOND_DB_IS_SQL_DATABASE (self), 0);
     g_return_val_if_fail (self->priv->db != NULL, 0);
 
-    tuples = g_hash_table_new_full ((GHashFunc)g_int_hash,
-                                    (GEqualFunc)g_int_equal,
-                                    (GDestroyNotify)g_free,
+    tuples = g_hash_table_new_full ((GHashFunc)g_direct_hash,
+                                    (GEqualFunc)g_direct_equal,
+                                    (GDestroyNotify)NULL,
                                     (GDestroyNotify)g_free);
 
     rows = gsignond_db_sql_database_query_exec (GSIGNOND_DB_SQL_DATABASE (self),