* and for the offensive globals. Applying the Structured Program
* Theorem can be hard.
*/
-#define DEFINE_GLOBALS_FROM_INCLUDES
+
#include <stdlib.h>
#include <stdio.h>
#include <stdbool.h>
struct game_t game;
-long LNLENG, LNPOSN;
-char rawbuf[LINESIZE], INLINE[LINESIZE + 1];
-
FILE *logfp = NULL, *rfp = NULL;
bool oldstyle = false;
bool editline = true;
if (logfp != NULL)
fflush(logfp);
}
- exit(0);
+ exit(EXIT_FAILURE);
}
// LCOV_EXCL_STOP
#endif
fprintf(stderr,
" -s suppress command editing\n");
- exit(-1);
+ exit(EXIT_FAILURE);
break;
}
}
rspeak(TAME_BEAR);
speak(msg);
if (FORCED(game.loc)) {
- if (playermove(MOT_1))
+ if (playermove(HERE))
return true;
else
continue; /* back to top of main interpreter loop */
/* This is where we get a new command from the user */
char* input;
+ char inputbuf[LINESIZE];
+
for (;;) {
input = get_input();
if (input == NULL)
if (strcmp(input, "") != 0)
break;
}
+
+ strncpy(inputbuf, input, LINESIZE - 1);
+ linenoiseFree(input);
+
long tokens[4];
- tokenize(input, tokens);
+ tokenize(inputbuf, tokens);
command.wd1 = tokens[0];
command.wd1x = tokens[1];
command.wd2 = tokens[2];
defn = get_vocab_id(word1);
if (defn == -1) {
/* Gee, I don't understand. */
- if (fallback_handler(input))
+ if (fallback_handler(inputbuf))
continue;
rspeak(DONT_KNOW, command.wd1, command.wd1x);
goto L2600;
default:
BUG(ACTION_RETURNED_PHASE_CODE_BEYOND_END_OF_SWITCH); // LCOV_EXCL_LINE
}
- linenoiseFree(input);
}
}