try_write();
}
+static void c_write1(int c) {
+ char cc = (char)c;
+ from_backend(0, &cc, 1);
+}
+
static void log_option (char *sender, int cmd, int option) {
char buf[50];
sprintf(buf, "%s:\t%s %s", sender,
case FD_CLOSE:
{
int clear_of_oob = 1;
- if (ioctlsocket (s, SIOCATMARK, &clear_of_oob) < 0 )
- return -20000-WSAGetLastError();
+
+ /* Don't check for error return; some shims don't support
+ * this ioctl.
+ */
+ ioctlsocket (s, SIOCATMARK, &clear_of_oob);
in_synch = !clear_of_oob;
send_opt (o_echo.nsend, o_echo.option);
}
break;
+ case TS_PING:
+ if (o_they_sga.state == ACTIVE) {
+ b[1] = NOP;
+ s_write (b, 2);
+ }
+ break;
}
}
telnet_size,
telnet_special,
telnet_socket,
- telnet_sendok
+ telnet_sendok,
+ 23
};