[newlib-cygwin] Cygwin: pty: Change the timing of setup_locale() call.
Corinna Vinschen
corinna@sourceware.org
Thu Aug 13 08:21:24 GMT 2020
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=095972ce5b1d319915501a7e381802914bed790c
commit 095972ce5b1d319915501a7e381802914bed790c
Author: Takashi Yano via Cygwin-patches <cygwin-patches@cygwin.com>
Date: Thu Aug 13 14:42:20 2020 +0900
Cygwin: pty: Change the timing of setup_locale() call.
- If native app is exec()'ed in a new pty, setup_locale() loses the
chance to be called. For example, with "mintty -e cmd", charset
conversion does not work as expected. This patch fixes the issue.
Diff:
---
winsup/cygwin/fhandler_tty.cc | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/winsup/cygwin/fhandler_tty.cc b/winsup/cygwin/fhandler_tty.cc
index 92449ad7e..40b79bfbb 100644
--- a/winsup/cygwin/fhandler_tty.cc
+++ b/winsup/cygwin/fhandler_tty.cc
@@ -2983,6 +2983,10 @@ fhandler_pty_slave::fixup_after_fork (HANDLE parent)
// fork_fixup (parent, inuse, "inuse");
// fhandler_pty_common::fixup_after_fork (parent);
report_tty_counts (this, "inherited", "");
+
+ /* Set locale */
+ if (get_ttyp ()->term_code_page == 0)
+ setup_locale ();
}
void
@@ -3020,10 +3024,6 @@ fhandler_pty_slave::fixup_after_exec ()
}
}
- /* Set locale */
- if (get_ttyp ()->term_code_page == 0)
- setup_locale ();
-
/* Hook Console API */
if (get_pseudo_console ())
{
More information about the Cygwin-cvs
mailing list