summaryrefslogtreecommitdiff
path: root/src/btree_naive.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/btree_naive.c')
-rw-r--r--src/btree_naive.c10
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;