On Mon, 18 Mar 2013 17:11:04 +0100, Piotr Caban wrote: > + char mbs[2]; This should be a constant, like MSVCRT_MB_LEN_MAX.
> + int len = 0; > + ch = MSVCRT_fgetc(file); > + if(ch != MSVCRT_EOF) { > + mbs[0] = (char)ch; > + if(MSVCRT_isleadbyte(mbs[0])) { This doesn't work correctly if char is signed. Because _isleadbyte() expects the value of unsigned char or EOF as well as other is- functions. I wrote some fgetwc() tests. Please refer following page: https://testbot.winehq.org/JobDetails.pl?Key=24806 Akihiro Sagawa