]> git.sesse.net Git - vlc/commitdiff
Fix playlist_item_t.i_id vs input_item_t.i_id mess in HTTP interface. (Looks like...
authorAntoine Cellerier <dionoea@videolan.org>
Sun, 19 Aug 2007 16:55:45 +0000 (16:55 +0000)
committerAntoine Cellerier <dionoea@videolan.org>
Sun, 19 Aug 2007 16:55:45 +0000 (16:55 +0000)
modules/control/http/macro.c
modules/control/http/rpn.c
modules/control/http/util.c

index eb1c753db0ad37b55538921c657271c84f08c2b0..d220c0ad113891f6c8eb2d16b5600b79380272a1 100644 (file)
@@ -410,13 +410,13 @@ void E_(MacroDo)( httpd_file_sys_t *p_args,
                         {
                             if( p_items[j] ==
                                  ARRAY_VAL(p_sys->p_playlist->items,i)
-                                                ->p_input->i_id)
+                                                ->i_id)
                                 break;
                         }
                         if( j == i_nb_items )
                         {
                             playlist_DeleteFromInput( p_sys->p_playlist,
-                                     p_sys->p_playlist->items.p_elems[i]->p_input->i_id,
+                                     p_sys->p_playlist->items.p_elems[i]->i_id,
                                                       VLC_FALSE );
                             msg_Dbg( p_intf, "requested playlist delete: %d",
                                      i );
index 8fc4520b8fbd3b8211279e2a30bdb28b0c911ec9..dc393e654cf169cc82ff65104190e85b6db6f261 100644 (file)
@@ -494,8 +494,8 @@ void E_(EvaluateRPN)( intf_thread_t *p_intf, mvar_t  *vars,
             int i_id = E_(SSPopN)( st, vars );
             int i_ret;
 
-            i_ret = playlist_Control( p_sys->p_playlist, PLAYLIST_VIEWPLAY, VLC_TRUE,
-                                      NULL,
+            i_ret = playlist_Control( p_sys->p_playlist, PLAYLIST_VIEWPLAY,
+                                      VLC_TRUE, NULL,
                                       playlist_ItemGetById( p_sys->p_playlist,
                                       i_id, VLC_TRUE ) );
             msg_Dbg( p_intf, "requested playlist item: %i", i_id );
@@ -837,7 +837,7 @@ void E_(EvaluateRPN)( intf_thread_t *p_intf, mvar_t  *vars,
             char *mrl = E_(SSPop)( st );
             char *tmp;
             input_item_t *p_input;
-            int i_id;
+            int i_ret;
 
             tmp = E_(ToUTF8)( p_intf, psz_name );
             free( psz_name );
@@ -850,17 +850,17 @@ void E_(EvaluateRPN)( intf_thread_t *p_intf, mvar_t  *vars,
 
             if( !p_input || !p_input->psz_uri || !*p_input->psz_uri )
             {
-                i_id = VLC_EGENERIC;
+                i_ret = VLC_EGENERIC;
                 msg_Dbg( p_intf, "invalid requested mrl: %s", mrl );
             }
             else
             {
-                i_id = playlist_AddInput( p_sys->p_playlist, p_input,
+                i_ret = playlist_AddInput( p_sys->p_playlist, p_input,
                                    PLAYLIST_APPEND, PLAYLIST_END, VLC_TRUE,
                                    VLC_FALSE);
                 msg_Dbg( p_intf, "requested mrl add: %s", mrl );
             }
-            E_(SSPushN)( st, i_id );
+            E_(SSPushN)( st, i_ret );
 
             free( mrl );
             free( psz_name );
@@ -873,8 +873,19 @@ void E_(EvaluateRPN)( intf_thread_t *p_intf, mvar_t  *vars,
         else if( !strcmp( s, "playlist_delete" ) )
         {
             int i_id = E_(SSPopN)( st, vars );
-            playlist_DeleteFromInput( p_sys->p_playlist, i_id, VLC_FALSE );
-            msg_Dbg( p_intf, "requested playlist delete: %d", i_id );
+            playlist_item_t *p_item = playlist_ItemGetById( p_sys->p_playlist,
+                                                            i_id, VLC_FALSE );
+            if( p_item )
+            {
+                playlist_DeleteFromInput( p_sys->p_playlist,
+                                          p_item->p_input->i_id, VLC_FALSE );
+                msg_Dbg( p_intf, "requested playlist delete: %d", i_id );
+            }
+            else
+            {
+                msg_Dbg( p_intf, "couldn't find playlist item to delete (%d)",
+                         i_id );
+            }
         }
         else if( !strcmp( s, "playlist_move" ) )
         {
index 10920baa04317ce8b7d2755172506333d6f80ae0..87b41ce6f488cfcd7ede31d8a387a6321e0f3551 100644 (file)
@@ -432,7 +432,7 @@ void E_(PlaylistListNode)( intf_thread_t *p_intf, playlist_t *p_pl,
                 E_(mvar_AppendNewVar)( itm, "current", "0" );
             }
 
-            sprintf( value, "%d", p_node->p_input->i_id );
+            sprintf( value, "%d", p_node->i_id );
             E_(mvar_AppendNewVar)( itm, "index", value );
 
             psz = E_(FromUTF8)( p_intf, p_node->p_input->psz_name );
@@ -478,7 +478,7 @@ void E_(PlaylistListNode)( intf_thread_t *p_intf, playlist_t *p_pl,
             sprintf( value, "Node" );
             E_(mvar_AppendNewVar)( itm, "type", value );
 
-            sprintf( value, "%d", p_node->p_input->i_id );
+            sprintf( value, "%d", p_node->i_id );
             E_(mvar_AppendNewVar)( itm, "index", value );
 
             sprintf( value, "%d", p_node->i_children);