Test Coverage -- lots of new pieces of actions.c
[open-adventure.git] / misc.c
diff --git a/misc.c b/misc.c
index 29846e23f6a5aef4aef9320ea180e8a0797a5800..09244625cfe0c536bb866fcf17eccf21356d5e48 100644 (file)
--- 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];