var_AddCallback( p_intf, "intf-add", AddIntfCallback, NULL );
/* Choose the best module */
- p_intf->p_cfg = NULL;
- char *psz_parser = *chain == '$'
- ? var_CreateGetString(p_intf, chain+1)
- : strdup( chain );
char *module;
- char *psz_tmp = config_ChainCreate( &module, &p_intf->p_cfg,
- psz_parser );
- free( psz_tmp );
- free( psz_parser );
+
+ p_intf->p_cfg = NULL;
+ free( config_ChainCreate( &module, &p_intf->p_cfg, chain ) );
p_intf->p_module = module_need( p_intf, "interface", module, true );
free(module);
if( p_intf->p_module == NULL )
/**
* Add an interface plugin and run it
*/
-int libvlc_InternalAddIntf( libvlc_int_t *p_libvlc, char const *psz_module )
+int libvlc_InternalAddIntf( libvlc_int_t *p_libvlc, const char *name )
{
+ int ret;
+
if( !p_libvlc )
return VLC_EGENERIC;
- if( psz_module == NULL ) /* requesting the default interface */
- {
+ if( name != NULL )
+ ret = intf_Create( p_libvlc, name );
+ else
+ { /* Default interface */
char *intf = var_InheritString( p_libvlc, "intf" );
- if( intf != NULL ) /* "intf" has not been set */
- free( intf );
- else
+ if( intf == NULL ) /* "intf" has not been set */
{
char *pidfile = var_InheritString( p_libvlc, "pidfile" );
if( pidfile != NULL )
_("Running vlc with the default interface. "
"Use 'cvlc' to use vlc without interface.") );
}
+ ret = intf_Create( p_libvlc, intf );
+ name = "default";
}
-
- /* Try to create the interface */
- int ret = intf_Create( p_libvlc, psz_module ? psz_module : "$intf" );
if( ret )
- msg_Err( p_libvlc, "interface \"%s\" initialization failed",
- psz_module ? psz_module : "default" );
+ msg_Err( p_libvlc, "interface \"%s\" initialization failed", name );
return ret;
}