diff options
author | David Robillard <d@drobilla.net> | 2020-08-13 23:51:48 +0200 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2020-08-14 17:57:07 +0200 |
commit | 126006911b36cb2ce67ec194fbb76850cb87e1d3 (patch) | |
tree | 279ec20ed59edabc62984b53dba136b53dd8f799 /zix | |
parent | 8b4a8734dd3bf4b00fffdbde4b0b271b50f89c19 (diff) | |
download | zix-126006911b36cb2ce67ec194fbb76850cb87e1d3.tar.gz zix-126006911b36cb2ce67ec194fbb76850cb87e1d3.tar.bz2 zix-126006911b36cb2ce67ec194fbb76850cb87e1d3.zip |
Fix BTree iterator comparison
Diffstat (limited to 'zix')
-rw-r--r-- | zix/btree.c | 6 |
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 |