mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-02-21 00:07:36 +08:00
Cygwin: pty: Set console code page only if pseudo console is enabled.
- Input UTF-8 chars are garbled in ConEmu with cygwin connector if the environment does not support pseudo console. This patch fixes the issue.
This commit is contained in:
parent
145c1db7f8
commit
0ac792dfad
@ -2626,15 +2626,18 @@ fhandler_pty_slave::setup_locale (void)
|
||||
LCID lcid = get_langinfo (locale, charset);
|
||||
|
||||
/* Set console code page form locale */
|
||||
UINT code_page;
|
||||
if (lcid == 0 || lcid == (LCID) -1)
|
||||
code_page = 20127; /* ASCII */
|
||||
else if (!GetLocaleInfo (lcid,
|
||||
LOCALE_IDEFAULTCODEPAGE | LOCALE_RETURN_NUMBER,
|
||||
(char *) &code_page, sizeof (code_page)))
|
||||
code_page = 20127; /* ASCII */
|
||||
SetConsoleCP (code_page);
|
||||
SetConsoleOutputCP (code_page);
|
||||
if (get_pseudo_console ())
|
||||
{
|
||||
UINT code_page;
|
||||
if (lcid == 0 || lcid == (LCID) -1)
|
||||
code_page = 20127; /* ASCII */
|
||||
else if (!GetLocaleInfo (lcid,
|
||||
LOCALE_IDEFAULTCODEPAGE | LOCALE_RETURN_NUMBER,
|
||||
(char *) &code_page, sizeof (code_page)))
|
||||
code_page = 20127; /* ASCII */
|
||||
SetConsoleCP (code_page);
|
||||
SetConsoleOutputCP (code_page);
|
||||
}
|
||||
|
||||
/* Set terminal code page from locale */
|
||||
/* This code is borrowed from mintty: charset.c */
|
||||
|
Loading…
x
Reference in New Issue
Block a user