char * psz_parser = NULL;
char * psz_control = NULL;
bool b_exit = false;
- int i_ret = VLC_EEXIT;
playlist_t *p_playlist = NULL;
char *psz_val;
-#if defined( ENABLE_NLS ) \
- && ( defined( HAVE_GETTEXT ) || defined( HAVE_INCLUDED_GETTEXT ) )
-# if defined (WIN32) || defined (__APPLE__)
- char * psz_language;
-#endif
-#endif
/* System specific initialization code */
system_Init();
- /*
- * Support for gettext
- */
- vlc_bindtextdomain (PACKAGE_NAME);
-
/* Initialize the module bank and load the configuration of the
* main module. We need to do this at this stage to be able to display
* a short help if required by the user. (short help == main module
}
priv->i_verbose = var_InheritInteger( p_libvlc, "verbose" );
+ /*
+ * Support for gettext
+ */
+#if defined( ENABLE_NLS ) \
+ && ( defined( HAVE_GETTEXT ) || defined( HAVE_INCLUDED_GETTEXT ) )
+# if defined (WIN32) || defined (__APPLE__)
+ /* Check if the user specified a custom language */
+ char *lang = var_InheritString (p_libvlc, "language");
+ if (lang != NULL && strcmp (lang, "auto"))
+ SetLanguage (lang);
+ free (lang);
+# endif
+ vlc_bindtextdomain (PACKAGE_NAME);
+#endif
/*xgettext: Translate "C" to the language code: "fr", "en_GB", "nl", "ru"... */
msg_Dbg( p_libvlc, "translation test: code is \"%s\"", _("C") );
{
Help( p_libvlc, "help" );
b_exit = true;
- i_ret = VLC_EEXITSUCCESS;
}
/* Check for version option */
else if( var_InheritBool( p_libvlc, "version" ) )
{
Version();
b_exit = true;
- i_ret = VLC_EEXITSUCCESS;
- }
-
- /* Check for daemon mode */
-#if !defined( WIN32 ) && !defined( __SYMBIAN32__ )
- if( var_InheritBool( p_libvlc, "daemon" ) )
- {
-#ifdef HAVE_DAEMON
- char *psz_pidfile = NULL;
-
- if( daemon( 1, 0) != 0 )
- {
- msg_Err( p_libvlc, "Unable to fork vlc to daemon mode" );
- b_exit = true;
- }
- b_daemon = true;
-
- /* lets check if we need to write the pidfile */
- psz_pidfile = var_CreateGetNonEmptyString( p_libvlc, "pidfile" );
- if( psz_pidfile != NULL )
- {
- FILE *pidfile;
- pid_t i_pid = getpid ();
- msg_Dbg( p_libvlc, "PID is %d, writing it to %s",
- i_pid, psz_pidfile );
- pidfile = vlc_fopen( psz_pidfile,"w" );
- if( pidfile != NULL )
- {
- utf8_fprintf( pidfile, "%d", (int)i_pid );
- fclose( pidfile );
- }
- else
- {
- msg_Err( p_libvlc, "cannot open pid file for writing: %s (%m)",
- psz_pidfile );
- }
- }
- free( psz_pidfile );
-
-#else
- pid_t i_pid;
-
- if( ( i_pid = fork() ) < 0 )
- {
- msg_Err( p_libvlc, "unable to fork vlc to daemon mode" );
- b_exit = true;
- }
- else if( i_pid )
- {
- /* This is the parent, exit right now */
- msg_Dbg( p_libvlc, "closing parent process" );
- b_exit = true;
- i_ret = VLC_EEXITSUCCESS;
- }
- else
- {
- /* We are the child */
- msg_Dbg( p_libvlc, "daemon spawned" );
- close( STDIN_FILENO );
- close( STDOUT_FILENO );
- close( STDERR_FILENO );
-
- b_daemon = true;
- }
-#endif
- }
-#endif
-
- if( b_exit )
- {
- module_EndBank (true);
- return i_ret;
- }
-
- /* Check for translation config option */
-#if defined( ENABLE_NLS ) \
- && ( defined( HAVE_GETTEXT ) || defined( HAVE_INCLUDED_GETTEXT ) )
-# if defined (WIN32) || defined (__APPLE__)
- /* Check if the user specified a custom language */
- psz_language = var_CreateGetNonEmptyString( p_libvlc, "language" );
- if( psz_language && strcmp( psz_language, "auto" ) )
- {
- /* Reset the default domain */
- SetLanguage( psz_language );
-
- /* Translate "C" to the language code: "fr", "en_GB", "nl", "ru"... */
- msg_Dbg( p_libvlc, "translation test: code is \"%s\"", _("C") );
}
- free( psz_language );
-# endif
-#endif
-
/* Check for help on modules */
- if( (p_tmp = var_InheritString( p_libvlc, "module" )) )
+ else if( (p_tmp = var_InheritString( p_libvlc, "module" )) )
{
Help( p_libvlc, p_tmp );
free( p_tmp );
b_exit = true;
- i_ret = VLC_EEXITSUCCESS;
}
/* Check for full help option */
else if( var_InheritBool( p_libvlc, "full-help" ) )
var_SetBool( p_libvlc, "help-verbose", true );
Help( p_libvlc, "full-help" );
b_exit = true;
- i_ret = VLC_EEXITSUCCESS;
}
/* Check for long help option */
else if( var_InheritBool( p_libvlc, "longhelp" ) )
{
Help( p_libvlc, "longhelp" );
b_exit = true;
- i_ret = VLC_EEXITSUCCESS;
}
/* Check for module list option */
else if( var_InheritBool( p_libvlc, "list" ) )
{
ListModules( p_libvlc, false );
b_exit = true;
- i_ret = VLC_EEXITSUCCESS;
}
else if( var_InheritBool( p_libvlc, "list-verbose" ) )
{
ListModules( p_libvlc, true );
b_exit = true;
- i_ret = VLC_EEXITSUCCESS;
+ }
+
+ if( b_exit )
+ {
+ module_EndBank (true);
+ return VLC_EEXITSUCCESS;
}
if( module_count <= 1 )
{
msg_Err( p_libvlc, "No plugins found! Check your VLC installation.");
- b_exit = true;
- i_ret = VLC_ENOITEM;
+ module_EndBank (true);
+ return VLC_ENOITEM;
}
- if( b_exit )
+#ifdef HAVE_DAEMON
+ /* Check for daemon mode */
+ if( var_InheritBool( p_libvlc, "daemon" ) )
{
- module_EndBank (true);
- return i_ret;
+ char *psz_pidfile = NULL;
+
+ if( daemon( 1, 0) != 0 )
+ {
+ msg_Err( p_libvlc, "Unable to fork vlc to daemon mode" );
+ module_EndBank (true);
+ return VLC_EEXIT;
+ }
+ b_daemon = true;
+
+ /* lets check if we need to write the pidfile */
+ psz_pidfile = var_CreateGetNonEmptyString( p_libvlc, "pidfile" );
+ if( psz_pidfile != NULL )
+ {
+ FILE *pidfile;
+ pid_t i_pid = getpid ();
+ msg_Dbg( p_libvlc, "PID is %d, writing it to %s",
+ i_pid, psz_pidfile );
+ pidfile = vlc_fopen( psz_pidfile,"w" );
+ if( pidfile != NULL )
+ {
+ utf8_fprintf( pidfile, "%d", (int)i_pid );
+ fclose( pidfile );
+ }
+ else
+ {
+ msg_Err( p_libvlc, "cannot open pid file for writing: %s (%m)",
+ psz_pidfile );
+ }
+ }
+ free( psz_pidfile );
}
+#endif
/* FIXME: could be replaced by using Unix sockets */
#ifdef HAVE_DBUS