Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mRemoteNG/PuTTYNG.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Tatham <anakin@pobox.com>2001-10-24 15:50:07 +0400
committerSimon Tatham <anakin@pobox.com>2001-10-24 15:50:07 +0400
commit830c1ea580cb7adbf5f484797e8c13ae6d72a5f2 (patch)
tree8a613a0a89ee4e8a957537bd2de1b9e63a613822 /ldisc.c
parentaa5f38e53c5ce7888b14e65a768ae420c83bf2e1 (diff)
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]
Diffstat (limited to 'ldisc.c')
-rw-r--r--ldisc.c8
1 files changed, 8 insertions, 0 deletions
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);