---
libvirt-gconfig/libvirt-gconfig-domain.c | 17 +++--------------
1 files changed, 3 insertions(+), 14 deletions(-)
diff --git a/libvirt-gconfig/libvirt-gconfig-domain.c
b/libvirt-gconfig/libvirt-gconfig-domain.c
index 3290389..c847c14 100644
--- a/libvirt-gconfig/libvirt-gconfig-domain.c
+++ b/libvirt-gconfig/libvirt-gconfig-domain.c
@@ -223,27 +223,16 @@ GStrv gvir_config_domain_get_features(GVirConfigDomain *domain)
void gvir_config_domain_set_features(GVirConfigDomain *domain,
const GStrv features)
{
- xmlNodePtr parent_node;
xmlNodePtr features_node;
- xmlNodePtr old_node;
GStrv it;
- parent_node = gvir_config_object_get_xml_node(GVIR_CONFIG_OBJECT(domain));
- features_node = xmlNewDocNode(parent_node->doc, NULL,
- (xmlChar *)"features", NULL);
+ features_node = gvir_config_object_new_child(GVIR_CONFIG_OBJECT(domain),
+ "features");
for (it = features; *it != NULL; it++) {
xmlNodePtr node;
- node = xmlNewDocNode(parent_node->doc, NULL, (xmlChar *)*it, NULL);
+ node = xmlNewDocNode(features_node->doc, NULL, (xmlChar *)*it, NULL);
xmlAddChild(features_node, node);
}
-
- old_node = gvir_config_xml_get_element(parent_node, "features", NULL);
- if (old_node) {
- old_node = xmlReplaceNode(old_node, features_node);
- xmlFreeNode(old_node);
- } else {
- xmlAddChild(parent_node, features_node);
- }
g_object_notify(G_OBJECT(domain), "features");
}
--
1.7.7