[libvirt PATCH v3 3/5] conf: refactor virDomainResourceDefFormat

Pavel Hrdina phrdina at redhat.com
Tue Aug 17 09:26:40 UTC 2021


Prepare the function for additional sub-elements where all of the
sub-elements are optional.

Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
---
 src/conf/domain_conf.c | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 7dff6c8beb..571650bfd3 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -26761,11 +26761,15 @@ static void
 virDomainResourceDefFormat(virBuffer *buf,
                            virDomainResourceDef *def)
 {
-    virBufferAddLit(buf, "<resource>\n");
-    virBufferAdjustIndent(buf, 2);
-    virBufferEscapeString(buf, "<partition>%s</partition>\n", def->partition);
-    virBufferAdjustIndent(buf, -2);
-    virBufferAddLit(buf, "</resource>\n");
+    g_auto(virBuffer) childBuf = VIR_BUFFER_INIT_CHILD(buf);
+
+    if (!def)
+        return;
+
+    if (def->partition)
+        virBufferEscapeString(&childBuf, "<partition>%s</partition>\n", def->partition);
+
+    virXMLFormatElement(buf, "resource", NULL, &childBuf);
 }
 
 
@@ -27918,8 +27922,7 @@ virDomainDefFormatInternalSetRootName(virDomainDef *def,
     if (virDomainNumatuneFormatXML(buf, def->numa) < 0)
         return -1;
 
-    if (def->resource)
-        virDomainResourceDefFormat(buf, def->resource);
+    virDomainResourceDefFormat(buf, def->resource);
 
     for (i = 0; i < def->nsysinfo; i++) {
         if (virSysinfoFormat(buf, def->sysinfo[i]) < 0)
-- 
2.31.1




More information about the libvir-list mailing list