1
0
mirror of https://gitlab.xiph.org/xiph/icecast-server.git synced 2024-09-22 04:15:54 -04:00

Fix: Set namespace correctly for child nodes

This commit is contained in:
Philipp Schafft 2020-10-04 13:36:36 +00:00
parent 34fa9f0ce3
commit 395b994707

View File

@ -598,7 +598,7 @@ reportxml_node_t * reportxml_node_copy(reportxml_node_t *node)
return __reportxml_node_copy_with_db(node, NULL, -1);
}
xmlNodePtr reportxml_node_render_xmlnode(reportxml_node_t *node)
static xmlNodePtr reportxml_node_render_xmlnode_with_ns(reportxml_node_t *node, xmlNsPtr ns)
{
xmlNodePtr ret;
ssize_t child_count;
@ -631,13 +631,14 @@ xmlNodePtr reportxml_node_render_xmlnode(reportxml_node_t *node)
xmlns = xmlGetProp(ret, XMLSTR("xmlns"));
if (xmlns) {
xmlNsPtr ns;
xmlUnsetProp(ret, XMLSTR("xmlns"));
ns = xmlNewNs(ret, xmlns, NULL);
xmlSetNs(ret, ns);
xmlFree(xmlns);
}
if (ns)
xmlSetNs(ret, ns);
for (i = 0; i < (size_t)child_count; i++) {
reportxml_node_t *child = reportxml_node_get_child(node, i);
xmlNodePtr xmlchild;
@ -647,7 +648,7 @@ xmlNodePtr reportxml_node_render_xmlnode(reportxml_node_t *node)
return NULL;
}
xmlchild = reportxml_node_render_xmlnode(child);
xmlchild = reportxml_node_render_xmlnode_with_ns(child, ns);
refobject_unref(child);
if (!xmlchild) {
xmlFreeNode(ret);
@ -683,6 +684,11 @@ xmlNodePtr reportxml_node_render_xmlnode(reportxml_node_t *node)
return ret;
}
xmlNodePtr reportxml_node_render_xmlnode(reportxml_node_t *node)
{
return reportxml_node_render_xmlnode_with_ns(node, NULL);
}
reportxml_node_type_t reportxml_node_get_type(reportxml_node_t *node)
{
if (!node)