aboutsummaryrefslogtreecommitdiffstats
path: root/lib/xmltree.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/xmltree.c')
-rw-r--r--lib/xmltree.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/xmltree.c b/lib/xmltree.c
index b0a945ce..00b37ae6 100644
--- a/lib/xmltree.c
+++ b/lib/xmltree.c
@@ -549,6 +549,26 @@ void xt_add_child( struct xt_node *parent, struct xt_node *child )
}
}
+/* Same, but at the beginning. */
+void xt_insert_child( struct xt_node *parent, struct xt_node *child )
+{
+ struct xt_node *node, *last;
+
+ for( node = child; node; node = node->next )
+ {
+ if( node->parent != NULL )
+ {
+ /* ERROR CONDITION: They seem to have a parent already??? */
+ }
+
+ node->parent = parent;
+ last = node;
+ }
+
+ last->next = parent->children;
+ parent->children = child;
+}
+
void xt_add_attr( struct xt_node *node, const char *key, const char *value )
{
int i;