summaryrefslogtreecommitdiffstats
path: root/zix
diff options
context:
space:
mode:
Diffstat (limited to 'zix')
-rw-r--r--zix/btree.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/zix/btree.c b/zix/btree.c
index 55d6613..0300523 100644
--- a/zix/btree.c
+++ b/zix/btree.c
@@ -537,7 +537,8 @@ zix_btree_remove(ZixBTree* const t,
*out = zix_btree_aerase(n->vals, --n->n_vals, i);
if (ti && i == n->n_vals) {
if (i == 0) {
- ti->stack[ti->level = 0].node = NULL;
+ ti->level = 0;
+ ti->stack[0].node = NULL;
} else {
--ti->stack[ti->level].index;
zix_btree_iter_increment(ti);
@@ -697,6 +698,7 @@ zix_btree_lower_bound(const ZixBTree* const t,
(*ti)->level = found_level;
} else {
// Reached end (key is greater than everything in tree)
+ (*ti)->level = 0;
(*ti)->stack[0].node = NULL;
}
}
@@ -720,6 +722,7 @@ zix_btree_begin(const ZixBTree* const t)
if (!i) {
return NULL;
} else if (t->size == 0) {
+ i->level = 0;
i->stack[0].node = NULL;
} else {
ZixBTreeNode* n = t->root;