psz_name = strndup( psz_name, i_name_len );
if( psz_value ) psz_value++;
- i_type = config_GetType( p_input, psz_name );
+ /* FIXME: :programs should be handled generically */
+ if( !strcmp( psz_name, "programs" ) )
+ i_type = VLC_VAR_LIST;
+ else
+ i_type = config_GetType( p_input, psz_name );
if( !i_type && !psz_value )
{
while( psz_var && *psz_var )
{
char *psz_item = psz_var;
- vlc_value_t val;
+ vlc_value_t val2;
while( *psz_var && *psz_var != ',' ) psz_var++;
if( *psz_var == ',' )
{
*psz_var = '\0';
psz_var++;
}
- val.i_int = strtol( psz_item, NULL, 0 );
+ val2.i_int = strtol( psz_item, NULL, 0 );
INSERT_ELEM( p_list->p_values, p_list->i_count,
- p_list->i_count, val );
+ p_list->i_count, val2 );
/* p_list->i_count is incremented twice by INSERT_ELEM */
p_list->i_count--;
INSERT_ELEM( p_list->pi_types, p_list->i_count,