#include <9pm/windows.h>
#include <9pm/u.h>
#include <9pm/libc.h>
BOOL WINAPI
WriteConsole(HANDLE hConsoleOutput, CONST VOID *lpBuffer,
DWORD nNumberOfCharsToWrite, LPDWORD lpNumberOfCharsWritten, LPVOID lpReserved)
{
char *buf, *p;
int n, i;
BOOL b;
if(win_useunicode)
return WriteConsoleW(hConsoleOutput, lpBuffer,
nNumberOfCharsToWrite, lpNumberOfCharsWritten, lpReserved);
n = nNumberOfCharsToWrite*UTFmax;
buf = win_malloc(n+1);
for(p=buf,i=0; i<(int)nNumberOfCharsToWrite; i++)
p += runetochar(p, ((Rune*)lpBuffer)+i);
b = WriteConsoleA(hConsoleOutput, buf, p-buf, lpNumberOfCharsWritten, lpReserved);
win_free(buf);
return b;
}
syntax highlighted by Code2HTML, v. 0.9.1