From 0f13b78b202d5e818c61106d570f1b7245a38a9c Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Thu, 7 Mar 2019 18:00:03 +0100 Subject: [PATCH] conf: Use virXMLFormatElement in virDomainDiskBackingStoreFormat MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Peter Krempa Reviewed-by: Ján Tomko --- src/conf/domain_conf.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 940ef5aee7..6a2d46b3e9 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -23826,8 +23826,12 @@ virDomainDiskBackingStoreFormat(virBufferPtr buf, virDomainXMLOptionPtr xmlopt, unsigned int flags) { + VIR_AUTOCLEAN(virBuffer) attrBuf = VIR_BUFFER_INITIALIZER; + VIR_AUTOCLEAN(virBuffer) childBuf = VIR_BUFFER_INITIALIZER; bool inactive = flags & VIR_DOMAIN_DEF_FORMAT_INACTIVE; + virBufferSetChildIndent(&childBuf, buf); + if (!backingStore) return 0; @@ -23847,22 +23851,23 @@ virDomainDiskBackingStoreFormat(virBufferPtr buf, return -1; } - virBufferAsprintf(buf, "type)); if (backingStore->id != 0) - virBufferAsprintf(buf, " index='%u'", backingStore->id); - virBufferAddLit(buf, ">\n"); - virBufferAdjustIndent(buf, 2); + virBufferAsprintf(&attrBuf, " index='%u'", backingStore->id); - virBufferAsprintf(buf, "\n", + virBufferAsprintf(&childBuf, "\n", virStorageFileFormatTypeToString(backingStore->format)); - if (virDomainDiskSourceFormat(buf, backingStore, 0, false, flags, xmlopt) < 0 || - virDomainDiskBackingStoreFormat(buf, backingStore->backingStore, + if (virDomainDiskSourceFormat(&childBuf, backingStore, 0, false, flags, xmlopt) < 0) + return -1; + + if (virDomainDiskBackingStoreFormat(&childBuf, backingStore->backingStore, xmlopt, flags) < 0) return -1; - virBufferAdjustIndent(buf, -2); - virBufferAddLit(buf, "\n"); + if (virXMLFormatElement(buf, "backingStore", &attrBuf, &childBuf) < 0) + return -1; + return 0; } -- 2.47.2