Commit f86c2671 authored by Michael R Sweet's avatar Michael R Sweet

Do not write siblings of the passed node (Issue #228)

parent d32a5412
......@@ -9,6 +9,8 @@
trailer "]]" to the string (Issue #216)
- Cross-compiling failed on install (Issue #218)
- Fixed a crash bug in the `mxmlWrite` functions (Issue #228)
- The `mxmlWrite` functions no longer write the siblings of the passed node
(Issue #228)
- Updated the markdown and ZIP container libraries used for mxmldoc.
......
.TH mxml 3 "Mini-XML API" "09/29/18" "Mini-XML API"
.TH mxml 3 "Mini-XML API" "10/01/18" "Mini-XML API"
.SH NAME
mxml \- Mini-XML API
.SH INCLUDE FILE
......
......@@ -2972,6 +2972,20 @@ mxml_write_node(mxml_node_t *node, /* I - Node to write */
if ((next = current->child) == NULL)
{
if (current == node)
{
/*
* Don't traverse to sibling node if we are at the "root" node...
*/
next = NULL;
}
else
{
/*
* Try the next sibling, and continue traversing upwards as needed...
*/
while ((next = current->next) == NULL)
{
if (current == node || !current->parent)
......@@ -3001,6 +3015,10 @@ mxml_write_node(mxml_node_t *node, /* I - Node to write */
col = mxml_write_ws(current, p, cb, MXML_WS_AFTER_CLOSE, col, putc_cb);
}
if (current == node)
break;
}
}
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment