will/wont states before do/wont, just like actual telnet codes and event numbers

This commit is contained in:
Sean Middleditch 2009-03-20 23:22:37 -04:00
parent b43c10c9ee
commit 447d3ad9f8
2 changed files with 12 additions and 12 deletions

View File

@ -527,16 +527,6 @@ static void _process(telnet_t *telnet, const char *buffer,
break;
/* negotiation commands */
case TELNET_STATE_DO:
_negotiate(telnet, TELNET_DO, byte);
start = i + 1;
telnet->state = TELNET_STATE_DATA;
break;
case TELNET_STATE_DONT:
_negotiate(telnet, TELNET_DONT, byte);
start = i + 1;
telnet->state = TELNET_STATE_DATA;
break;
case TELNET_STATE_WILL:
_negotiate(telnet, TELNET_WILL, byte);
start = i + 1;
@ -547,6 +537,16 @@ static void _process(telnet_t *telnet, const char *buffer,
start = i + 1;
telnet->state = TELNET_STATE_DATA;
break;
case TELNET_STATE_DO:
_negotiate(telnet, TELNET_DO, byte);
start = i + 1;
telnet->state = TELNET_STATE_DATA;
break;
case TELNET_STATE_DONT:
_negotiate(telnet, TELNET_DONT, byte);
start = i + 1;
telnet->state = TELNET_STATE_DATA;
break;
/* subnegotiation -- determine subnegotiation telopt */
case TELNET_STATE_SB:

View File

@ -94,10 +94,10 @@ typedef struct telnet_event_t telnet_event_t;
enum telnet_state_t {
TELNET_STATE_DATA = 0,
TELNET_STATE_IAC,
TELNET_STATE_DO,
TELNET_STATE_DONT,
TELNET_STATE_WILL,
TELNET_STATE_WONT,
TELNET_STATE_DO,
TELNET_STATE_DONT,
TELNET_STATE_SB,
TELNET_STATE_SB_DATA,
TELNET_STATE_SB_DATA_IAC