projects
/
collectd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
src/libcollectdclient/client.c: Fix "Dead assignment" warning.
[collectd.git]
/
src
/
utils_avltree.h
diff --git
a/src/utils_avltree.h
b/src/utils_avltree.h
index
5d35af1
..
10fb5cb
100644
(file)
--- a/
src/utils_avltree.h
+++ b/
src/utils_avltree.h
@@
-70,12
+70,15
@@
void c_avl_destroy (c_avl_tree_t *t);
* PARAMETERS
* `t' AVL-tree to store the data in.
* `key' Key used to store the value under. This is used to get back to
* PARAMETERS
* `t' AVL-tree to store the data in.
* `key' Key used to store the value under. This is used to get back to
- * the value again.
+ * the value again. The pointer is stored in an internal structure
+ * and _not_ copied. So the memory pointed to may _not_ be freed
+ * before this entry is removed. You can use the `rkey' argument
+ * to `avl_remove' to get the original pointer back and free it.
* `value' Value to be stored.
*
* RETURN VALUE
* `value' Value to be stored.
*
* RETURN VALUE
- * Zero upon success
and non-zero upon failure and if the key is already
- * stored in the tree.
+ * Zero upon success
, non-zero otherwise. It's less than zero if an error
+ *
occurred or greater than zero if the key is already
stored in the tree.
*/
int c_avl_insert (c_avl_tree_t *t, void *key, void *value);
*/
int c_avl_insert (c_avl_tree_t *t, void *key, void *value);
@@
-91,6
+94,10
@@
int c_avl_insert (c_avl_tree_t *t, void *key, void *value);
* `t' AVL-tree to remove key-value-pair from.
* `key' Key to identify the entry.
* `rkey' Pointer to a pointer in which to store the key. May be NULL.
* `t' AVL-tree to remove key-value-pair from.
* `key' Key to identify the entry.
* `rkey' Pointer to a pointer in which to store the key. May be NULL.
+ * Since the `key' pointer is not copied when creating an entry,
+ * the pointer may not be available anymore from outside the tree.
+ * You can use this argument to get the actual pointer back and
+ * free the memory pointed to by it.
* `rvalue' Pointer to a pointer in which to store the value. May be NULL.
*
* RETURN VALUE
* `rvalue' Pointer to a pointer in which to store the value. May be NULL.
*
* RETURN VALUE
@@
-141,4
+148,19
@@
int c_avl_iterator_next (c_avl_iterator_t *iter, void **key, void **value);
int c_avl_iterator_prev (c_avl_iterator_t *iter, void **key, void **value);
void c_avl_iterator_destroy (c_avl_iterator_t *iter);
int c_avl_iterator_prev (c_avl_iterator_t *iter, void **key, void **value);
void c_avl_iterator_destroy (c_avl_iterator_t *iter);
+/*
+ * NAME
+ * c_avl_size
+ *
+ * DESCRIPTION
+ * Return the size (number of nodes) of the specified tree.
+ *
+ * PARAMETERS
+ * `t' AVL-tree to get the size of.
+ *
+ * RETURN VALUE
+ * Number of nodes in the tree, 0 if the tree is empty or NULL.
+ */
+int c_avl_size (c_avl_tree_t *t);
+
#endif /* UTILS_AVLTREE_H */
#endif /* UTILS_AVLTREE_H */