Coverage fixups.
[open-adventure.git] / main.c
diff --git a/main.c b/main.c
index dfc682e5b032d805e282ae62018ff44562400919..dca022a5d9657a044e58a2b0b1ad0354ce230d61 100644 (file)
--- a/main.c
+++ b/main.c
@@ -147,9 +147,11 @@ char *myreadline(const char *prompt)
     if (settings.argc == 0)
        return readline(prompt);
 
+    char *buf = malloc(BUFSIZ);
     for (;;) {
        if (settings.scriptfp == NULL || feof(settings.scriptfp)) {
            if (settings.optind >= settings.argc) {
+               free(buf);
                return NULL;
            }
 
@@ -158,15 +160,16 @@ char *myreadline(const char *prompt)
            if (settings.scriptfp != NULL && feof(settings.scriptfp))
                fclose(settings.scriptfp);
            if (strcmp(next, "-") == 0)
-               settings.scriptfp = stdin;
+               settings.scriptfp = stdin; // LCOV_EXCL_LINE
            else
                settings.scriptfp = fopen(next, "r");
        }
 
        if (isatty(fileno(settings.scriptfp))) {
-           return readline(prompt);
+           free(buf); // LCOV_EXCL_LINE
+           return readline(prompt); // LCOV_EXCL_LINE
        } else {
-           char *ln = fgets(malloc(BUFSIZ), BUFSIZ-1, settings.scriptfp);
+           char *ln = fgets(buf, BUFSIZ-1, settings.scriptfp);
            if (ln != NULL) {
                fputs(PROMPT, stdout);
                fputs(ln, stdout);
@@ -252,6 +255,7 @@ static void checkhints(void)
                     game.hintlc[hint] = 0;
                     return;
                 default: // LCOV_EXCL_LINE
+                   // Should never hap[pen
                     BUG(HINT_NUMBER_EXCEEDS_GOTO_LIST); // LCOV_EXCL_LINE
                 }
 
@@ -1041,7 +1045,7 @@ static void listobjects(void)
     }
 }
 
-bool preprocess_command(command_t *command) 
+static bool preprocess_command(command_t *command)
 /* Pre-processes a command input to see if we need to tease out a few specific cases:
  * - "enter water" or "enter stream": 
  *   wierd specific case that gets the user wet, and then kicks us back to get another command
@@ -1263,6 +1267,7 @@ static bool do_command()
                     }
                     break;// LCOV_EXCL_LINE
                 default: // LCOV_EXCL_LINE
+               case NO_WORD_TYPE: // LCOV_EXCL_LINE
                     BUG(VOCABULARY_TYPE_N_OVER_1000_NOT_BETWEEN_0_AND_3); // LCOV_EXCL_LINE
                 }