]> skyeroc.xyz Git - dgamelaunch/commitdiff
Let's use getopt..
authorJoshua Kwan <joshk@triplehelix.org>
Sun, 1 Feb 2004 20:53:08 +0000 (20:53 +0000)
committerJoshua Kwan <joshk@triplehelix.org>
Sun, 1 Feb 2004 20:53:08 +0000 (20:53 +0000)
git-svn-id: svn://katsu.triplehelix.org/dgamelaunch/trunk@210 db0b04b0-f4d1-0310-9a6d-de3e77497b0e

dgamelaunch.c

index 1a8ded9c8c44ac6c772fb4b7b804a11e940d919f..3408a3211587d9ea39dc1d8173b16ea0196f4650 100644 (file)
@@ -1478,28 +1478,35 @@ main (int argc, char** argv)
   /* for chroot and program execution */
   char atrcfilename[81], *spool;
   unsigned int len;
-  int i;
+  int c;
 
-  for (i = 1; i < argc; i++)
+  while ((c = getopt(argc, argv, "qh:p")) != -1)
   {
-    if (!strcmp(argv[i], "-q")) silent = 1;
-    if (*argv[i] == '-')
+    switch (c)
     {
-      i++;
-      continue;
+      case 'q':
+       silent = 1; break;
+
+      default:
+       break; /*ignore */
     }
-    else 
+  }
+  
+  if (optind < argc)
+  {
+    while (optind < argc)
     {
       if (config)
       {
        if (!silent)
-         fprintf(stderr, "warning: using %s\n", argv[i]);
+         fprintf(stderr, "warning: using %s\n", argv[optind]);
        free(config);
       }
-      config = strdup(argv[i]);
+      config = strdup(argv[optind]);
+      optind++;
     }
   }
-  
+
   create_config();
 
   /* signal handlers */