Ich versuche, Zeichenfolgen GArrays mit einer GHashTable zuordnen. Bisher war ich nicht erfolgreich.Kann ein GArray als Wert in einer GHashTable verwendet werden?
Ich erkläre die Hash-Tabelle wie folgt:
hash_table = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL);
Und mein garray etwa so:
array = g_array_new(1, 1, sizeof(uint64_t));
Ich versuche, das Array in die Hash-Tabelle einzufügen. Beim Einstecken überprüfe ich, ob es da ist. Der Schlüssel scheint dort zu sein, aber der Wert, auf den er geschrieben wird, ist NULL
.
GArray *old_array;
g_hash_table_insert(hash_table,
(gpointer) g_strdup(path),
(gpointer) array);
if (g_hash_table_lookup_extended(hash_table,
path, NULL, (void **) old_array)) {
printf("stored value is %p\n", old_array);
}
Ist was ich versuche zu tun? Wenn ja, wie vermeide ich den Wert NULL
?