From 4cc562651f9de7351cdc1bda16a3526508122224 Mon Sep 17 00:00:00 2001 From: Pavel Hrdina Date: Thu, 6 Mar 2025 15:31:46 +0100 Subject: [PATCH] util: virxml: introduce virXMLFormatElementDirect MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit This can be used to format XML where the element has direct value instead of any subelement. For example: 1524288 Signed-off-by: Pavel Hrdina Reviewed-by: Ján Tomko --- src/libvirt_private.syms | 1 + src/util/virxml.c | 14 ++++++++++++++ src/util/virxml.h | 6 ++++++ 3 files changed, 21 insertions(+) diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index db8c29ec1d..7c0847dbdc 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -3781,6 +3781,7 @@ virXMLBufferCreate; virXMLCheckIllegalChars; virXMLExtractNamespaceXML; virXMLFormatElement; +virXMLFormatElementDirect; virXMLFormatElementEmpty; virXMLFormatElementInternal; virXMLFormatMetadata; diff --git a/src/util/virxml.c b/src/util/virxml.c index 670cace4ab..1295945472 100644 --- a/src/util/virxml.c +++ b/src/util/virxml.c @@ -1767,6 +1767,20 @@ virXMLFormatElementEmpty(virBuffer *buf, } +/** + * Same as virXMLFormatElement but the child is direct value without + * subelements. + */ +void +virXMLFormatElementDirect(virBuffer *buf, + const char *name, + virBuffer *attrBuf, + virBuffer *childBuf) +{ + virXMLFormatElementInternal(buf, name, attrBuf, childBuf, false, false); +} + + /** * virXMLFormatElement * @buf: the parent buffer where the element will be placed diff --git a/src/util/virxml.h b/src/util/virxml.h index 06ba324df0..4284a8ffce 100644 --- a/src/util/virxml.h +++ b/src/util/virxml.h @@ -351,6 +351,12 @@ virXMLFormatElementEmpty(virBuffer *buf, virBuffer *attrBuf, virBuffer *childBuf); +void +virXMLFormatElementDirect(virBuffer *buf, + const char *name, + virBuffer *attrBuf, + virBuffer *childBuf); + int virXMLFormatMetadata(virBuffer *buf, xmlNodePtr metadata); -- 2.47.3