Always set next correctly, even if a matching element is found (that is
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 4 Jan 2008 10:14:21 +0000 (10:14 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 4 Jan 2008 10:14:21 +0000 (10:14 +0000)
how it is documented and used).

Originally committed as revision 11391 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavutil/tree.c

index f4b9af1..6126ffa 100644 (file)
@@ -35,6 +35,10 @@ void *av_tree_find(const AVTreeNode *t, void *key, int (*cmp)(void *key, const v
             if(next) next[(v>>31)^1]= t->elem;
             return av_tree_find(t->child[v>>31], key, cmp, next);
         }else{
+            if(next){
+                av_tree_find(t->child[0], key, cmp, next);
+                av_tree_find(t->child[1], key, cmp, next);
+            }
             return t->elem;
         }
     }