Commit Diff


commit - f63e6777c0b5c9a4da56702ffce9da84dc11a558
commit + 1dcf7be557c4f3d8a3b59079ed38781c2cc46ad6
blob - 9f08f1a6f8dd3bd175dab3381774c5fd341fef1c
blob + 76208adb9bcd2ccd4da55cc32bab1d725bdba80b
--- rover.c
+++ rover.c
@@ -808,7 +808,7 @@ main(int argc, char *argv[])
     const char *key;
     DIR *d;
     EditStat edit_stat;
-    const char *save_cwd_file = NULL;
+    FILE *save_cwd_file = NULL;
 
     if (argc >= 2) {
         if (!strcmp(argv[1], "-v") || !strcmp(argv[1], "--version")) {
@@ -827,7 +827,7 @@ main(int argc, char *argv[])
             );
             return 0;
         } else if (argc > 2 && !strcmp(argv[1], "--save-cwd")) {
-            save_cwd_file = argv[2];
+            save_cwd_file = fopen(argv[2], "w");
             argc -= 2; argv += 2;
         }
     }
@@ -1156,9 +1156,8 @@ main(int argc, char *argv[])
     free_marks(&rover.marks);
     delwin(rover.window);
     if (save_cwd_file != NULL) {
-        FILE *fd = fopen(save_cwd_file, "w");
-        fputs(CWD, fd);
-        fclose(fd);
+        fputs(CWD, save_cwd_file);
+        fclose(save_cwd_file);
     }
     return 0;
 }