chiark / gitweb /
routesearch: improve arg parsing
[ypp-sc-tools.db-test.git] / yarrg / rsmain.c
index a784ae383ef3fa521bc86f7c1d1ce929914f2eaf..f99f866d2ee0e39316403e2cd682bc5e7ef98c3a 100644 (file)
@@ -30,6 +30,7 @@ int main(int argc, const char **argv) {
   const char *arg;
   int i, ap;
   int granui;
+  const char *database=0;
 
 #ifndef debug_flags
   debug_flags= ~( dbg_sql2 );
@@ -38,14 +39,18 @@ int main(int argc, const char **argv) {
   for (;;) {
     arg= *++argv;
     if (arg[0] != '-') break;
+    if (!strcmp(arg,"-d")) {
+      database= *++argv;
+    } else if (!strcmp(arg,"-g")) {
+      granus= atoi(*++argv);
+      assert(granus>=1 && granus<=GRANUS);
 #ifndef debug_flags
-    if (!strcmp(arg,"-DN")) {
+    } else if (!strcmp(arg,"-DN")) {
       debug_flags= 0;
     } else if (!strcmp(arg,"-D1")) {
       debug_flags= ~(dbg_sql2|dbg_lp|dbg_value2);
-    } else
+    } else {
 #endif
-    {
       abort();
     }
   }
@@ -77,8 +82,6 @@ int main(int argc, const char **argv) {
     debug_file= stderr;
   }
 
-  const char *database= *argv++;
-
   sysassert( !setvbuf(debug,0,_IOLBF,0) );
 
   max_mass= atof(*argv++);
@@ -185,7 +188,7 @@ int main(int argc, const char **argv) {
          int midarch= route2midarch(ports,nports);
          fprintf(output,
                  " @%2d %c#%2d | start%3d mid%d:%3d f%d:%3d | %5d %5d %4d |",
-                 pos, "ap"[ap], nhighscores[granui][ap] - 1 - pos,
+                 pos, "ap"[ap], nhighscores[granui][ap] - pos,
                  ports[0], midarch,midisle, finarch,finisle,
                  (int)hs->value, (int)pr->value[A], (int)pr->value[P]);
          for (i=0; i<nports; i++) fprintf(output," %d",ports[i]);