On Wed, Mar 06, 2019 at 09:20:29AM +0100, Peter Krempa wrote:
Use virXMLFormatElement to format the internals along with
simplifying
cleanup code paths.
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
src/conf/domain_conf.c | 47 ++++++++++--------------------------------
1 file changed, 11 insertions(+), 36 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index cbefa7749b..fd3f19d6ce 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -25858,40 +25859,14 @@ virDomainMemballoonDefFormat(virBufferPtr buf,
virBufferAsprintf(&childrenBuf, "<stats
period='%i'/>\n", def->period);
if (virDomainDeviceInfoFormat(&childrenBuf, &def->info, flags) < 0)
- goto cleanup;
-
- if (def->virtio) {
- virBuffer driverBuf = VIR_BUFFER_INITIALIZER;
-
- virDomainVirtioOptionsFormat(&driverBuf, def->virtio);
-
- if (virBufferCheckError(&driverBuf) < 0)
- goto cleanup;
-
- if (virBufferUse(&driverBuf)) {
- virBufferAddLit(&childrenBuf, "<driver");
- virBufferAddBuffer(&childrenBuf, &driverBuf);
- virBufferAddLit(&childrenBuf, "/>\n");
- }
- }
Eww, who added this? ;)
-
- if (virBufferCheckError(&childrenBuf) < 0)
- goto cleanup;
-
- if (!virBufferUse(&childrenBuf)) {
- virBufferAddLit(buf, "/>\n");
- } else {
- virBufferAddLit(buf, ">\n");
- virBufferAddBuffer(buf, &childrenBuf);
- virBufferAddLit(buf, "</memballoon>\n");
- }
+ return -1;
- ret = 0;
+ virDomainVirtioOptionsFormat(&driverAttrBuf, def->virtio);
- cleanup:
- virBufferFreeAndReset(&childrenBuf);
+ if (virXMLFormatElement(&childrenBuf, "driver", &driverAttrBuf,
NULL) < 0)
+ return -1;
- return ret;
+ return virXMLFormatElement(buf, "memballoon", &attrBuf,
&childrenBuf);
}
Reviewed-by: Ján Tomko <jtomko(a)redhat.com>
Jano