From 2a9a16fd73a318fc897ddf2cd2251ead6a906121 Mon Sep 17 00:00:00 2001 From: cyd01 Date: Thu, 10 Nov 2022 16:29:56 +0100 Subject: [PATCH] fix #431 --- 0.76_My_PuTTY/terminal.c | 26 ++++++++++++++++++++++++++ 0.76b_My_PuTTY/terminal/terminal.c | 27 ++++++++++++++++++++++++++- 2 files changed, 52 insertions(+), 1 deletion(-) diff --git a/0.76_My_PuTTY/terminal.c b/0.76_My_PuTTY/terminal.c index 0ac86b3..30bc319 100644 --- a/0.76_My_PuTTY/terminal.c +++ b/0.76_My_PuTTY/terminal.c @@ -3299,6 +3299,9 @@ static void do_osc(Terminal *term) } DWORD len; +#ifdef MOD_FAR2L + DWORD zero = 0; +#endif // next from the end byte is command switch (d_out[d_count-2]) { @@ -3308,8 +3311,10 @@ static void do_osc(Terminal *term) reply_size = 5; reply = malloc(reply_size); +#ifndef MOD_FAR2L // fixme: unimplemented DWORD zero = 0; +#endif memcpy(reply, &zero, sizeof(DWORD)); @@ -3718,6 +3723,27 @@ static void do_osc(Terminal *term) break; } +#ifdef MOD_FAR2L + break; + case 'p': + + reply_size = 3; // reserved byte, bits byte, id byte + reply = malloc(reply_size); + + reply[0] = 0; + reply[1] = 24; + + break; + + default: + + // not implemented + + reply_size = 5; + reply = malloc(reply_size); + + memcpy(reply, &zero, sizeof(DWORD)); +#endif break; } diff --git a/0.76b_My_PuTTY/terminal/terminal.c b/0.76b_My_PuTTY/terminal/terminal.c index 0ac86b3..f33e77c 100644 --- a/0.76b_My_PuTTY/terminal/terminal.c +++ b/0.76b_My_PuTTY/terminal/terminal.c @@ -3299,6 +3299,9 @@ static void do_osc(Terminal *term) } DWORD len; +#ifdef MOD_FAR2L + DWORD zero = 0; +#endif // next from the end byte is command switch (d_out[d_count-2]) { @@ -3308,9 +3311,10 @@ static void do_osc(Terminal *term) reply_size = 5; reply = malloc(reply_size); +#ifndef MOD_FAR2L // fixme: unimplemented DWORD zero = 0; - +#endif memcpy(reply, &zero, sizeof(DWORD)); break; @@ -3718,6 +3722,27 @@ static void do_osc(Terminal *term) break; } +#ifdef MOD_FAR2L + break; + case 'p': + + reply_size = 3; // reserved byte, bits byte, id byte + reply = malloc(reply_size); + + reply[0] = 0; + reply[1] = 24; + + break; + + default: + + // not implemented + + reply_size = 5; + reply = malloc(reply_size); + + memcpy(reply, &zero, sizeof(DWORD)); +#endif break; }