[libvirt] [libvirt-glib 1/4] config: Allow NULL node name to gvir_config_object_set_content

Christophe Fergeau cfergeau at redhat.com
Tue Sep 4 12:44:45 UTC 2012


This is useful when you want to set the content of the current node.
---
 libvirt-gconfig/libvirt-gconfig-object.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/libvirt-gconfig/libvirt-gconfig-object.c b/libvirt-gconfig/libvirt-gconfig-object.c
index a7352a5..ac0545c 100644
--- a/libvirt-gconfig/libvirt-gconfig-object.c
+++ b/libvirt-gconfig/libvirt-gconfig-object.c
@@ -534,7 +534,6 @@ gvir_config_object_set_node_content(GVirConfigObject *object,
     GVirConfigObject *node;
 
     g_return_if_fail(GVIR_CONFIG_IS_OBJECT(object));
-    g_return_if_fail(node_name != NULL);
 
     if (value == NULL) {
         gvir_config_object_delete_child(object, node_name, NULL);
@@ -542,8 +541,12 @@ gvir_config_object_set_node_content(GVirConfigObject *object,
         return;
     }
 
-    node = gvir_config_object_replace_child(object, node_name);
-    g_return_if_fail(node != NULL);
+    if (node_name != NULL) {
+        node = gvir_config_object_replace_child(object, node_name);
+        g_return_if_fail(node != NULL);
+    } else {
+        node = g_object_ref(G_OBJECT(object));
+    }
     encoded_data = xmlEncodeEntitiesReentrant(node->priv->node->doc,
                                               (xmlChar *)value);
     xmlNodeSetContent(node->priv->node, encoded_data);
@@ -559,7 +562,6 @@ gvir_config_object_set_node_content_uint64(GVirConfigObject *object,
     char *str;
 
     g_return_if_fail(GVIR_CONFIG_IS_OBJECT(object));
-    g_return_if_fail(node_name != NULL);
 
     str = g_strdup_printf("%"G_GUINT64_FORMAT, value);
     gvir_config_object_set_node_content(object, node_name, str);
-- 
1.7.11.4




More information about the libvir-list mailing list