From 0d0f59ac637b318caf578652ea006ce193f7c581 Mon Sep 17 00:00:00 2001 From: =?utf8?q?R=C3=A9mi=20Denis-Courmont?= Date: Mon, 25 Feb 2008 20:50:49 +0000 Subject: [PATCH] Remove argv/argc from libvlc_t (not really needed here) --- include/main.h | 3 --- modules/video_output/x11/xcommon.c | 5 +++-- src/config/cmdline.c | 15 ++++++--------- 3 files changed, 9 insertions(+), 14 deletions(-) diff --git a/include/main.h b/include/main.h index 29e90605d6..7527d9e6f9 100644 --- a/include/main.h +++ b/include/main.h @@ -36,9 +36,6 @@ struct libvlc_int_t VLC_COMMON_MEMBERS /* Global properties */ - int i_argc; ///< command line arguments count - const char ** ppsz_argv; ///< command line arguments - char * psz_homedir; ///< user's home directory char * psz_configdir; ///< user's configuration directory char * psz_datadir; ///< user's data directory diff --git a/modules/video_output/x11/xcommon.c b/modules/video_output/x11/xcommon.c index a13283272d..25fc2f9c30 100644 --- a/modules/video_output/x11/xcommon.c +++ b/modules/video_output/x11/xcommon.c @@ -1681,13 +1681,14 @@ static int CreateWindow( vout_thread_t *p_vout, x11_window_t *p_win ) if( !p_vout->b_fullscreen ) { + const char *argv[] = { "vlc", NULL }; + /* Set window manager hints and properties: size hints, command, * window's name, and accepted protocols */ XSetWMNormalHints( p_vout->p_sys->p_display, p_win->base_window, &xsize_hints ); XSetCommand( p_vout->p_sys->p_display, p_win->base_window, - (char**)p_vout->p_libvlc->ppsz_argv, - p_vout->p_libvlc->i_argc ); + (char**)argv, 1 ); if( !var_GetBool( p_vout, "video-deco") ) { diff --git a/src/config/cmdline.c b/src/config/cmdline.c index 7a0cf57f7f..d0df45822b 100644 --- a/src/config/cmdline.c +++ b/src/config/cmdline.c @@ -83,15 +83,12 @@ int __config_LoadCmdLine( vlc_object_t *p_this, int *pi_argc, vlc_list_t *p_list; struct option *p_longopts; int i_modules_index; + const char **argv_copy = NULL; /* Short options */ module_config_t *pp_shortopts[256]; char *psz_shortopts; - /* Set default configuration and copy arguments */ - p_this->p_libvlc->i_argc = *pi_argc; - p_this->p_libvlc->ppsz_argv = ppsz_argv; - #ifdef __APPLE__ /* When VLC.app is run by double clicking in Mac OS X, the 2nd arg * is the PSN - process serial number (a unique PID-ish thingie) @@ -154,8 +151,8 @@ int __config_LoadCmdLine( vlc_object_t *p_this, int *pi_argc, * us, ignoring the arity of the options */ if( b_ignore_errors ) { - ppsz_argv = (const char**)malloc( *pi_argc * sizeof(char *) ); - if( ppsz_argv == NULL ) + argv_copy = (const char**)malloc( *pi_argc * sizeof(char *) ); + if( argv_copy == NULL ) { msg_Err( p_this, "out of memory" ); free( psz_shortopts ); @@ -163,8 +160,8 @@ int __config_LoadCmdLine( vlc_object_t *p_this, int *pi_argc, vlc_list_release( p_list ); return -1; } - memcpy( ppsz_argv, p_this->p_libvlc->ppsz_argv, - *pi_argc * sizeof(char *) ); + memcpy( argv_copy, ppsz_argv, *pi_argc * sizeof(char *) ); + ppsz_argv = argv_copy; } i_shortopts = 0; @@ -422,7 +419,7 @@ int __config_LoadCmdLine( vlc_object_t *p_this, int *pi_argc, free( (char *)p_longopts[i_index].name ); free( p_longopts ); free( psz_shortopts ); - if( b_ignore_errors ) free( ppsz_argv ); + free( argv_copy ); return 0; } -- 2.39.2