-static int telnet_receive(Socket s, int urgent, char *data, int len) {
- if (!len) {
+static int telnet_receive(Socket skt, int urgent, char *data, int len) {
+ if (urgent==3) {
+ /* A socket error has occurred. */
+ sk_close(s);
+ s = NULL;
+ connection_fatal(data);
+ return 0;
+ } else if (!len) {