]> git.sesse.net Git - vlc/commitdiff
playlist/item-ext.c: more elegant binary search in playlist_ItemGetById()
authorSigmund Augdal Helberg <sigmunau@videolan.org>
Sun, 10 Apr 2005 14:44:52 +0000 (14:44 +0000)
committerSigmund Augdal Helberg <sigmunau@videolan.org>
Sun, 10 Apr 2005 14:44:52 +0000 (14:44 +0000)
src/playlist/item-ext.c

index 37807abdfb0c96b301d8855a5404d101054330c8..1072c7776a50dcf46fff666e1bb9179d064dc4e6 100644 (file)
@@ -464,15 +464,15 @@ playlist_item_t * playlist_ItemGetById( playlist_t * p_playlist , int i_id )
     i_bottom = 0; i_top = p_playlist->i_all_size;
     i = i_top / 2;
     while( p_playlist->pp_all_items[i]->input.i_id != i_id &&
-           i_top > i_bottom + 1 )
+           i_top > i_bottom )
     {
         if( p_playlist->pp_all_items[i]->input.i_id < i_id )
         {
-            i_bottom = i;
+            i_bottom = i + 1;
         }
         else
         {
-            i_top = i;
+            i_top = i - 1;
         }
         i = i_bottom + ( i_top - i_bottom ) / 2;
     }
@@ -480,10 +480,6 @@ playlist_item_t * playlist_ItemGetById( playlist_t * p_playlist , int i_id )
     {
         return p_playlist->pp_all_items[i];
     }
-    else if( p_playlist->pp_all_items[i_top]->input.i_id == i_id )
-    {
-        return p_playlist->pp_all_items[i_top];
-    }
         
     return NULL;
 }