From c699949326446c62a8a35e7f96c5ab5df50f00ae Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Tue, 21 Jan 2014 21:05:50 +0100 Subject: [PATCH] retreat: Fix infinite loop when third argument contains '?' Broken in commit bb5dfd8, v4.3.16. Fix by recognizing '?' only when getting the argument interactively. Signed-off-by: Markus Armbruster --- src/lib/commands/retr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/commands/retr.c b/src/lib/commands/retr.c index d5b7ba2e..f08a6537 100644 --- a/src/lib/commands/retr.c +++ b/src/lib/commands/retr.c @@ -104,7 +104,7 @@ retreat(int type) *pq = 0; break; } - if (ch == '?') { + if (ch == '?' && !player->argp[3]) { for (j = 1; rflagsc[j]; j++) { if (rflagsc[j] != 'X') pr("%c\tretreat when %s\n",