Commit fee6faa2 authored by Vitor Sessak's avatar Vitor Sessak

Implement av_tree_destroy_free_elem() to destroy a tree and free all the

values stored on it.

Originally committed as revision 22119 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent a882cf9c
...@@ -135,6 +135,15 @@ void av_tree_destroy(AVTreeNode *t){ ...@@ -135,6 +135,15 @@ void av_tree_destroy(AVTreeNode *t){
} }
} }
void av_tree_destroy_free_elem(AVTreeNode *t){
if(t){
av_tree_destroy_free_elem(t->child[0]);
av_tree_destroy_free_elem(t->child[1]);
av_free(t->elem);
av_free(t);
}
}
#if 0 #if 0
void av_tree_enumerate(AVTreeNode *t, void *opaque, int (*cmp)(void *opaque, void *elem), int (*enu)(void *opaque, void *elem)){ void av_tree_enumerate(AVTreeNode *t, void *opaque, int (*cmp)(void *opaque, void *elem), int (*enu)(void *opaque, void *elem)){
if(t){ if(t){
......
...@@ -78,5 +78,6 @@ void *av_tree_find(const struct AVTreeNode *root, void *key, int (*cmp)(void *ke ...@@ -78,5 +78,6 @@ void *av_tree_find(const struct AVTreeNode *root, void *key, int (*cmp)(void *ke
*/ */
void *av_tree_insert(struct AVTreeNode **rootp, void *key, int (*cmp)(void *key, const void *b), struct AVTreeNode **next); void *av_tree_insert(struct AVTreeNode **rootp, void *key, int (*cmp)(void *key, const void *b), struct AVTreeNode **next);
void av_tree_destroy(struct AVTreeNode *t); void av_tree_destroy(struct AVTreeNode *t);
void av_tree_destroy_free_elem(struct AVTreeNode *t);
#endif /* AVUTIL_TREE_H */ #endif /* AVUTIL_TREE_H */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment