will/wont states before do/wont, just like actual telnet codes and event numbers
diff --git a/libtelnet.c b/libtelnet.c
index 73c800f..4a86537 100644
--- a/libtelnet.c
+++ b/libtelnet.c
@@ -527,16 +527,6 @@
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 @@
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: