Win32: sync Unicode console output and file system

Use the same Unicode conversion functions for file names and console
conversions so that the file system and console output are in sync when
checking out legacy encoded repositories (i.e. with invalid UTF-8 file
names).

Signed-off-by: Karsten Blees <blees@dcon.de>
This commit is contained in:
Karsten Blees
2011-11-25 21:17:49 +01:00
committed by Pat Thoyts
parent 1fad9cf831
commit 64551b273b

View File

@@ -120,8 +120,7 @@ static void write_console(unsigned char *str, size_t len)
static wchar_t wbuf[2 * BUFFER_SIZE + 1];
/* convert utf-8 to utf-16 */
int wlen = MultiByteToWideChar(CP_UTF8, 0, (char*) str, len, wbuf,
ARRAY_SIZE(wbuf));
int wlen = xutftowcsn(wbuf, (char*) str, ARRAY_SIZE(wbuf), len);
/* write directly to console */
WriteConsoleW(console, wbuf, wlen, NULL, NULL);