- Only allow letters, digits and slash in access/demux specification
[vlc.git] / src / vlc.c
index 9b679a3..94709d2 100644 (file)
--- a/src/vlc.c
+++ b/src/vlc.c
@@ -101,24 +101,23 @@ int main( int i_argc, char *ppsz_argv[] )
      * and force an unclean shutdown if they are triggered again 2+ seconds
      * later. We have to handle SIGTERM cleanly because of daemon mode.
      * Note that we set the signals after the vlc_create call. */
-    static const int sigs[] = { SIGINT, SIGHUP, SIGQUIT, SIGTERM };
-    /* Ignored signals */
-    static const int ignored[] = { SIGALRM, SIGPIPE };
+    static const int exitsigs[] = { SIGINT, SIGHUP, SIGQUIT, SIGTERM };
+    static const int dummysigs[] = { SIGALRM, SIGPIPE, SIGCHLD };
 
     sigset_t set;
     pthread_t sigth;
 
     sigemptyset (&set);
-    for (unsigned i = 0; i < sizeof (sigs) / sizeof (sigs[0]); i++)
-        sigaddset (&set, sigs[i]);
-    for (unsigned i = 0; i < sizeof (ignored) / sizeof (ignored[0]); i++)
-        sigaddset (&set, ignored[i]);
+    for (unsigned i = 0; i < sizeof (exitsigs) / sizeof (exitsigs[0]); i++)
+        sigaddset (&set, exitsigs[i]);
+    for (unsigned i = 0; i < sizeof (dummysigs) / sizeof (dummysigs[0]); i++)
+        sigaddset (&set, dummysigs[i]);
 
     /* Block all these signals */
     pthread_sigmask (SIG_BLOCK, &set, NULL);
 
-    for (unsigned i = 0; i < sizeof (ignored) / sizeof (ignored[0]); i++)
-        sigdelset (&set, ignored[i]);
+    for (unsigned i = 0; i < sizeof (dummysigs) / sizeof (dummysigs[0]); i++)
+        sigdelset (&set, dummysigs[i]);
 
     pthread_create (&sigth, NULL, SigHandler, &set);
 #endif
@@ -132,7 +131,7 @@ int main( int i_argc, char *ppsz_argv[] )
         int si = { 0 };
         __wgetmainargs(&i_wargc, &wargv, &wenvp, 0, &si);
 
-        for( i = 1; i < i_wargc; i++ )
+        for( i = 0; i < i_wargc; i++ )
         {
             int len = WideCharToMultiByte(CP_UTF8, 0, wargv[i], -1, NULL, 0, NULL, NULL);
             if( len > 0 )
@@ -246,7 +245,7 @@ static void *SigHandler (void *data)
         }
         else
         if (time (NULL) <= abort_time)
-       {
+        {
             /* If user asks again more than 2 seconds later, die badly */
             pthread_sigmask (SIG_UNBLOCK, set, NULL);
             fprintf (stderr, "user insisted too much, dying badly\n");
@@ -260,7 +259,7 @@ static void *SigHandler (void *data)
 
 static void KillOnce (void)
 {
-       VLC_Die (0);
+    VLC_Die (0);
 }
 
 static void Kill (void)