[ScryMUD] SVN Commit Info r901 - trunk/mud/grrmud/server
scrymud at wanfear.com
scrymud at wanfear.com
Tue Feb 27 00:08:04 PST 2007
Author: eroper
Date: 2007-02-27 00:08:03 -0800 (Tue, 27 Feb 2007)
New Revision: 901
Modified:
trunk/mud/grrmud/server/login.cc
Log:
I'm pretty sure I've managed to find safe placements for re-enabling
client-side echo after the password prompt. In particular link-death
reconnects weren't always receiving the WONT ECHO from the server.
Modified: trunk/mud/grrmud/server/login.cc
===================================================================
--- trunk/mud/grrmud/server/login.cc 2007-02-27 03:56:47 UTC (rev 900)
+++ trunk/mud/grrmud/server/login.cc 2007-02-27 08:08:03 UTC (rev 901)
@@ -404,8 +404,6 @@
string = pc->input.Get_Command(eos, term_by_period);
- pc->p_handler->set_echo(false);//stop echoing for the client
-
if (string == "__HEGEMON__") {
using_client(*this);
setClient(HEGEMON);
@@ -417,7 +415,6 @@
if (!isUsingClient())
show(ANSI_ECHO_ON); //echo ON
-
ProtocolHandler* tmp_p_handler = pc->p_handler;
int tmp_int = pc->descriptor;
int tmp_index = pc->index;
@@ -482,9 +479,9 @@
setNoClient(); //turn off by default
-
//This has to be restored before calling using_client() so we
//don't allow protocol handlers to go runaway.
+
pc->p_handler = tmp_p_handler;
if (using_hegemon) {
@@ -497,7 +494,7 @@
pc->index = tmp_index;
pc->mode = MODE_LOGGING_IN;
pc->link_condition = CON_LOGGING_IN;
-
+
int was_link_dead = TRUE;
mudlog << "pc->password: -:" << pc->password << ":-"
@@ -565,7 +562,10 @@
using_client(*old_ptr);
old_ptr->setClient(whichClient());
}
-
+
+ old_ptr->pc->p_handler->set_echo(false);//stop echoing for the client
+
+
// I don't think this is needed. --Ben
//if (!old_ptr->isUsingClient()) {
// old_ptr->show(CTAG_ENGAGE_CLIENT(HEGEMON)); // can we use crit.whichClient() here?
@@ -601,6 +601,9 @@
}//if was link dead
else {
/* regular logging in */
+
+ pc->p_handler->set_echo(false);//stop echoing for the client
+
quit_do_login_old(*this); //join the game
// alert imms of possible multiplaying
More information about the ScryMUD
mailing list