X-Git-Url: http://www.wagner.pp.ru/gitweb/?p=oss%2Fless.git;a=blobdiff_plain;f=screen.c;fp=screen.c;h=6cd4cb9f54f7f690ab31c507527df870f07c9f67;hp=8f8a433aff64f393d1ce93f365502b9e355db7ca;hb=7b48019d2ba32d6a017d1417c2ff260d1480f67c;hpb=4a4c83359a9e52bdd18c32c6215860abbd5c6a37 diff --git a/screen.c b/screen.c index 8f8a433..6cd4cb9 100644 --- a/screen.c +++ b/screen.c @@ -2490,7 +2490,13 @@ WIN32textout(text, len) { #if MSDOS_COMPILER==WIN32C DWORD written; - WriteConsole(con_out, text, len, &written, NULL); + wchar_t widebuf[1024]; + wchar_t *wb=widebuf; + if (len >= 1024) + wb = (wchar_t *) malloc(len*sizeof(wchar_t)); + written=MultiByteToWideChar(CP_UTF8,0,text,len,wb,len>1024?len:1024); + WriteConsoleW(con_out, wb, written, &written, NULL); + if (wb != widebuf) free(wb); #else char c = text[len]; text[len] = '\0';