From: Pavel Hrdina Date: Thu, 6 Mar 2025 17:21:50 +0000 (+0100) Subject: domain_conf: refactor virDomainLoaderDefFormatNvram X-Git-Tag: v11.2.0-rc1~232 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e042ff6dd03222c052f62b140928df8e353db448;p=thirdparty%2Flibvirt.git domain_conf: refactor virDomainLoaderDefFormatNvram Use the new virXMLFormatDirect in order to remove usage of virXMLFormatInternal. Signed-off-by: Pavel Hrdina Reviewed-by: Ján Tomko --- diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 6a2a1d1ed7..b6c2bd1436 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -27037,10 +27037,8 @@ virDomainLoaderDefFormatNvram(virBuffer *buf, unsigned int flags) { g_auto(virBuffer) attrBuf = VIR_BUFFER_INITIALIZER; - g_auto(virBuffer) childBufDirect = VIR_BUFFER_INITIALIZER; - g_auto(virBuffer) childBufChild = VIR_BUFFER_INIT_CHILD(buf); - virBuffer *childBuf = &childBufDirect; - bool childNewline = false; + g_auto(virBuffer) directBuf = VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) childBuf = VIR_BUFFER_INIT_CHILD(buf); virBufferEscapeString(&attrBuf, " template='%s'", loader->nvramTemplate); @@ -27053,14 +27051,11 @@ virDomainLoaderDefFormatNvram(virBuffer *buf, virStorageSource *src = loader->nvram; if (!loader->newStyleNVRAM) { - virBufferEscapeString(&childBufDirect, "%s", src->path); + virBufferEscapeString(&directBuf, "%s", src->path); } else { - childNewline = true; - childBuf = &childBufChild; - virBufferAsprintf(&attrBuf, " type='%s'", virStorageTypeToString(src->type)); - if (virDomainDiskSourceFormat(&childBufChild, src, "source", 0, + if (virDomainDiskSourceFormat(&childBuf, src, "source", 0, false, flags, false, false, xmlopt) < 0) return -1; } @@ -27071,7 +27066,10 @@ virDomainLoaderDefFormatNvram(virBuffer *buf, } } - virXMLFormatElementInternal(buf, "nvram", &attrBuf, childBuf, false, childNewline); + if (virBufferUse(&directBuf) > 0) + virXMLFormatElementDirect(buf, "nvram", &attrBuf, &directBuf); + else + virXMLFormatElement(buf, "nvram", &attrBuf, &childBuf); return 0; }