]> git.pond.sub.org Git - empserver/commitdiff
(prmptrd, uprmptrd): Oops on null prompt. getstarg() is sometimes
authorMarkus Armbruster <armbru@pond.sub.org>
Tue, 23 May 2006 06:04:55 +0000 (06:04 +0000)
committerMarkus Armbruster <armbru@pond.sub.org>
Tue, 23 May 2006 06:04:55 +0000 (06:04 +0000)
called with a null prompt when it is believed not to use it, and that
belief is sometimes wrong.  Other users could have similar bugs.  Some
systems (GNU, Windows) deal gracefully with printing null strings,
others crash.

src/lib/subs/pr.c

index 15c58b85405fef69d097b97cd89b152bbe8999ad..b2b04395241a6976cb83863c60220ade0bf33b75 100644 (file)
@@ -367,6 +367,9 @@ prmptrd(char *prompt, char *buf, int size)
      */
     CANT_HAPPEN(player->aborted);
 
+    if (CANT_HAPPEN(!prompt))
+       prompt = "? ";
+
     pr_id(player, C_FLUSH, "%s\n", prompt);
     if ((r = recvclient(buf, size)) < 0)
        return r;
@@ -396,6 +399,9 @@ uprmptrd(char *prompt, char *buf, int size)
     /* See prmptrd() */
     CANT_HAPPEN(player->aborted);
 
+    if (CANT_HAPPEN(!prompt))
+       prompt = "? ";
+
     pr_id(player, C_FLUSH, "%s\n", prompt);
     if ((r = recvclient(buf, size)) < 0)
        return r;