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;
{
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 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