summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgnacio Casal Quinteiro <icq@gnome.org>2016-02-05 11:38:05 +0100
committerIgnacio Casal Quinteiro <icq@gnome.org>2016-02-05 11:39:30 +0100
commit63b0f1087d4e4d209b5db53c6abf18dc1fdcf9a2 (patch)
treeaa01222a9c1715e71ed2716e652c6fef86d8fc8b
parentc73e9fc36acbbd9f37bf23af913631d23fcbbe7e (diff)
downloadglib-63b0f1087d4e4d209b5db53c6abf18dc1fdcf9a2.tar.gz
registrybackend: another cleanup creating a registry cache item
-rw-r--r--gio/gregistrysettingsbackend.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/gio/gregistrysettingsbackend.c b/gio/gregistrysettingsbackend.c
index 3e3dfd52a..357b5de6f 100644
--- a/gio/gregistrysettingsbackend.c
+++ b/gio/gregistrysettingsbackend.c
@@ -603,6 +603,7 @@ registry_cache_get_node_for_key_recursive (GNode *node,
return child;
trace ("get node for key recursive: next: %s.\n", c + 1);
+
return registry_cache_get_node_for_key_recursive (child, c + 1,
create_if_not_found,
n_parent_watches);
@@ -632,15 +633,13 @@ registry_cache_get_node_for_key (GNode *root,
child = registry_cache_find_immediate_child (root, component);
if (child == NULL && create_if_not_found)
{
+ RegistryValue null_value = { REG_NONE, {0} };
+
/* Reference count is set to 0, tree should be referenced by the caller */
- RegistryCacheItem *item = g_slice_new (RegistryCacheItem);
- item->value.type = REG_NONE;
- item->value.ptr = NULL;
- item->name = g_strdup (component);
- item->ref_count = 0;
- trace ("get_node_for_key: New node for component '%s'\n", item->name);
- child = g_node_new (item);
- g_node_append (root, child);
+ child = registry_cache_add_item (root, component,
+ null_value, 0);
+
+ trace ("get_node_for_key: New node for component '%s'\n", component);
}
if (c == NULL)