]> git.sesse.net Git - vlc/blobdiff - include/vlc_input.h
Remove useless test before freeing something.
[vlc] / include / vlc_input.h
index 08d13d8b888a7b2c5d4887e78c96a94801e1b2a4..9ec80381c252058136582c45ca2d95fdc35f6585 100644 (file)
@@ -106,6 +106,11 @@ static inline void input_ItemCopyOptions( input_item_t *p_parent,
     for( i = 0 ; i< p_parent->i_options; i++ )
     {
         char *psz_option= strdup( p_parent->ppsz_options[i] );
+        if( !strcmp( psz_option, "meta-file" ) )
+        {
+            free( psz_option );
+            continue;
+        }
         p_child->i_options++;
         p_child->ppsz_options = (char **)realloc( p_child->ppsz_options,
                                                   p_child->i_options *
@@ -116,7 +121,7 @@ static inline void input_ItemCopyOptions( input_item_t *p_parent,
 
 static inline void input_item_SetName( input_item_t *p_item, const char *psz_name )
 {
-    if( p_item->psz_name ) free( p_item->psz_name );
+    free( p_item->psz_name );
     p_item->psz_name = strdup( psz_name );
 }
 
@@ -125,8 +130,7 @@ static inline void input_item_SetName( input_item_t *p_item, const char *psz_nam
  * It is not the input item's responsability to keep all the ref of
  * the input item children. */
 static inline void input_ItemAddSubItem( input_item_t *p_parent,
-                                         input_item_t *p_child, 
-                                         vlc_bool_t b_node )
+                                         input_item_t *p_child )
 {
     vlc_event_t event;
 
@@ -135,12 +139,19 @@ static inline void input_ItemAddSubItem( input_item_t *p_parent,
     /* Notify interested third parties */
     event.type = vlc_InputItemSubItemAdded;
     event.u.input_item_subitem_added.p_new_child = p_child;
-    event.u.input_item_subitem_added.b_node = b_node;
     vlc_event_send( &p_parent->event_manager, &event );
 }
 
-VLC_EXPORT( void, input_ItemAddOption,( input_item_t *, const char * ) );
-VLC_EXPORT( void, input_ItemAddOptionNoDup,( input_item_t *, const char * ) );
+#define VLC_INPUT_OPTION_UNIQUE  0x1
+#define VLC_INPUT_OPTION_TRUSTED 0x2
+
+VLC_EXPORT( void, input_ItemAddOpt, ( input_item_t *, const char *str, unsigned flags ) );
+
+static inline
+void input_ItemAddOption (input_item_t *item, const char *str)
+{
+    input_ItemAddOpt (item, str, VLC_INPUT_OPTION_TRUSTED);
+}
 
 static inline void input_ItemClean( input_item_t *p_i )
 {
@@ -160,10 +171,7 @@ static inline void input_ItemClean( input_item_t *p_i )
         vlc_meta_Delete( p_i->p_meta );
 
     for( i = 0; i < p_i->i_options; i++ )
-    {
-        if( p_i->ppsz_options[i] )
-            free( p_i->ppsz_options[i] );
-    }
+        free( p_i->ppsz_options[i] );
     TAB_CLEAN( p_i->i_options, p_i->ppsz_options );
 
     for( i = 0; i < p_i->i_es; i++ )
@@ -182,15 +190,13 @@ static inline void input_ItemClean( input_item_t *p_i )
         {
             struct info_t *p_info = p_category->pp_infos[j];
 
-            if( p_info->psz_name )
-                free( p_info->psz_name);
-            if( p_info->psz_value )
-                free( p_info->psz_value );
+            free( p_info->psz_name);
+            free( p_info->psz_value );
             free( p_info );
         }
         TAB_CLEAN( p_category->i_infos, p_category->pp_infos );
 
-        if( p_category->psz_name ) free( p_category->psz_name );
+        free( p_category->psz_name );
         free( p_category );
     }
     TAB_CLEAN( p_i->i_categories, p_i->pp_categories );
@@ -252,8 +258,8 @@ static inline char * input_item_GetURI( input_item_t * p_i )
 static inline void input_item_SetURI( input_item_t * p_i, char * psz_uri )
 {
     vlc_mutex_lock( &p_i->lock );
-    if( p_i->psz_uri ) free( p_i->psz_uri );
-        p_i->psz_uri = strdup( psz_uri );
+    free( p_i->psz_uri );
+    p_i->psz_uri = strdup( psz_uri );
     vlc_mutex_unlock( &p_i->lock );
 }
 
@@ -428,7 +434,7 @@ static inline seekpoint_t *vlc_seekpoint_New( void )
 static inline void vlc_seekpoint_Delete( seekpoint_t *point )
 {
     if( !point ) return;
-    if( point->psz_name ) free( point->psz_name );
+    free( point->psz_name );
     free( point );
 }
 
@@ -479,13 +485,13 @@ static inline void vlc_input_title_Delete( input_title_t *t )
     if( t == NULL )
         return;
 
-    if( t->psz_name ) free( t->psz_name );
+    free( t->psz_name );
     for( i = 0; i < t->i_seekpoint; i++ )
     {
-        if( t->seekpoint[i]->psz_name ) free( t->seekpoint[i]->psz_name );
+        free( t->seekpoint[i]->psz_name );
         free( t->seekpoint[i] );
     }
-    if( t->seekpoint ) free( t->seekpoint );
+    free( t->seekpoint );
     free( t );
 }
 
@@ -559,8 +565,7 @@ static inline void vlc_input_attachment_Delete( input_attachment_t *a )
     free( a->psz_name );
     free( a->psz_mime );
     free( a->psz_description );
-    if( a->p_data )
-        free( a->p_data );
+    free( a->p_data );
     free( a );
 }
 /*****************************************************************************