zilasm/main: Default ZVersion changed from 1 to 6, ZorkID changed from byte to word.
authorJason Self <j@jxself.org>
Sat, 19 Sep 2015 04:15:18 +0000 (21:15 -0700)
committerJason Self <j@jxself.org>
Sat, 19 Sep 2015 04:15:18 +0000 (21:15 -0700)
zilasm/main.c

index 16216762177fdb16012e306824e524745b8eb879..a6bfa68feeecca39c8f8cac8d89daa91ac61ba66 100644 (file)
@@ -37,13 +37,14 @@ static struct option const long_options[] =
     { "zorkid",   required_argument, NULL, ZORKID   },
     { "serial",   required_argument, NULL, ZSERIAL  },
     { NULL, 0, NULL, 0 }
+
 };
 
 struct
 {
-    int  zversion;     /* 0 - 8   */
-    int  zorkid;       /* 0 - 255 */
-    char zserial[7];   /* YYMMDD  */
+    int  zversion;     /* 0 - 8     */
+    int  zorkid;       /* 0 - 65535 */
+    char zserial[7];   /* YYMMDD    */
 } Config;
 
 void wrong_arg()
@@ -54,13 +55,12 @@ void wrong_arg()
 
 void print_version()
 {
-    printf(PACKAGE_STRING "\n"
-           "License AGPLv3+: GNU AGPL version 3 or later\n"
-           "<http://gnu.org/licenses/agpl.html>\n"
-           "This is free software: you are free to change and redistribute it.\n"
-           "There is NO WARRANTY, to the extent permitted by law.\n"
+    printf( PACKAGE_STRING "\n"
+            "License AGPLv3+: GNU AGPL version 3 or later\n"
+            "<http://gnu.org/licenses/agpl.html>\n"
+            "This is free software: you are free to change and redistribute it.\n"
+            "There is NO WARRANTY, to the extent permitted by law.\n"
           );
-
     exit(0);
 }
 
@@ -72,11 +72,10 @@ void print_usage(int failed)
            "--help     Display this help\n"
            "\n"
            "--zversion (accepts numbers 1 - 8, defaults to 1 if not specified)\n"
-           "--zorkid   (accepts digits, defaults to 0 if not specified)\n"
+           "--zorkid   (integer between 0 and 65535, defaults to 0 if not specified)\n"
            "--serial   (six characters of ASCII, defaults to current date\n"
            "            in the form YYMMDD if not specified)\n"
           );
-
     exit(failed);
 }
 
@@ -84,14 +83,14 @@ void fill_zserial(void)
 {
     time_t t;
     struct tm *timeinfo;
-    time(&t);
+    time (&t);
     timeinfo = localtime(&t);
-    strftime(Config.zserial, sizeof(Config.zserial), "%y%m%d", timeinfo);
+    strftime (Config.zserial, sizeof(Config.zserial), "%y%m%d", timeinfo);
 }
 
 void fill_config(void)
 {
-    Config.zversion = 1;
+    Config.zversion = 6;
     Config.zorkid   = 0;
     fill_zserial();
 }
@@ -103,14 +102,12 @@ void parse_intarg(int *dest, const char name[], int min, int max, int defval)
         *dest = defval;
         return;
     }
-
     int n = atoi(optarg);
     if (n >= min && n <= max)
     {
         *dest = n;
         return;
     }
-
     fprintf(stderr, "Wrong %s value %s, must be integer between %d and %d\n",
             name, optarg, min, max);
     wrong_arg();
@@ -123,22 +120,19 @@ void parse_zserial(void)
         fill_zserial();
         return;
     }
-
     size_t n = strlen(optarg);
     if (n == sizeof(Config.zserial) - 1)
     {
         char *p = optarg;
         while (*p && isalnum(*p))
             p++;
-
-        if (!*p) /* ..optarg contains alphanumeric only? */
+        if (!*p)    /* ..optarg contains alphanumeric only? */
         {
             strncpy(Config.zserial, optarg, sizeof(Config.zserial));
             return;
         }
     }
-
-    fprintf(stderr, "Wrong zserial value %s, must be 6 ASCII characters\n", optarg);
+    fprintf(stderr, "Wrong zserial value %s, must be 6 ascii characters\n", optarg);
     wrong_arg();
 }
 
@@ -147,19 +141,19 @@ int main(int argc, char *argv[], char *envp[])
     fill_config();
 
     int opt = 0;
-    while ((opt = getopt_long(argc, argv, "hV", long_options, NULL)) != -1)
+    while ((opt = getopt_long (argc, argv, "hV", long_options, NULL)) != -1)
     {
-        switch (opt)
+        switch(opt)
         {
         case 'h'     :
             print_usage(0);
         case 'V'     :
             print_version();
         case ZVERSION:
-            parse_intarg(&Config.zversion, "zversion", 1, 8,   1);
+            parse_intarg(&Config.zversion, "zversion", 1, 8,      1);
             break;
         case ZORKID  :
-            parse_intarg(&Config.zorkid,   "zorkid",   0, 255, 0);
+            parse_intarg(&Config.zorkid,   "zorkid",   0, 0xFFFF, 0);
             break;
         case ZSERIAL :
             parse_zserial();