Just deleting the option to play again seems easier than figuring out why a
loop won't work like any normal program. Just push the up arrow and hit enter
if you want to play again.
Index: io.c
===================================================================
RCS file: /cvs/src/games/phantasia/io.c,v
retrieving revision 1.6
diff -u -p -r1.6 io.c
--- io.c 12 Jul 2014 03:41:04 -0000 1.6
+++ io.c 5 Nov 2015 23:23:55 -0000
@@ -217,7 +217,7 @@ inputoption()
/
/ RETURN VALUE: none
/
-/ MODULES CALLED: fork(), exit(), wait(), death(), alarm(), execl(), wmove(),
+/ MODULES CALLED: fork(), exit(), wait(), death(), alarm(), wmove(),
/ signal(), getenv(), wclear(), crmode(), clearok(), waddstr(),
/ cleanup(), wrefresh(), leavegame(), getanswer()
/
Index: misc.c
===================================================================
RCS file: /cvs/src/games/phantasia/misc.c,v
retrieving revision 1.16
diff -u -p -r1.16 misc.c
--- misc.c 12 Jul 2014 03:41:04 -0000 1.16
+++ misc.c 5 Nov 2015 23:24:20 -0000
@@ -827,7 +827,7 @@ leavegame()
/ RETURN VALUE: none
/
/ MODULES CALLED: freerecord(), enterscore(), more(), exit(), fread(),
-/ fseek(), execl(), fopen(), floor(), wmove(), drandom(), wclear(),
strcmp(),
+/ fseek(), fopen(), floor(), wmove(), drandom(), wclear(), strcmp(),
/ fwrite(), fflush(), printw(), strlcpy(), fclose(), waddstr(),
cleanup(),
/ fprintf(), wrefresh(), getanswer(), descrtype()
/
@@ -928,18 +928,7 @@ death(how)
clear();
move(10, 0);
addstr(deathmesg[(int) ROLL(0.0, (double) sizeof(deathmesg) /
sizeof(char *))]);
- addstr("Care to give it another try ? ");
- ch = getanswer("NY", FALSE);
-
- if (ch == 'Y') {
- cleanup(FALSE);
- execl(_PATH_GAMEPROG, "phantasia", "-s",
- (Wizard ? "-S" : (char *)NULL), (char *)NULL);
- exit(0);
- /* NOTREACHED */
- }
cleanup(TRUE);
- /* NOTREACHED */
}
/**/
/************************************************************************