X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=ldisc.c;h=e464c1312719233f11a26dafe6d3a63f9ebd3239;hb=88a3baa06541fc6563f5f94bac4758141eada690;hp=492ad1e0004fab178cfaca7211c7ad4255342fef;hpb=39c3f9b8bc0c251ac55b5acb4a3894c7ce7e88d2;p=PuTTY.git 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);