]> xenbits.xensource.com Git - libvirt.git/commitdiff
conf: Refactor formatting of 'driver' in virDomainRNGDefFormat
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 766846a557f2a8fc25d13c51a25efda633225593..71e0c8679b82afc337a570d646f59abeabe7aff2 100644 (file)
@@ -25982,8 +25982,7 @@ virDomainRNGDefFormat(virBufferPtr buf,
 {
     const char *model = virDomainRNGModelTypeToString(def->model);
     const char *backend = virDomainRNGBackendTypeToString(def->backend);
-    virBuffer driverBuf = VIR_BUFFER_INITIALIZER;
-    int ret = -1;
+    VIR_AUTOCLEAN(virBuffer) driverAttrBuf = VIR_BUFFER_INITIALIZER;
 
     virBufferAsprintf(buf, "<rng model='%s'>\n", model);
     virBufferAdjustIndent(buf, 2);
@@ -26002,11 +26001,11 @@ virDomainRNGDefFormat(virBufferPtr buf,
 
     case VIR_DOMAIN_RNG_BACKEND_EGD:
         if (virDomainChrAttrsDefFormat(buf, def->source.chardev, false) < 0)
-            goto cleanup;
+            return -1;
         virBufferAddLit(buf, ">\n");
         virBufferAdjustIndent(buf, 2);
         if (virDomainChrSourceDefFormat(buf, def->source.chardev, flags) < 0)
-            goto cleanup;
+            return -1;
         virBufferAdjustIndent(buf, -2);
         virBufferAddLit(buf, "</backend>\n");
 
@@ -26014,28 +26013,18 @@ virDomainRNGDefFormat(virBufferPtr buf,
         break;
     }
 
-    virDomainVirtioOptionsFormat(&driverBuf, def->virtio);
-    if (virBufferCheckError(&driverBuf) < 0)
-        goto cleanup;
+    virDomainVirtioOptionsFormat(&driverAttrBuf, def->virtio);
 
-    if (virBufferUse(&driverBuf)) {
-        virBufferAddLit(buf, "<driver");
-        virBufferAddBuffer(buf, &driverBuf);
-        virBufferAddLit(buf, "/>\n");
-    }
+    if (virXMLFormatElement(buf, "driver", &driverAttrBuf, NULL) < 0)
+        return -1;
 
     if (virDomainDeviceInfoFormat(buf, &def->info, flags) < 0)
-        goto cleanup;
+        return -1;
 
     virBufferAdjustIndent(buf, -2);
     virBufferAddLit(buf, "</rng>\n");
 
-    ret = 0;
-
- cleanup:
-    virBufferFreeAndReset(&driverBuf);
-
-    return ret;
+    return 0;
 }
 
 void