diff options
Diffstat (limited to 'src/btree_naive.c')
| -rw-r--r-- | src/btree_naive.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/btree_naive.c b/src/btree_naive.c index eed32be..8e7aeb0 100644 --- a/src/btree_naive.c +++ b/src/btree_naive.c @@ -730,7 +730,7 @@ size_t btree_size(struct btree *btree) { struct btree_iter_t* btree_iter_t_new(struct btree *tree) { struct btree_iter_t *iter = NULL; - iter = (struct btree_iter_t*)malloc(sizeof(struct btree_iter_t*)); + iter = (struct btree_iter_t*)malloc(sizeof(struct btree_iter_t)); if (tree != NULL) { iter->head = 0; @@ -745,6 +745,14 @@ struct btree_iter_t* btree_iter_t_new(struct btree *tree) { } +void btree_iter_t_reset(struct btree *tree, struct btree_iter_t** it) { + (*it)->head = 0; + + (*it)->stack[0].pos = 0; + (*it)->stack[0].node = tree->root; +} + + void* btree_iter(struct btree *tree, struct btree_iter_t *iter) { register int pos; register ssize_t head; |
