summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Yano <takashi.yano@nifty.ne.jp>2019-09-18 23:29:20 +0900
committerKen Brown <kbrown@cornell.edu>2019-09-20 16:18:47 -0400
commitb757a21d857608d800529149b1f05192a0d2d0f6 (patch)
treefcc3491d94040a5710e9820def6ad571e83d5fa0
parent24554ab9239510b60b5d04b3b92446fb53d57ae8 (diff)
downloadcygnal-b757a21d857608d800529149b1f05192a0d2d0f6.tar.gz
cygnal-b757a21d857608d800529149b1f05192a0d2d0f6.tar.bz2
cygnal-b757a21d857608d800529149b1f05192a0d2d0f6.zip
Cygwin: pty: Add charset conversion for console apps in legacy PTY.
-rw-r--r--winsup/cygwin/fhandler_tty.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/winsup/cygwin/fhandler_tty.cc b/winsup/cygwin/fhandler_tty.cc
index f723ec7cf..2a92e44cf 100644
--- a/winsup/cygwin/fhandler_tty.cc
+++ b/winsup/cygwin/fhandler_tty.cc
@@ -3054,6 +3054,12 @@ fhandler_pty_master::pty_master_fwd_thread ()
mb_str_free (buf);
continue;
}
+ size_t nlen;
+ char *buf = convert_mb_str
+ (get_ttyp ()->term_code_page, &nlen, GetConsoleOutputCP (), ptr, wlen);
+
+ ptr = buf;
+ wlen = rlen = nlen;
acquire_output_mutex (INFINITE);
while (rlen>0)
{
@@ -3066,6 +3072,7 @@ fhandler_pty_master::pty_master_fwd_thread ()
wlen = (rlen -= wlen);
}
release_output_mutex ();
+ mb_str_free (buf);
}
return 0;
}