From: nveid <nveid@comcast.net>
Date: Sat, 28 Oct 2006 11:49:47 +0000 (+0000)
Subject: @su and @sd didn't prompt correctly for non GOAHEAD telnet code handling
X-Git-Tag: 0.72p2~6
X-Git-Url: https://git.theari.com/?a=commitdiff_plain;h=394b0cccf0c2674506139bb3a0ac551fa54d7305;p=cobramush.git

@su and @sd didn't prompt correctly for non GOAHEAD telnet code handling

clients.
(cherry picked from commit 0ec40e2272e5790e25e7f9bd1cf81f95bb89996a)
---

diff --git a/game/txt/changes/0.72p2 b/game/txt/changes/0.72p2
index 924f829..39dce78 100644
--- a/game/txt/changes/0.72p2
+++ b/game/txt/changes/0.72p2
@@ -25,3 +25,5 @@ CobraMUSH Version 0.72p2
     * Certain command restrictions that were applied did not give
       appropriate command failure messages correctly. [RLB]
     * Checking info for any attributes would crash the game. [RLB]
+    * @su and @sd Password: prompt didn't handle correctly for clients
+      that did not handle the GOAHEAD prompt telnet code. [RLB]
diff --git a/src/bsd.c b/src/bsd.c
index dd06654..18a0915 100644
--- a/src/bsd.c
+++ b/src/bsd.c
@@ -5600,6 +5600,9 @@ COMMAND(cmd_su) {
       /* We're only entering using a password at this moment */
 	queue_newwrite(match, (unsigned char *) tprintf(T("Password: %c%c"),
 							IAC, GOAHEAD), 13);
+	if(!PromptConnection(match))
+	  queue_newwrite(match, (unsigned char *) "\r\n", 3);
+
 	match->input_handler = password_handler;
 	match->pinfo.object = target;
 	match->pinfo.function = &pw_div_connect;
@@ -5649,6 +5652,9 @@ COMMAND(cmd_su) {
 	/* Part 3b.  Put guy in password program */
 	queue_newwrite(match, (unsigned char *) tprintf(T("Password: %c%c"),
 							IAC, GOAHEAD), 13);
+	if(!PromptConnection(match))
+	  queue_newwrite(match, (unsigned char *) "\r\n", 3);
+
 	match->input_handler = password_handler;
 	match->pinfo.object = target;
 	match->pinfo.function = &pw_player_connect;