]> Cypherpunks repositories - gostls13.git/commit
os: use GetConsoleCP() instead of GetACP()
authorYasuhiro Matsumoto <mattn.jp@gmail.com>
Wed, 24 Aug 2016 01:34:16 +0000 (10:34 +0900)
committerAlex Brainman <alex.brainman@gmail.com>
Wed, 21 Sep 2016 00:38:51 +0000 (00:38 +0000)
commitb851ded09a300033849b60ab47a468087ce557a1
treeea87f30436784a40099a73e640e56b8f62caa4a6
parent16f81b617eadc739b9097ce4b7d67e9a00a91c7c
os: use GetConsoleCP() instead of GetACP()

It is possible (and common) for Windows systems to use a different codepage
for console applications from that used on normal windowed application
(called ANSI codepage); for instance, most of the western Europe uses
CP850 for console (for backward compatibility with MS-DOS), while
windowed applications use a different codepage depending on the country
(eg: CP1252 aka Latin-1). The usage being changed with this commit is
specifically related to decoding input coming from the console, so the
previous usage of the ANSI codepage was wrong.

Also fixes an issue that previous did convert bytes as NFD. Go is
designed to handle single Unicode code point. This fix change behaivor
to NFC.

Fixes #16857.

Change-Id: I4f41ae83ece47321b6e9a79a2087ecbb8ac066dd
Reviewed-on: https://go-review.googlesource.com/27575
Reviewed-by: Hiroshi Ioka <hirochachacha@gmail.com>
Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
src/internal/syscall/windows/syscall_windows.go
src/internal/syscall/windows/zsyscall_windows.go
src/os/file_windows.go