X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/8d5de7770cde9b808c276bd86a0214189a8f7578..6f34e365eed04c1b4ebcf6d90511dd9e4400880a:/plink.c diff --git a/plink.c b/plink.c index fd9d36dd..db48d544 100644 --- a/plink.c +++ b/plink.c @@ -32,12 +32,19 @@ void connection_fatal (char *p, ...) { } HANDLE outhandle; +DWORD orig_console_mode; + +void begin_session(void) { + if (!cfg.ldisc_term) + SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), ENABLE_PROCESSED_INPUT); + else + SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), orig_console_mode); +} void term_out(void) { int reap; DWORD ret; - reap = 0; while (reap < inbuf_head) { if (!WriteFile(outhandle, inbuf+reap, inbuf_head-reap, &ret, NULL)) @@ -277,8 +284,8 @@ int main(int argc, char **argv) { netevent = CreateEvent(NULL, FALSE, FALSE, NULL); stdinevent = CreateEvent(NULL, FALSE, FALSE, NULL); - if (!cfg.ldisc_term) - SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), ENABLE_PROCESSED_INPUT); + GetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), &orig_console_mode); + SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), ENABLE_PROCESSED_INPUT); outhandle = GetStdHandle(STD_OUTPUT_HANDLE); /*