/** This function extracts the value for a given argument name
* from an HTTP request */
-char *ExtractURIValue( char *restrict psz_uri,
+const char *ExtractURIValue( const char *restrict psz_uri,
const char *restrict psz_name,
char *restrict psz_value, size_t i_value_max );
-char *ExtractURIString( char *restrict psz_uri,
+char *ExtractURIString( const char *restrict psz_uri,
const char *restrict psz_name );
/** \todo Describe this function */
int TestURIParam( char *psz_uri, const char *psz_name );
/** This function retrieves the child variable named "name" */
mvar_t *mvar_GetVar( mvar_t *s, const char *name );
/** This function retrieves the value of the child variable named "field" */
-char *mvar_GetValue( mvar_t *v, char *field );
+const char *mvar_GetValue( mvar_t *v, const char *field );
/** This function creates a variable with the given name and value and
* adds it as first child of vars */
void mvar_PushNewVar( mvar_t *vars, const char *name,
case MVLC_DEL:
{
int i_item, *p_items = NULL, i_nb_items = 0;
- char item[512], *p_parser = p_request;
+ char item[512];
+ const char *p_parser = p_request;
/* Get the list of items to delete */
while( (p_parser =
case MVLC_KEEP:
{
int i_item, *p_items = NULL, i_nb_items = 0;
- char item[512], *p_parser = p_request;
+ char item[512];
+ const char *p_parser = p_request;
int i,j;
/* Get the list of items to keep */
}
case MVLC_VALUE:
{
- char *s, *v;
+ char *s;
+ const char *v;
if( m->param1 )
{
return NULL;
}
-char *mvar_GetValue( mvar_t *v, char *field )
+const char *mvar_GetValue( mvar_t *v, const char *field )
{
if( *field == '\0' )
{
int SSPopN( rpn_stack_t *st, mvar_t *vars )
{
char *name;
- char *value;
char *end;
int i;
i = strtol( name, &end, 0 );
if( end == name )
{
- value = mvar_GetValue( vars, name );
+ const char *value = mvar_GetValue( vars, name );
i = atoi( value );
}
free( name );
}
else if( !strcmp( s, "url_extract" ) )
{
- char *url = mvar_GetValue( vars, "url_value" );
+ const char *url = mvar_GetValue( vars, "url_value" );
char *name = SSPop( st );
char *value = ExtractURIString( url, name );
if( value != NULL )
else if( !strcmp( s, "value" ) )
{
char *name = SSPop( st );
- char *value = mvar_GetValue( vars, name );
+ const char *value = mvar_GetValue( vars, name );
SSPush( st, value );
i_ret = playlist_AddInput( p_sys->p_playlist, p_input,
PLAYLIST_APPEND, PLAYLIST_END, true,
pl_Unlocked );
- vlc_gc_decref( p_input );
if( i_ret == VLC_SUCCESS )
+ {
+ playlist_item_t *p_item;
msg_Dbg( p_intf, "requested mrl add: %s", mrl );
+ p_item = playlist_ItemGetByInput( p_sys->p_playlist,
+ p_input,
+ pl_Unlocked );
+ if( p_item )
+ i_ret = p_item->i_id;
+ }
else
msg_Warn( p_intf, "adding mrl %s failed", mrl );
+ vlc_gc_decref( p_input );
}
free( psz_uri );
SSPushN( st, i_ret );
return false;
}
-static char *FindURIValue( char *psz_uri, const char *restrict psz_name,
+static const char *FindURIValue( const char *psz_uri, const char *restrict psz_name,
size_t *restrict p_len )
{
- char *p = psz_uri, *end;
+ const char *p = psz_uri, *end;
size_t len;
while( (p = strstr( p, psz_name )) )
return p;
}
-char *ExtractURIValue( char *restrict psz_uri,
+const char *ExtractURIValue( const char *restrict psz_uri,
const char *restrict psz_name,
char *restrict psz_buf, size_t bufsize )
{
size_t len;
- char *psz_value = FindURIValue( psz_uri, psz_name, &len );
- char *psz_next;
+ const char *psz_value = FindURIValue( psz_uri, psz_name, &len );
+ const char *psz_next;
if( psz_value == NULL )
{
return psz_next;
}
-char *ExtractURIString( char *restrict psz_uri,
+char *ExtractURIString( const char *restrict psz_uri,
const char *restrict psz_name )
{
size_t len;
- char *psz_value = FindURIValue( psz_uri, psz_name, &len );
+ const char *psz_value = FindURIValue( psz_uri, psz_name, &len );
if( psz_value == NULL )
return NULL;