send events for option state changes
diff --git a/libtelnet.c b/libtelnet.c
index 2054803..212bf0f 100644
--- a/libtelnet.c
+++ b/libtelnet.c
@@ -253,23 +253,27 @@
case RFC1143_WANTNO:
q.him = RFC1143_NO;
_set_rfc1143(telnet, q);
+ _event(telnet, TELNET_EV_WONT, cmd, telopt, 0, 0);
_error(telnet, __LINE__, __func__, TELNET_EPROTOCOL, 0,
"DONT answered by WILL");
break;
case RFC1143_WANTNO_OP:
q.him = RFC1143_YES;
_set_rfc1143(telnet, q);
+ _event(telnet, TELNET_EV_WILL, cmd, telopt, 0, 0);
_error(telnet, __LINE__, __func__, TELNET_EPROTOCOL, 0,
"DONT answered by WILL");
break;
case RFC1143_WANTYES:
q.him = RFC1143_YES;
_set_rfc1143(telnet, q);
+ _event(telnet, TELNET_EV_WILL, cmd, telopt, 0, 0);
break;
case RFC1143_WANTYES_OP:
q.him = RFC1143_WANTNO;
_set_rfc1143(telnet, q);
telnet_send_telopt(telnet, TELNET_DONT, telopt);
+ _event(telnet, TELNET_EV_WILL, cmd, telopt, 0, 0);
break;
}
break;
@@ -283,20 +287,17 @@
q.him = RFC1143_NO;
_set_rfc1143(telnet, q);
telnet_send_telopt(telnet, TELNET_DONT, telopt);
- _event(telnet, TELNET_EV_WONT, 0, telopt,
- 0, 0);
+ _event(telnet, TELNET_EV_WONT, 0, telopt, 0, 0);
break;
case RFC1143_WANTNO:
q.him = RFC1143_NO;
_set_rfc1143(telnet, q);
- _event(telnet, TELNET_EV_WONT, 0, telopt,
- 0, 0);
+ _event(telnet, TELNET_EV_WONT, 0, telopt, 0, 0);
break;
case RFC1143_WANTNO_OP:
q.him = RFC1143_WANTYES;
_set_rfc1143(telnet, q);
- _event(telnet, TELNET_EV_DO, 0, telopt,
- 0, 0);
+ _event(telnet, TELNET_EV_DO, 0, telopt, 0, 0);
break;
case RFC1143_WANTYES:
case RFC1143_WANTYES_OP:
@@ -322,23 +323,27 @@
case RFC1143_WANTNO:
q.us = RFC1143_NO;
_set_rfc1143(telnet, q);
+ _event(telnet, TELNET_EV_DONT, cmd, telopt, 0, 0);
_error(telnet, __LINE__, __func__, TELNET_EPROTOCOL, 0,
"WONT answered by DO");
break;
case RFC1143_WANTNO_OP:
q.us = RFC1143_YES;
_set_rfc1143(telnet, q);
+ _event(telnet, TELNET_EV_DO, cmd, telopt, 0, 0);
_error(telnet, __LINE__, __func__, TELNET_EPROTOCOL, 0,
"WONT answered by DO");
break;
case RFC1143_WANTYES:
q.us = RFC1143_YES;
_set_rfc1143(telnet, q);
+ _event(telnet, TELNET_EV_DO, cmd, telopt, 0, 0);
break;
case RFC1143_WANTYES_OP:
q.us = RFC1143_WANTNO;
_set_rfc1143(telnet, q);
telnet_send_telopt(telnet, TELNET_WONT, telopt);
+ _event(telnet, TELNET_EV_DO, cmd, telopt, 0, 0);
break;
}
break;