From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2155) id 99586384A033; Thu, 13 Aug 2020 08:21:24 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 99586384A033 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Corinna Vinschen To: cygwin-cvs@sourceware.org Subject: [newlib-cygwin] Cygwin: pty: Change the timing of setup_locale() call. X-Act-Checkin: newlib-cygwin X-Git-Author: Takashi Yano via Cygwin-patches X-Git-Refname: refs/heads/master X-Git-Oldrev: ab215e3dd18530f6f289fbbb26368e09a540c024 X-Git-Newrev: 095972ce5b1d319915501a7e381802914bed790c Message-Id: <20200813082124.99586384A033@sourceware.org> Date: Thu, 13 Aug 2020 08:21:24 +0000 (GMT) X-BeenThere: cygwin-cvs@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Cygwin core component git logs List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Aug 2020 08:21:24 -0000 https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=095972ce5b1d319915501a7e381802914bed790c commit 095972ce5b1d319915501a7e381802914bed790c Author: Takashi Yano via Cygwin-patches 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 ()) {