Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
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 5adca7c29c..89e2900df2 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, "<backingStore type='%s'",
+ virBufferAsprintf(&attrBuf, " type='%s'",
virStorageTypeToString(backingStore->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, "<format type='%s'/>\n",
+ virBufferAsprintf(&childBuf, "<format type='%s'/>\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, "</backingStore>\n");
+ if (virXMLFormatElement(buf, "backingStore", &attrBuf, &childBuf)
< 0)
+ return -1;
+
return 0;
}
--
2.20.1