From e9ec5d4aff33a76890ff6cb7254e8483267d7e08 Mon Sep 17 00:00:00 2001 From: Mikolaj Zalewski Date: Thu, 16 Aug 2007 11:14:48 -0700 Subject: [PATCH] msvcrt: __mb_cur_max is not updated in _setmbcp (with testcase) and should not be used in _ismbblead. --- dlls/msvcrt/mbcs.c | 2 +- dlls/msvcrt/tests/string.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/dlls/msvcrt/mbcs.c b/dlls/msvcrt/mbcs.c index 07e38ec6eab..0dc01200f2f 100644 --- a/dlls/msvcrt/mbcs.c +++ b/dlls/msvcrt/mbcs.c @@ -911,7 +911,7 @@ int CDECL _ismbckata(unsigned int c) int CDECL _ismbblead(unsigned int c) { /* FIXME: should reference MSVCRT_mbctype */ - return MSVCRT___mb_cur_max > 1 && MSVCRT_isleadbyte(c); + return MSVCRT_isleadbyte(c); } diff --git a/dlls/msvcrt/tests/string.c b/dlls/msvcrt/tests/string.c index 7b434f79998..d7148dadde1 100644 --- a/dlls/msvcrt/tests/string.c +++ b/dlls/msvcrt/tests/string.c @@ -78,8 +78,10 @@ static void test_swab( void ) { static void test_ismbblead(void) { unsigned int s = '\354'; + int mb_orig_max = __mb_cur_max; _setmbcp(936); + ok(__mb_cur_max == mb_orig_max, "__mb_cur_max shouldn't be updated (is %d != %d)\n", __mb_cur_max, mb_orig_max); todo_wine ok(_ismbblead(s), "got result %d\n", _ismbblead(s)); _setmbcp(1252); } -- 2.11.4.GIT