[FFmpeg-cvslog] r20535 - trunk/libavutil/tree.c

michael subversion
Sat Nov 14 12:19:08 CET 2009


Author: michael
Date: Sat Nov 14 12:19:08 2009
New Revision: 20535

Log:
Make sure av_tree_enumerate() enumerates left->right.

Modified:
   trunk/libavutil/tree.c

Modified: trunk/libavutil/tree.c
==============================================================================
--- trunk/libavutil/tree.c	Sat Nov 14 07:29:19 2009	(r20534)
+++ trunk/libavutil/tree.c	Sat Nov 14 12:19:08 2009	(r20535)
@@ -136,10 +136,11 @@ void av_tree_destroy(AVTreeNode *t){
 }
 
 #if 0
-void av_tree_enumerate(AVTreeNode *t, void *opaque, int (*f)(void *opaque, void *elem)){
-    int v= f(opaque, t->elem);
-    if(v>=0) av_tree_enumerate(t->child[0], opaque, f);
-    if(v<=0) av_tree_enumerate(t->child[1], opaque, f);
+void av_tree_enumerate(AVTreeNode *t, void *opaque, int (*cmp)(void *opaque, void *elem), int (*enu)(void *opaque, void *elem)){
+    int v= cmp ? cmp(opaque, t->elem) : 0;
+    if(v>=0) av_tree_enumerate(t->child[0], opaque, cmp, enu);
+    if(v==0) enu(opaque, t->elem);
+    if(v<=0) av_tree_enumerate(t->child[1], opaque, cmp, enu);
 }
 #endif
 



More information about the ffmpeg-cvslog mailing list