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
On 03/20/13 09:41, Akihiro Sagawa wrote:
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
I've sent a fixed version. Thank you.
Thanks, Piotr