From 0b41f4823f49c4d90b9b8bb1841aea65fb626013 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Bosdonnat?= Date: Tue, 7 Jul 2015 16:20:31 +0200 Subject: [glib] Don't overwrite filesystem type when writing format When setting filesystem driver format first and type, only the type remained and vice-versa. --- libvirt-gconfig/libvirt-gconfig-domain-filesys.c | 8 ++++++-- 1 files changed, 8 insertions(+), 4 deletions(-) diff --git a/libvirt-gconfig/libvirt-gconfig-domain-filesys.c b/libvirt-gconfig/libvirt-gconfig-domain-filesys.c index 9b73af5..4e33d5f 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-filesys.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-filesys.c @@ -125,7 +125,9 @@ void gvir_config_domain_filesys_set_driver_type(GVirConfigDomainFilesys *filesys GVirConfigObject *node; g_return_if_fail(GVIR_CONFIG_IS_DOMAIN_FILESYS(filesys)); - node = gvir_config_object_replace_child(GVIR_CONFIG_OBJECT(filesys), "driver"); + node = gvir_config_object_get_child(GVIR_CONFIG_OBJECT(filesys), "driver"); + if (!node) + node = gvir_config_object_add_child(GVIR_CONFIG_OBJECT(filesys), "driver"); g_return_if_fail(GVIR_CONFIG_IS_OBJECT(node)); if (type != GVIR_CONFIG_DOMAIN_FILESYS_DRIVER_DEFAULT) gvir_config_object_set_attribute_with_type( @@ -143,7 +145,9 @@ void gvir_config_domain_filesys_set_driver_format(GVirConfigDomainFilesys *files GVirConfigObject *node; g_return_if_fail(GVIR_CONFIG_IS_DOMAIN_FILESYS(filesys)); - node = gvir_config_object_replace_child(GVIR_CONFIG_OBJECT(filesys), "driver"); + node = gvir_config_object_get_child(GVIR_CONFIG_OBJECT(filesys), "driver"); + if (!node) + node = gvir_config_object_add_child(GVIR_CONFIG_OBJECT(filesys), "driver"); g_return_if_fail(GVIR_CONFIG_IS_OBJECT(node)); gvir_config_object_set_attribute_with_type( 2.1.4