X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=saveresume.c;h=b5205d398898ea89fd6070b4d18f1a5eab5f79fc;hb=9af3ab4ecddbd6dd0347a4adc54a98b5153a9fb6;hp=eab902ab8036aa68a960c7d8d4ea23095c8cdc69;hpb=81af59974bcc0c619437cb83064d7c18e27614ec;p=open-adventure.git diff --git a/saveresume.c b/saveresume.c index eab902a..b5205d3 100644 --- a/saveresume.c +++ b/saveresume.c @@ -11,14 +11,20 @@ #include #include -#include #include #include #include "advent.h" #include "dungeon.h" -#define VRSION 28 /* 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);