#ifndef ADVENT_NOSAVE
if (!rfp) {
- game.novice = yes(arbitrary_messages[WELCOME_YOU], arbitrary_messages[CAVE_NEARBY], arbitrary_messages[NO_MESSAGE]);
+ game.novice = yes_or_no(arbitrary_messages[WELCOME_YOU], arbitrary_messages[CAVE_NEARBY], arbitrary_messages[NO_MESSAGE]);
if (game.novice)
game.limit = NOVICELIMIT;
} else {
restore(rfp);
}
#else
- game.novice = yes(arbitrary_messages[WELCOME_YOU], arbitrary_messages[CAVE_NEARBY], arbitrary_messages[NO_MESSAGE]);
+ game.novice = yes_or_no(arbitrary_messages[WELCOME_YOU], arbitrary_messages[CAVE_NEARBY], arbitrary_messages[NO_MESSAGE]);
if (game.novice)
game.limit = NOVICELIMIT;
#endif
if (settings.argc == 0)
return readline(prompt);
+ char *buf = malloc(LINESIZE+1);
for (;;) {
if (settings.scriptfp == NULL || feof(settings.scriptfp)) {
if (settings.optind >= settings.argc) {
+ free(buf);
return NULL;
}
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, LINESIZE, settings.scriptfp);
if (ln != NULL) {
fputs(PROMPT, stdout);
fputs(ln, stdout);
game.hintlc[hint] = 0;
return;
default: // LCOV_EXCL_LINE
+ // Should never hap[pen
BUG(HINT_NUMBER_EXCEEDS_GOTO_LIST); // LCOV_EXCL_LINE
}
/* Fall through to hint display */
game.hintlc[hint] = 0;
- if (!yes(hints[hint].question, arbitrary_messages[NO_MESSAGE], arbitrary_messages[OK_MAN]))
+ if (!yes_or_no(hints[hint].question, arbitrary_messages[NO_MESSAGE], arbitrary_messages[OK_MAN]))
return;
rspeak(HINT_COST, hints[hint].penalty, hints[hint].penalty);
- game.hinted[hint] = yes(arbitrary_messages[WANT_HINT], hints[hint].hint, arbitrary_messages[OK_MAN]);
+ game.hinted[hint] = yes_or_no(arbitrary_messages[WANT_HINT], hints[hint].hint, arbitrary_messages[OK_MAN]);
if (game.hinted[hint] && game.limit > WARNTIME)
game.limit += WARNTIME * hints[hint].penalty;
}
* death and exit. */
rspeak(DEATH_CLOSING);
terminate(endgame);
- } else if (!yes(query, yes_response, arbitrary_messages[OK_MAN])
+ } else if (!yes_or_no(query, yes_response, arbitrary_messages[OK_MAN])
|| game.numdie == NDEATHS) {
/* Player is asked if he wants to try again. If not, or if
* he's already used all of his lives, we end the game */
}
}
-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
if (game.loc == LOC_COBBLE ||
game.loc == LOC_DEBRIS ||
game.loc == LOC_AWKWARD ||
- game.loc == LOC_BIRD ||
+ game.loc == LOC_BIRDCHAMBER ||
game.loc == LOC_PITTOP) {
command->word[0].id = ENTRANCE;
}
}
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
}