Support execution of command script arguments.
[open-adventure.git] / saveresume.c
index ab2e1fed3ad67e57457f5e44acc16cd474113d9f..fb247c91df8679ef669839d1c2d044d4f354fd44 100644 (file)
 
 #include <stdlib.h>
 #include <string.h>
-#include <editline/readline.h>
 #include <time.h>
 #include <inttypes.h>
 
 #include "advent.h"
 #include "dungeon.h"
 
-#define VRSION 29      /* bump on save format change */
+/*
+ * Bump on save format change.
+ *
+ * Note: Verify that the tests run clean before bumping this, then rebuild the check
+ * files afterwards.  Otherwise you will get a spurious failure due to the old version
+ * having been generated into a check file.
+ */
+#define VRSION 29
 
 /*
  * If you change the first three members, the resume function may not properly
@@ -67,7 +73,7 @@ int suspend(void)
     game.saved = game.saved + 5;
 
     while (fp == NULL) {
-        char* name = readline("\nFile name: ");
+        char* name = myreadline("\nFile name: ");
         if (name == NULL)
             return GO_TOP;
         fp = fopen(name, WRITE_MODE);
@@ -100,7 +106,10 @@ int resume(void)
     }
 
     while (fp == NULL) {
-        char* name = readline("\nFile name: ");
+        char* name = myreadline("\nFile name: ");
+       // Autocomplete can leave the input with an extra traoling space.
+       if (name != NULL && strlen(name) > 0 && name[strlen(name) - 1] == ' ')
+           name[strlen(name) - 1] = '\0';
         if (name == NULL)
             return GO_TOP;
         fp = fopen(name, READ_MODE);