From: Arran Cudbard-Bell Date: Thu, 24 Nov 2016 20:54:43 +0000 (-0500) Subject: Add generic node free function for talloc node data X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=355d5f5cc80583f8e4a99cacb7e4c5372c09294d;p=thirdparty%2Ffreeradius-server.git Add generic node free function for talloc node data --- diff --git a/src/include/rbtree.h b/src/include/rbtree.h index d03cd4606bd..a1058f5c060 100644 --- a/src/include/rbtree.h +++ b/src/include/rbtree.h @@ -50,6 +50,7 @@ typedef int (*rb_walker_t)(void *ctx, void *data); typedef void (*rb_free_t)(void *data); rbtree_t *rbtree_create(TALLOC_CTX *ctx, rb_comparator_t compare, rb_free_t node_free, int flags); +void rbtree_node_talloc_free(void *data); void rbtree_free(rbtree_t *tree); bool rbtree_insert(rbtree_t *tree, void *data); rbnode_t *rbtree_insert_node(rbtree_t *tree, void *data); diff --git a/src/lib/rbtree.c b/src/lib/rbtree.c index 2fc5e361b50..e39e374246f 100644 --- a/src/lib/rbtree.c +++ b/src/lib/rbtree.c @@ -74,6 +74,15 @@ static void free_walker(rbtree_t *tree, rbnode_t *x) talloc_free(x); } +/** Wrapper function for rbtree_create to allow talloc node data to be freed + * + * @param[in] data Talloced data to free. + */ +void rbtree_node_talloc_free(void *data) +{ + talloc_free(data); +} + /** Executes the free walker on a tree, and then frees the tree itself * * @note If you don't require the free walker to execute, you can just