X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/fb006241667a4433ca6fbfcaf37522fb924e0110..887035a593c8c0a1af853657c80046e17dc5581a:/ldisc.c diff --git a/ldisc.c b/ldisc.c index e6a110b1..ceafa416 100644 --- a/ldisc.c +++ b/ldisc.c @@ -9,17 +9,18 @@ #include #include "putty.h" +#include "terminal.h" #define ECHOING (cfg.localecho == LD_YES || \ (cfg.localecho == LD_BACKEND && \ - (back->ldisc(LD_ECHO) || term_ldisc(LD_ECHO)))) + (back->ldisc(LD_ECHO) || term_ldisc(term, LD_ECHO)))) #define EDITING (cfg.localedit == LD_YES || \ (cfg.localedit == LD_BACKEND && \ - (back->ldisc(LD_EDIT) || term_ldisc(LD_EDIT)))) + (back->ldisc(LD_EDIT) || term_ldisc(term, LD_EDIT)))) static void c_write(char *buf, int len) { - from_backend(0, buf, len); + from_backend(term, 0, buf, len); } static char *term_buf = NULL; @@ -27,7 +28,7 @@ static int term_buflen = 0, term_bufsiz = 0, term_quotenext = 0; static int plen(unsigned char c) { - if ((c >= 32 && c <= 126) || (c >= 160 && !in_utf)) + if ((c >= 32 && c <= 126) || (c >= 160 && !in_utf(term))) return 1; else if (c < 128) return 2; /* ^x for some x */ @@ -37,7 +38,7 @@ static int plen(unsigned char c) static void pwrite(unsigned char c) { - if ((c >= 32 && c <= 126) || (c >= 160 && !in_utf)) { + if ((c >= 32 && c <= 126) || (c >= 160 && !in_utf(term))) { c_write(&c, 1); } else if (c < 128) { char cc[2]; @@ -70,6 +71,7 @@ void ldisc_send(char *buf, int len, int interactive) if (len == 0) { void ldisc_update(int echo, int edit); ldisc_update(ECHOING, EDITING); + return; } /* * Less than zero means null terminated special string.