diff --git a/src/utils_avltree.c b/src/utils_avltree.c
index 12310d3fa771d528fabc5ac313f76d42ed71aef6..f71b1fd6913bbc9676bb0e494d26bba1f829e7c2 100644 (file)
--- a/src/utils_avltree.c
+++ b/src/utils_avltree.c
{
c_avl_node_t *root;
int (*compare) (const void *, const void *);
+ int size;
};
struct c_avl_iterator_s
t->root = NULL;
t->compare = compare;
+ t->size = 0;
return (t);
}
{
new->parent = NULL;
t->root = new;
+ t->size = 1;
return (0);
}
} /* while (42) */
verify_tree (t->root);
+ ++t->size;
return (0);
} /* int c_avl_insert */
status = _remove (t, n);
verify_tree (t->root);
+ --t->size;
return (status);
} /* void *c_avl_remove */
{
free (iter);
}
+
+int c_avl_size (c_avl_tree_t *t)
+{
+ if (t == NULL)
+ return (0);
+ return (t->size);
+}