aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/lib/kbtree.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/lib/kbtree.h')
-rw-r--r--src/nvim/lib/kbtree.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/nvim/lib/kbtree.h b/src/nvim/lib/kbtree.h
index f836dec48f..a3943054e6 100644
--- a/src/nvim/lib/kbtree.h
+++ b/src/nvim/lib/kbtree.h
@@ -359,7 +359,10 @@
} \
static inline int kb_itr_getp_##name(kbtree_##name##_t *b, key_t * __restrict k, kbitr_##name##_t *itr) \
{ \
- if (b->n_keys == 0) return 0; \
+ if (b->n_keys == 0) { \
+ itr->p = NULL; \
+ return 0; \
+ } \
int i, r = 0; \
itr->p = itr->stack; \
itr->p->x = b->root; \
@@ -420,6 +423,7 @@
#define kbtree_t(name) kbtree_##name##_t
#define kbitr_t(name) kbitr_##name##_t
+#define kb_init(b) ((b)->n_keys = (b)->n_nodes = 0, (b)->root = 0)
#define kb_destroy(name, b) __kb_destroy(kbnode_##name##_t, b)
#define kb_get(name, b, k) kb_get_##name(b, k)
#define kb_put(name, b, k) kb_put_##name(b, k)