From 740a19a81905ff04710f4a154c0c9277e72d7c74 Mon Sep 17 00:00:00 2001 From: David Gibson Date: Fri, 21 Oct 2005 17:26:45 +1000 Subject: [PATCH] Alter add_property() and add_child() functiosn to add to the end of their respective linked lists. This means we no longer reverse the order or properties and subnodes when in blob or fs input modes. --- livetree.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/livetree.c b/livetree.c index 5b07680..6a1f4f9 100644 --- a/livetree.c +++ b/livetree.c @@ -84,12 +84,28 @@ struct node *chain_node(struct node *first, struct node *list) void add_property(struct node *node, struct property *prop) { - node->proplist = chain_property(prop, node->proplist); + struct property **p; + + prop->next = NULL; + + p = &node->proplist; + while (*p) + p = &((*p)->next); + + *p = prop; } void add_child(struct node *parent, struct node *child) { - parent->children = chain_node(child, parent->children); + struct node **p; + + child->next_sibling = NULL; + + p = &parent->children; + while (*p) + p = &((*p)->next_sibling); + + *p = child; }