mirror of https://gerrit.osmocom.org/libtelnet
will/wont states before do/wont, just like actual telnet codes and event numbers
This commit is contained in:
parent
b43c10c9ee
commit
447d3ad9f8
20
libtelnet.c
20
libtelnet.c
|
@ -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:
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue