summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2020-08-13 23:51:48 +0200
committerDavid Robillard <d@drobilla.net>2020-08-14 17:57:07 +0200
commit126006911b36cb2ce67ec194fbb76850cb87e1d3 (patch)
tree279ec20ed59edabc62984b53dba136b53dd8f799
parent8b4a8734dd3bf4b00fffdbde4b0b271b50f89c19 (diff)
downloadzix-126006911b36cb2ce67ec194fbb76850cb87e1d3.tar.gz
zix-126006911b36cb2ce67ec194fbb76850cb87e1d3.tar.bz2
zix-126006911b36cb2ce67ec194fbb76850cb87e1d3.zip
Fix BTree iterator comparison
-rw-r--r--zix/btree.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/zix/btree.c b/zix/btree.c
index c81b283..0a8010f 100644
--- a/zix/btree.c
+++ b/zix/btree.c
@@ -773,14 +773,16 @@ zix_btree_iter_equals(const ZixBTreeIter* const lhs, const ZixBTreeIter* const r
{
if (zix_btree_iter_is_end(lhs) && zix_btree_iter_is_end(rhs)) {
return true;
- } else if (!lhs || !rhs || lhs->n_levels != rhs->n_levels) {
+ } else if (zix_btree_iter_is_end(lhs) || zix_btree_iter_is_end(rhs)) {
+ return false;
+ } else if (!lhs || !rhs || lhs->level != rhs->level) {
return false;
}
return !memcmp(lhs,
rhs,
sizeof(ZixBTreeIter) +
- lhs->n_levels * sizeof(ZixBTreeIterFrame));
+ (lhs->level + 1) * sizeof(ZixBTreeIterFrame));
}
ZIX_API void