From: Antoine Cellerier Date: Sun, 4 Nov 2007 21:05:00 +0000 (+0000) Subject: Add a psz_intf member to intf_thread_t. This holds the string given to module_Need... X-Git-Tag: 0.9.0-test0~4709 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=0d3aa16a79f6cf986477328d17fb35b67adaedc1;p=vlc Add a psz_intf member to intf_thread_t. This holds the string given to module_Need to load the interface (which can then be used by the interface to know what name was used to load it). --- diff --git a/include/vlc_interface.h b/include/vlc_interface.h index 12194c5091..3e6a033dd1 100644 --- a/include/vlc_interface.h +++ b/include/vlc_interface.h @@ -60,6 +60,7 @@ struct intf_thread_t /* Specific interfaces */ intf_console_t * p_console; /** console */ intf_sys_t * p_sys; /** system interface */ + char * psz_intf; /** intf name specified */ /** Interface module */ module_t * p_module; diff --git a/src/interface/interface.c b/src/interface/interface.c index fb157e4a21..650c61f361 100644 --- a/src/interface/interface.c +++ b/src/interface/interface.c @@ -93,11 +93,13 @@ intf_thread_t* __intf_Create( vlc_object_t *p_this, const char *psz_module, } /* Choose the best module */ + p_intf->psz_intf = strdup( psz_module ); p_intf->p_module = module_Need( p_intf, "interface", psz_module, VLC_FALSE ); if( p_intf->p_module == NULL ) { msg_Err( p_intf, "no suitable interface module" ); + free( p_intf->psz_intf ); vlc_object_destroy( p_intf ); return NULL; } @@ -183,6 +185,7 @@ void intf_Destroy( intf_thread_t *p_intf ) { module_Unneed( p_intf, p_intf->p_module ); } + free( p_intf->psz_intf ); vlc_mutex_destroy( &p_intf->change_lock ); @@ -290,8 +293,8 @@ static void RunInterface( intf_thread_t *p_intf ) vlc_mutex_unlock( &p_intf->object_lock ); + p_intf->psz_intf = psz_intf; p_intf->p_module = module_Need( p_intf, "interface", psz_intf, 0 ); - free( psz_intf ); } while( p_intf->p_module ); }