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
2f415d5efa
commit
50e2a63b04
@ -2626,15 +2626,18 @@ fhandler_pty_slave::setup_locale (void)
|
|||||||
LCID lcid = get_langinfo (locale, charset);
|
LCID lcid = get_langinfo (locale, charset);
|
||||||
|
|
||||||
/* Set console code page form locale */
|
/* Set console code page form locale */
|
||||||
UINT code_page;
|
if (get_pseudo_console ())
|
||||||
if (lcid == 0 || lcid == (LCID) -1)
|
{
|
||||||
code_page = 20127; /* ASCII */
|
UINT code_page;
|
||||||
else if (!GetLocaleInfo (lcid,
|
if (lcid == 0 || lcid == (LCID) -1)
|
||||||
LOCALE_IDEFAULTCODEPAGE | LOCALE_RETURN_NUMBER,
|
code_page = 20127; /* ASCII */
|
||||||
(char *) &code_page, sizeof (code_page)))
|
else if (!GetLocaleInfo (lcid,
|
||||||
code_page = 20127; /* ASCII */
|
LOCALE_IDEFAULTCODEPAGE | LOCALE_RETURN_NUMBER,
|
||||||
SetConsoleCP (code_page);
|
(char *) &code_page, sizeof (code_page)))
|
||||||
SetConsoleOutputCP (code_page);
|
code_page = 20127; /* ASCII */
|
||||||
|
SetConsoleCP (code_page);
|
||||||
|
SetConsoleOutputCP (code_page);
|
||||||
|
}
|
||||||
|
|
||||||
/* Set terminal code page from locale */
|
/* Set terminal code page from locale */
|
||||||
/* This code is borrowed from mintty: charset.c */
|
/* This code is borrowed from mintty: charset.c */
|
||||||
|
Loading…
Reference in New Issue
Block a user