X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Flibvlc-common.c;h=01be53e76c84a31185884c86e30e0bdb56c35deb;hb=16f32e1500887c0dcd33cb06ad71759a81a52878;hp=a2f93e9050c72ee6f19cec0ecda75d279abae89a;hpb=360c0d9472708134d80c9207b1cabb3edc140157;p=vlc diff --git a/src/libvlc-common.c b/src/libvlc-common.c index a2f93e9050..01be53e76c 100644 --- a/src/libvlc-common.c +++ b/src/libvlc-common.c @@ -122,6 +122,11 @@ static int VerboseCallback( vlc_object_t *, char const *, static void InitDeviceValues( libvlc_int_t * ); +libvlc_global_data_t *vlc_global( void ) +{ + return &libvlc_global; +} + /***************************************************************************** * vlc_current_object: return the current object. ***************************************************************************** @@ -188,7 +193,6 @@ libvlc_int_t * libvlc_InternalCreate( void ) i_instances--; return NULL; } - p_libvlc->thread_id = 0; p_libvlc->p_playlist = NULL; p_libvlc->psz_object_name = "libvlc"; @@ -214,8 +218,6 @@ libvlc_int_t * libvlc_InternalCreate( void ) vlc_mutex_init( p_libvlc, &p_libvlc->quicktime_lock ); vlc_thread_set_priority( p_libvlc, VLC_THREAD_PRIORITY_LOW ); #endif - /* Fake attachment */ - p_libvlc->b_attached = VLC_TRUE; /* Store data for the non-reentrant API */ p_static_vlc = p_libvlc; @@ -323,25 +325,10 @@ int libvlc_InternalInit( libvlc_int_t *p_libvlc, int i_argc, char *ppsz_argv[] ) } /* Set the config file stuff */ - p_libvlc->psz_homedir = config_GetHomeDir(); - p_libvlc->psz_userdir = config_GetUserDir(); - if( p_libvlc->psz_userdir == NULL ) - p_libvlc->psz_userdir = strdup(p_libvlc->psz_homedir); - p_libvlc->psz_configfile = config_GetPsz( p_libvlc, "config" ); - if( (p_libvlc->psz_configfile != NULL) && (p_libvlc->psz_configfile[0] == '~') - && (p_libvlc->psz_configfile[1] == '/') ) - { - char *psz = malloc( strlen(p_libvlc->psz_userdir) - + strlen(p_libvlc->psz_configfile) ); - if( psz ) - { - /* This is incomplete : we should also support the ~cmassiot/ syntax. */ - sprintf( psz, "%s/%s", p_libvlc->psz_userdir, - p_libvlc->psz_configfile + 2 ); - free( p_libvlc->psz_configfile ); - p_libvlc->psz_configfile = psz; - } /* else keep old config stuff */ - } + p_libvlc->psz_homedir = config_GetHomeDir(); + p_libvlc->psz_configdir = config_GetConfigDir( p_libvlc ); + p_libvlc->psz_datadir = config_GetUserDataDir( p_libvlc ); + p_libvlc->psz_configfile = config_GetCustomConfigFile( p_libvlc ); /* Check for plugins cache options */ if( config_GetInt( p_libvlc, "reset-plugins-cache" ) ) @@ -1065,7 +1052,8 @@ int libvlc_InternalDestroy( libvlc_int_t *p_libvlc, vlc_bool_t b_release ) module_EndBank( p_libvlc ); FREENULL( p_libvlc->psz_homedir ); - FREENULL( p_libvlc->psz_userdir ); + FREENULL( p_libvlc->psz_configdir ); + FREENULL( p_libvlc->psz_datadir ); FREENULL( p_libvlc->psz_configfile ); FREENULL( p_libvlc->p_hotkeys ); @@ -1376,7 +1364,7 @@ static void Usage( libvlc_int_t *p_this, char const *psz_module_name ) if( psz_module_name && strcmp( psz_module_name, p_parser->psz_object_name ) ) { - const char **pp_shortcut = p_parser->pp_shortcuts; + const char *const *pp_shortcut = p_parser->pp_shortcuts; while( *pp_shortcut ) { if( !strcmp( psz_module_name, *pp_shortcut ) ) @@ -1769,8 +1757,8 @@ static void ListModules( libvlc_int_t *p_this, vlc_bool_t b_verbose ) if( b_verbose ) { - const char **pp_shortcut = p_parser->pp_shortcuts; - while( pp_shortcut && *pp_shortcut ) + const char *const *pp_shortcut = p_parser->pp_shortcuts; + while( *pp_shortcut ) { if( strcmp( *pp_shortcut, p_parser->psz_object_name ) ) {