Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVitor Sessak <vitor1001@gmail.com>2010-02-28 23:48:42 +0300
committerVitor Sessak <vitor1001@gmail.com>2010-02-28 23:48:42 +0300
commitfee6faa2b67fca0cf0889165cfa64b02fc8d395b (patch)
treef5a751a7c4b59b7a46f3ec1d8fe4a201f364968e /libavutil/tree.c
parenta882cf9c219f7622686036ce891e13717559055a (diff)
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
Diffstat (limited to 'libavutil/tree.c')
-rw-r--r--libavutil/tree.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/libavutil/tree.c b/libavutil/tree.c
index 4b78764628..261e306b8a 100644
--- a/libavutil/tree.c
+++ b/libavutil/tree.c
@@ -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
void av_tree_enumerate(AVTreeNode *t, void *opaque, int (*cmp)(void *opaque, void *elem), int (*enu)(void *opaque, void *elem)){
if(t){