From 35db52d18469a607bc0893364a319da6d254fdb8 Mon Sep 17 00:00:00 2001 From: Takashi Yano via Cygwin-patches Date: Thu, 13 Aug 2020 14:42:20 +0900 Subject: [PATCH] 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. --- 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 ()) {