[newlib-cygwin] Cygwin: pty: Fix ESC[?3h and ESC[?3l handling again.

Corinna Vinschen corinna@sourceware.org
Thu Dec 19 11:29:00 GMT 2019


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=27202a1b143d19ceadfac2584f208392e4e0859a

commit 27202a1b143d19ceadfac2584f208392e4e0859a
Author: Takashi Yano <takashi.yano@nifty.ne.jp>
Date:   Thu Dec 19 20:03:30 2019 +0900

    Cygwin: pty: Fix ESC[?3h and ESC[?3l handling again.
    
    - Even with commit fe512b2b12a2cea8393d14f038dc3914b1bf3f60, pty
      still has a problem in ESC[?3h and ESC[?3l handling if invalid
      sequence such as ESC[?$ is sent. This patch fixes the issue.

Diff:
---
 winsup/cygwin/fhandler_tty.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/winsup/cygwin/fhandler_tty.cc b/winsup/cygwin/fhandler_tty.cc
index 8c3a6e7..f10f0fc 100644
--- a/winsup/cygwin/fhandler_tty.cc
+++ b/winsup/cygwin/fhandler_tty.cc
@@ -1263,7 +1263,7 @@ fhandler_pty_slave::push_to_pcon_screenbuffer (const char *ptr, size_t len)
     {
       p0 += 3;
       bool exist_arg_3 = false;
-      while (p0 < buf + nlen && !isalpha (*p0))
+      while (p0 < buf + nlen && (isdigit (*p0) || *p0 == ';'))
 	{
 	  int arg = 0;
 	  while (p0 < buf + nlen && isdigit (*p0))



More information about the Cygwin-cvs mailing list