diff -r 16e2a3391e88 -r d4baf4dd55c3 src/tree.c --- a/src/tree.c Thu May 23 18:21:36 2024 +0200 +++ b/src/tree.c Thu May 23 19:29:14 2024 +0200 @@ -205,10 +205,10 @@ cx_tree_iter_search_next: // check if there is a sibling if (iter->exiting) { - next = iter->next; + next = iter->node_next; } else { next = tree_next(iter->node); - iter->next = next; + iter->node_next = next; } if (next == NULL) { // no sibling, we are done with this node and exit @@ -220,7 +220,7 @@ if (iter->depth == 1) { // there is no parent - we have iterated the entire tree // invalidate the iterator and free the node stack - iter->node = iter->next = NULL; + iter->node = iter->node_next = NULL; iter->stack_capacity = iter->depth = 0; free(iter->stack); iter->stack = NULL; @@ -272,7 +272,7 @@ // visit the root node iter.node = root; - iter.next = NULL; + iter.node_next = NULL; iter.counter = 1; iter.depth = 1; iter.stack[0] = root; @@ -280,12 +280,12 @@ iter.skip = false; // assign base iterator functions - iter.base.mutating = false; - iter.base.remove = false; - iter.base.current_impl = NULL; - iter.base.valid = cx_tree_iter_valid; - iter.base.next = cx_tree_iter_next; - iter.base.current = cx_tree_iter_current; + iter.mutating = false; + iter.remove = false; + iter.current_impl = NULL; + iter.valid = cx_tree_iter_valid; + iter.next = cx_tree_iter_next; + iter.current = cx_tree_iter_current; return iter; } @@ -389,12 +389,12 @@ iter.queue_last = NULL; // assign base iterator functions - iter.base.mutating = false; - iter.base.remove = false; - iter.base.current_impl = NULL; - iter.base.valid = cx_tree_visitor_valid; - iter.base.next = cx_tree_visitor_next; - iter.base.current = cx_tree_visitor_current; + iter.mutating = false; + iter.remove = false; + iter.current_impl = NULL; + iter.valid = cx_tree_visitor_valid; + iter.next = cx_tree_visitor_next; + iter.current = cx_tree_visitor_current; return iter; }