From 830c1ea580cb7adbf5f484797e8c13ae6d72a5f2 Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Wed, 24 Oct 2001 11:50:07 +0000 Subject: [PATCH] Now that we can configure whether ^C and friends generate Telnet IP and friends, we should honour the user's choice even in line editing mode. In particular, Telnet talkers don't like us randomly spraying Telnet IP whenever the user accidentally hits ^C, so this is not a helpful default. [originally from svn r1316] --- ldisc.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ldisc.c b/ldisc.c index 492ad1e0..e464c131 100644 --- a/ldisc.c +++ b/ldisc.c @@ -132,6 +132,13 @@ void ldisc_send(char *buf, int len, int interactive) term_buflen--; } back->special(TS_EL); + /* + * We don't send IP, SUSP or ABORT if the user has + * configured telnet specials off! This breaks + * talkers otherwise. + */ + if (!cfg.telnet_keyboard) + goto default_case; if (c == CTRL('C')) back->special(TS_IP); if (c == CTRL('Z')) @@ -204,6 +211,7 @@ void ldisc_send(char *buf, int len, int interactive) } /* FALLTHROUGH */ default: /* get to this label from ^V handler */ + default_case: if (term_buflen >= term_bufsiz) { term_bufsiz = term_buflen + 256; term_buf = saferealloc(term_buf, term_bufsiz);