Group key config symbols together
[neverball] / share / mapc.c
index 6fd9a77..ab3b580 100644 (file)
@@ -2450,14 +2450,15 @@ static void dump_file(struct s_file *p, const char *name)
 
 int main(int argc, char *argv[])
 {
-    char src[MAXSTR];
-    char dst[MAXSTR];
+    char src[MAXSTR] = "";
+    char dst[MAXSTR] = "";
     struct s_file f;
     fs_file fin;
 
     if (!fs_init(argv[0]))
     {
-        fprintf(stderr, "Failure to initialize virtual file system\n");
+        fprintf(stderr, "Failure to initialize virtual file system: %s\n",
+                fs_error());
         return 1;
     }
 
@@ -2468,18 +2469,18 @@ int main(int argc, char *argv[])
         if (argc > 3 && strcmp(argv[3], "--debug") == 0)
             debug_output = 1;
 
-        fs_add_path     (dir_name(input_file));
-        fs_set_write_dir(dir_name(input_file));
-
-        strncpy(src,  base_name(input_file, NULL), MAXSTR);
-        strncpy(dst,  src,                         MAXSTR);
+        strncpy(src, argv[1], MAXSTR - 1);
+        strncpy(dst, argv[1], MAXSTR - 1);
 
         if (strcmp(dst + strlen(dst) - 4, ".map") == 0)
             strcpy(dst + strlen(dst) - 4, ".sol");
         else
             strcat(dst, ".sol");
 
-        if ((fin = fs_open(src, "r")))
+        fs_add_path     (dir_name(src));
+        fs_set_write_dir(dir_name(dst));
+
+        if ((fin = fs_open(base_name(src, NULL), "r")))
         {
             if (!fs_add_path_with_archives(argv[2]))
             {
@@ -2503,7 +2504,7 @@ int main(int argc, char *argv[])
             node_file(&f);
             dump_file(&f, dst);
 
-            sol_stor(&f, dst);
+            sol_stor(&f, base_name(dst, NULL));
 
             fs_close(fin);