From 126006911b36cb2ce67ec194fbb76850cb87e1d3 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Thu, 13 Aug 2020 23:51:48 +0200 Subject: Fix BTree iterator comparison --- zix/btree.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'zix') 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 -- cgit v1.2.1