diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 5f6398fc12..7b477a561e 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -2954,6 +2954,7 @@ virVHBAPathExists; virXMLCheckIllegalChars; virXMLChildElementCount; virXMLExtractNamespaceXML; +virXMLNodeContentString; virXMLNodeNameEqual; virXMLNodeSanitizeNamespaces; virXMLNodeToString; diff --git a/src/util/virxml.c b/src/util/virxml.c index d7a8f7267b..562a4bf3ba 100644 --- a/src/util/virxml.c +++ b/src/util/virxml.c @@ -540,6 +540,22 @@ virXMLPropStringLimit(xmlNodePtr node, } +/** + * virXMLNodeContentString: + * @node: XML dom node pointer + * + * Convenience function to return copy of content of an XML node. + * + * Returns the content value as string or NULL in case of failure. + * The caller is responsible for freeing the returned buffer. + */ +char * +virXMLNodeContentString(xmlNodePtr node) +{ + return (char *)xmlNodeGetContent(node); +} + + /** * virXPathBoolean: * @xpath: the XPath string to evaluate diff --git a/src/util/virxml.h b/src/util/virxml.h index 1ecc6b0a61..86baeb37a7 100644 --- a/src/util/virxml.h +++ b/src/util/virxml.h @@ -76,6 +76,7 @@ char * virXMLPropString(xmlNodePtr node, char * virXMLPropStringLimit(xmlNodePtr node, const char *name, size_t maxlen); +char * virXMLNodeContentString(xmlNodePtr node); long virXMLChildElementCount(xmlNodePtr node); /* Internal function; prefer the macros below. */