]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
conf: Refactor virDomainPanicDefFormat
authorPeter Krempa <pkrempa@redhat.com>
Tue, 5 Mar 2019 09:17:31 +0000 (10:17 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Wed, 6 Mar 2019 14:53:52 +0000 (15:53 +0100)
Use virXMLFormatElement to format the internals along with simplifying
cleanup code paths.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/conf/domain_conf.c

index ed480bcf8e4f6515aaaf83524f2abeea8cecd215..766846a557f2a8fc25d13c51a25efda633225593 100644 (file)
@@ -25921,36 +25921,18 @@ virDomainWatchdogDefFormat(virBufferPtr buf,
 static int virDomainPanicDefFormat(virBufferPtr buf,
                                    virDomainPanicDefPtr def)
 {
-    virBuffer childrenBuf = VIR_BUFFER_INITIALIZER;
-    int ret = -1;
-
-    virBufferAddLit(buf, "<panic");
+    VIR_AUTOCLEAN(virBuffer) attrBuf = VIR_BUFFER_INITIALIZER;
+    VIR_AUTOCLEAN(virBuffer) childrenBuf = VIR_BUFFER_INITIALIZER;
 
     if (def->model)
-        virBufferAsprintf(buf, " model='%s'",
+        virBufferAsprintf(&attrBuf, " model='%s'",
                           virDomainPanicModelTypeToString(def->model));
 
     virBufferSetChildIndent(&childrenBuf, buf);
     if (virDomainDeviceInfoFormat(&childrenBuf, &def->info, 0) < 0)
-        goto cleanup;
-
-    if (virBufferCheckError(&childrenBuf) < 0)
-        goto cleanup;
-
-    if (virBufferUse(&childrenBuf)) {
-        virBufferAddLit(buf, ">\n");
-        virBufferAddBuffer(buf, &childrenBuf);
-        virBufferAddLit(buf, "</panic>\n");
-    } else {
-        virBufferAddLit(buf, "/>\n");
-    }
-
-    ret = 0;
-
- cleanup:
-    virBufferFreeAndReset(&childrenBuf);
+        return -1;
 
-    return ret;
+    return virXMLFormatElement(buf, "panic", &attrBuf, &childrenBuf);
 }
 
 static int