X-Git-Url: https://jxself.org/git/?p=super-star-trek.git;a=blobdiff_plain;f=src%2Fio.c;h=5d4ea9a13154752c0ed904fc55f3116ee41fb936;hp=b513f26af4efe625d0cddb238ba06491de6057b7;hb=fd5a1ba781a0c37fa6181aa8e856d77d321df7a5;hpb=8700dc6a521fe201815aad02cf05f7f4c297c305 diff --git a/src/io.c b/src/io.c index b513f26..5d4ea9a 100644 --- a/src/io.c +++ b/src/io.c @@ -27,6 +27,8 @@ static void outro(void) (void)endwin(); putchar('\n'); } + if (logfp) + fclose(logfp); } void iostart(void) @@ -36,13 +38,13 @@ void iostart(void) textdomain(PACKAGE); gettext(""); + if (atexit(outro)){ + fprintf(stderr,"Unable to register outro(), exiting...\n"); + exit(1); + } if (!(game.options & OPTION_CURSES)) { rows = atoi(getenv("LINES")); } else { - if (atexit(outro)){ - fprintf(stderr,"Unable to register outro(), exiting...\n"); - exit(1); - } (void)initscr(); #ifdef KEY_MIN keypad(stdscr, TRUE); @@ -203,6 +205,8 @@ void cgetline(char *line, int max) } else { fgets(line, max, stdin); } + if (logfp) + fputs(line, logfp); line[strlen(line)-1] = '\0'; } @@ -303,7 +307,7 @@ void highvideo (void) } } -void commandhook(char *cmd, int before) { +void commandhook(char *cmd, bool before) { } /* @@ -430,7 +434,7 @@ void makechart(void) void setpassword(void) { if (!(game.options & OPTION_CURSES)) { - while (TRUE) { + for (;;) { scan(); strcpy(game.passwd, citem); chew();