#include <9pm/windows.h>
#include <9pm/u.h>
#include <9pm/libc.h>

BOOL WINAPI
ReadConsole(HANDLE hConsoleInput, LPVOID lpBuffer, DWORD nNumberOfCharsToRead,
	LPDWORD lpNumberOfCharsRead, LPVOID lpReserved)
{
	char *buf;
	Rune *p;
	int r, i, n;

	if(win_useunicode)
		return ReadConsoleW(hConsoleInput, lpBuffer, nNumberOfCharsToRead,
				lpNumberOfCharsRead, lpReserved);

	buf = win_malloc(nNumberOfCharsToRead);
	r = ReadConsoleA(hConsoleInput, buf, nNumberOfCharsToRead, lpNumberOfCharsRead,
		lpReserved);
	/* expand to runes */
	if(r) {
		n = *lpNumberOfCharsRead;
		p = lpBuffer;
		for(i=0; i<n; i++)
			p[i] = buf[i];
	}
	win_free(buf);
	return r;
}


syntax highlighted by Code2HTML, v. 0.9.1