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

commit 1b242c12aa7f34d89d57023f3c33f5f88d89d476
Author: Takashi Yano <[email protected]>
Date:   Wed Jun 23 17:42:16 2021 +0900

    Cygwin: console: Fix garbled input for non-ASCII chars.
    
    - After the commit ff4440fc, non-ASCII input may sometimes be garbled.
      This patch fixes the issue.
    
      Addresses: https://cygwin.com/pipermail/cygwin/2021-June/248775.html

Diff:
---
 winsup/cygwin/fhandler_console.cc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/winsup/cygwin/fhandler_console.cc 
b/winsup/cygwin/fhandler_console.cc
index b3eae6a5a..76689c674 100644
--- a/winsup/cygwin/fhandler_console.cc
+++ b/winsup/cygwin/fhandler_console.cc
@@ -213,7 +213,7 @@ fhandler_console::cons_master_thread (handle_set_t *p, tty 
*ttyp)
       switch (cygwait (p->input_handle, (DWORD) 0))
        {
        case WAIT_OBJECT_0:
-         ReadConsoleInputA (p->input_handle,
+         ReadConsoleInputW (p->input_handle,
                             input_rec, INREC_SIZE, &total_read);
          break;
        case WAIT_TIMEOUT:
@@ -326,7 +326,7 @@ fhandler_console::cons_master_thread (handle_set_t *p, tty 
*ttyp)
        }
       if (total_read)
        /* Write back input records other than interrupt. */
-       WriteConsoleInput (p->input_handle, input_rec, total_read, &n);
+       WriteConsoleInputW (p->input_handle, input_rec, total_read, &n);
 skip_writeback:
       ReleaseMutex (p->input_mutex);
       cygwait (40);

Reply via email to