--- libvirt-gconfig/libvirt-gconfig-domain.c | 17 +++-------------- libvirt-gconfig/libvirt-gconfig-domain.h | 1 - 2 files changed, 3 insertions(+), 15 deletions(-) diff --git a/libvirt-gconfig/libvirt-gconfig-domain.c b/libvirt-gconfig/libvirt-gconfig-domain.c index d971a95..5db6bc4 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain.c +++ b/libvirt-gconfig/libvirt-gconfig-domain.c @@ -224,27 +224,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_replace_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"); } diff --git a/libvirt-gconfig/libvirt-gconfig-domain.h b/libvirt-gconfig/libvirt-gconfig-domain.h index d9f0c09..6cc8f31 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain.h +++ b/libvirt-gconfig/libvirt-gconfig-domain.h @@ -70,7 +70,6 @@ GStrv gvir_config_domain_get_features(GVirConfigDomain *domain); void gvir_config_domain_set_features(GVirConfigDomain *domain, const GStrv features); - G_END_DECLS #endif /* __LIBVIRT_GCONFIG_DOMAIN_H__ */ -- 1.7.7.3 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list