]> git.sesse.net Git - vlc/blobdiff - src/config/cmdline.c
OSX specific hack to remove "-psnXXX" from args
[vlc] / src / config / cmdline.c
index c9fa3ce677c7baa2219779981b1586c2546140e7..5f2a6ab8f783561c5c33c448508873f91440b124 100644 (file)
@@ -27,7 +27,8 @@
 
 #include <vlc_common.h>
 #include "../libvlc.h"
-#include "vlc_keys.h"
+#include <vlc_keys.h>
+#include <vlc_charset.h>
 
 #ifdef HAVE_GETOPT_LONG
 #   ifdef HAVE_GETOPT_H
@@ -64,24 +65,6 @@ int __config_LoadCmdLine( vlc_object_t *p_this, int *pi_argc,
     module_config_t *pp_shortopts[256];
     char *psz_shortopts;
 
-#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)
-     * still ok for real Darwin & when run from command line */
-    if ( (*pi_argc > 1) && (strncmp( ppsz_argv[ 1 ] , "-psn" , 4 ) == 0) )
-                                        /* for example -psn_0_9306113 */
-    {
-        /* GDMF!... I can't do this or else the MacOSX window server will
-         * not pick up the PSN and not register the app and we crash...
-         * hence the following kludge otherwise we'll get confused w/ argv[1]
-         * being an input file name.
-         * As there won't be any more args to parse, just exit. */
-        assert( *pi_argc == 2 );
-        *pi_argc = 1;
-        return 0;
-    }
-#endif
-
     /* List all modules */
     module_t **list = module_list_get (NULL);
 
@@ -272,15 +255,14 @@ int __config_LoadCmdLine( vlc_object_t *p_this, int *pi_argc,
 
                     psz_name = p_conf->psz_name;
                 }
-
-               if( p_conf->i_type != CONFIG_ITEM_BOOL && !optarg )
-               {
-                   fprintf( stderr, "Warning: missing argument for option --%s\n", p_conf->psz_name );
-                   fprintf( stderr, "Try specifying options as '--optionname=value' instead of '--optionname value'\n" );
-                   continue;
-               }
-
-
+#ifdef __APPLE__
+                if( p_conf->i_type != CONFIG_ITEM_BOOL && !optarg )
+                {
+                    fprintf( stderr, "Warning: missing argument for option --%s\n", p_conf->psz_name );
+                    fprintf( stderr, "Try specifying options as '--optionname=value' instead of '--optionname value'\n" );
+                    continue;
+                }
+#endif
                 switch( p_conf->i_type )
                 {
                     case CONFIG_ITEM_STRING:
@@ -297,7 +279,7 @@ int __config_LoadCmdLine( vlc_object_t *p_this, int *pi_argc,
                         config_PutInt( p_this, psz_name, strtol(optarg, 0, 0));
                         break;
                     case CONFIG_ITEM_FLOAT:
-                        config_PutFloat( p_this, psz_name, (float)atof(optarg) );
+                        config_PutFloat( p_this, psz_name, us_atof(optarg) );
                         break;
                     case CONFIG_ITEM_KEY:
                         config_PutInt( p_this, psz_name, ConfigStringToKey( optarg ) );