* Preamble
*****************************************************************************/
#include <vlc/vlc.h>
-#include <vlc/input.h>
-#include <vlc/intf.h>
-#include "charset.h"
+#include <vlc_demux.h>
+#include <vlc_interface.h>
+#include <vlc_charset.h>
#include "playlist.h"
int i_peek;
vlc_bool_t b_valid = VLC_FALSE;
- if( !isExtension( p_demux, ".conf" ) && !p_demux->b_force )
+ if( !demux2_IsPathExtension( p_demux, ".conf" ) && !p_demux->b_force )
return VLC_EGENERIC;
/* Check if this really is a channels file */
static int Demux( demux_t *p_demux )
{
char *psz_line;
+ input_item_t *p_input;
INIT_PLAYLIST_STUFF;
while( (psz_line = stream_ReadLine( p_demux->s )) )
for( i = 0; i< i_options; i++ )
{
EnsureUTF8( ppsz_options[i] );
- vlc_input_item_AddOption( p_input, ppsz_options[i] );
+ input_ItemAddOption( p_input, ppsz_options[i] );
}
- playlist_AddWhereverNeeded( p_playlist, p_input, p_current,
- p_item_in_category,
- (i_parent_id > 0 ) ? VLC_TRUE: VLC_FALSE,
- PLAYLIST_APPEND );
+ input_ItemAddSubItem( p_current_input, p_input );
while( i_options-- ) free( ppsz_options[i_options] );
if( ppsz_options ) free( ppsz_options );
}
HANDLE_PLAY_AND_RELEASE;
- return VLC_SUCCESS;
+ return -1; /* Needed for correct operation of go back */
}
static struct
{
- char *psz_name;
- char *psz_option;
+ const char *psz_name;
+ const char *psz_option;
} dvb_options[] =
{
while( psz_parse )
{
- char *psz_option = 0;
+ const char *psz_option = 0;
char *psz_end = strchr( psz_parse, ':' );
if( psz_end ) { *psz_end = 0; psz_end++; }
if( psz_option && pppsz_options && pi_options )
{
- psz_option = strdup( psz_option );
- INSERT_ELEM( *pppsz_options, (*pi_options), (*pi_options),
- psz_option );
+ char *psz_dup = strdup( psz_option );
+ if (psz_dup != NULL)
+ INSERT_ELEM( *pppsz_options, (*pi_options), (*pi_options),
+ psz_dup );
}
psz_parse = psz_end;