X-Git-Url: https://jxself.org/git/?p=open-adventure.git;a=blobdiff_plain;f=misc.c;h=09244625cfe0c536bb866fcf17eccf21356d5e48;hp=29846e23f6a5aef4aef9320ea180e8a0797a5800;hb=67ed99b29cfe5c32b3db72091de3fb174195e032;hpb=6ecd0010931a988792e672e1fe0a1192fca7b002 diff --git a/misc.c b/misc.c index 29846e2..0924462 100644 --- a/misc.c +++ b/misc.c @@ -257,8 +257,8 @@ char* get_input() IGNORE(getline(&input, &n, stdin)); } - if (input == NULL) // Got EOF; quit. - exit(EXIT_SUCCESS); + if (input == NULL) // Got EOF; return with it. + return(input); else if (input[0] == '#') // Ignore comments. continue; else // We have a 'normal' line; leave the loop. @@ -290,8 +290,12 @@ bool YES(const char* question, const char* yes_response, const char* no_response speak(question); reply = get_input(); + if (reply == NULL) { + linenoiseFree(reply); + exit(EXIT_SUCCESS); + } - char* firstword = (char*) xmalloc(strlen(reply)); + char* firstword = (char*) xmalloc(strlen(reply)+1); sscanf(reply, "%s", firstword); for (int i = 0; i < (int)strlen(firstword); ++i) @@ -663,10 +667,10 @@ bool MAPLIN(FILE *fp) * If the data file uses a character other than space (e.g., tab) to * separate numbers, that character should also translate to 0. * - * This procedure may use the map1,map2 arrays to maintain static data for - * the mapping. MAP2(1) is set to 0 when the program starts - * and is not changed thereafter unless the routines on this page choose - * to do so. */ + * This procedure may use the map1,map2 arrays to maintain + * static data for he mapping. MAP2(1) is set to 0 when the + * program starts and is not changed thereafter unless the + * routines in this module choose to do so. */ LNLENG = 0; for (long i = 1; i <= (long)sizeof(INLINE) && INLINE[i] != 0; i++) { long val = INLINE[i];