diff --git a/src/lib/subs/pr.c b/src/lib/subs/pr.c index 1412e434..6976944f 100644 --- a/src/lib/subs/pr.c +++ b/src/lib/subs/pr.c @@ -358,6 +358,12 @@ prmptrd(char *prompt, char *buf, int size) { int r; + /* + * Each prompt must consume one line of input. recvclient() + * doesn't do that while player->aborted. + */ + CANT_HAPPEN(player->aborted); + pr_id(player, C_FLUSH, "%s\n", prompt); if ((r = recvclient(buf, size)) < 0) return r; @@ -384,6 +390,9 @@ uprmptrd(char *prompt, char *buf, int size) { int r; + /* See prmptrd() */ + CANT_HAPPEN(player->aborted); + pr_id(player, C_FLUSH, "%s\n", prompt); if ((r = recvclient(buf, size)) < 0) return r;