diff options
author | David Robillard <d@drobilla.net> | 2020-08-13 17:25:56 +0200 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2020-08-13 17:25:56 +0200 |
commit | ea0fd7ddc5086a553e7a94b16b46700af476f3dd (patch) | |
tree | 68f79a1c067b7a17dd5607e07f517cfd45851793 /zix | |
parent | 59d5056a65062ff2b46bcf477651e71f5d4984e0 (diff) | |
download | zix-ea0fd7ddc5086a553e7a94b16b46700af476f3dd.tar.gz zix-ea0fd7ddc5086a553e7a94b16b46700af476f3dd.tar.bz2 zix-ea0fd7ddc5086a553e7a94b16b46700af476f3dd.zip |
Always reset level of end iterators
Diffstat (limited to 'zix')
-rw-r--r-- | zix/btree.c | 5 |
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; |