Address Gitlab isse #62: Comment typos.
[open-adventure.git] / saveresume.c
index ab2e1fed3ad67e57457f5e44acc16cd474113d9f..25757c4f24be83c82d66d9e71d0a70a7ff1b15b2 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
@@ -62,12 +68,12 @@ int suspend(void)
     FILE *fp = NULL;
 
     rspeak(SUSPEND_WARNING);
-    if (!yes(arbitrary_messages[THIS_ACCEPTABLE], arbitrary_messages[OK_MAN], arbitrary_messages[OK_MAN]))
+    if (!yes_or_no(arbitrary_messages[THIS_ACCEPTABLE], arbitrary_messages[OK_MAN], arbitrary_messages[OK_MAN]))
         return GO_CLEAROBJ;
     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);
@@ -95,12 +101,15 @@ int resume(void)
     if (game.loc != 1 ||
         game.abbrev[1] != 1) {
         rspeak(RESUME_ABANDON);
-        if (!yes(arbitrary_messages[THIS_ACCEPTABLE], arbitrary_messages[OK_MAN], arbitrary_messages[OK_MAN]))
+        if (!yes_or_no(arbitrary_messages[THIS_ACCEPTABLE], arbitrary_messages[OK_MAN], arbitrary_messages[OK_MAN]))
             return GO_CLEAROBJ;
     }
 
     while (fp == NULL) {
-        char* name = readline("\nFile name: ");
+        char* name = myreadline("\nFile name: ");
+        // Autocomplete can leave the input with an extra trailing 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);
@@ -134,8 +143,8 @@ int restore(FILE* fp)
 bool is_valid(struct game_t valgame)
 {
     /*  Save files can be roughly grouped into three groups:
-     *  With valid, reaceable state, with valid, but unreachable
-     *  state and with invaild state. We check that state is
+     *  With valid, reacheable state, with valid, but unreachable
+     *  state and with invalid state. We check that state is
      *  valid: no states are outside minimal or maximal value
      */