[vlc-commits] Gather all checks for the command line help options
Rémi Denis-Courmont
git at videolan.org
Sun Aug 21 13:39:01 CEST 2011
vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Sun Aug 21 14:30:11 2011 +0300| [b1aebb75b4f3cbbb97ea04f13a1ceb3513fec7c9] | committer: Rémi Denis-Courmont
Gather all checks for the command line help options
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=b1aebb75b4f3cbbb97ea04f13a1ceb3513fec7c9
---
src/libvlc.c | 130 ++++++++++++++++++++--------------------------------------
1 files changed, 44 insertions(+), 86 deletions(-)
diff --git a/src/libvlc.c b/src/libvlc.c
index c4b4987..7893701 100644
--- a/src/libvlc.c
+++ b/src/libvlc.c
@@ -235,7 +235,6 @@ int libvlc_InternalInit( libvlc_int_t *p_libvlc, int i_argc,
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;
@@ -319,94 +318,19 @@ int libvlc_InternalInit( libvlc_int_t *p_libvlc, int i_argc,
{
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" ) )
@@ -417,41 +341,75 @@ int libvlc_InternalInit( libvlc_int_t *p_libvlc, int i_argc,
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
More information about the vlc-commits
mailing list