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 *
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 );
}
* 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;
/* 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 )
{
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++ )
{
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 );
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 );
}
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 );
}
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 );
}
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 );
}
/*****************************************************************************