From: Bartosz Kosiorek gang65@poczta.onet.pl
--- dlls/msvcr100/msvcr100.spec | 2 +- dlls/msvcr110/msvcr110.spec | 2 +- dlls/msvcr120/msvcr120.spec | 2 +- dlls/msvcr80/msvcr80.spec | 2 +- dlls/msvcr90/msvcr90.spec | 2 +- dlls/msvcrt/mbcs.c | 12 +++++++++++- dlls/msvcrt/msvcrt.spec | 2 +- dlls/ucrtbase/ucrtbase.spec | 4 ++-- 8 files changed, 19 insertions(+), 9 deletions(-)
diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec index 6b0865b5ad7..d4fa4e38b7b 100644 --- a/dlls/msvcr100/msvcr100.spec +++ b/dlls/msvcr100/msvcr100.spec @@ -1082,7 +1082,7 @@ @ cdecl _mbcjmstojis(long) @ stub _mbcjmstojis_l @ cdecl _mbclen(ptr) -@ stub _mbclen_l +@ cdecl _mbclen_l(ptr ptr) @ cdecl _mbctohira(long) @ stub _mbctohira_l @ cdecl _mbctokata(long) diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec index 35256da6664..a27a4487608 100644 --- a/dlls/msvcr110/msvcr110.spec +++ b/dlls/msvcr110/msvcr110.spec @@ -1439,7 +1439,7 @@ @ cdecl _mbcjmstojis(long) @ stub _mbcjmstojis_l @ cdecl _mbclen(ptr) -@ stub _mbclen_l +@ cdecl _mbclen_l(ptr ptr) @ cdecl _mbctohira(long) @ stub _mbctohira_l @ cdecl _mbctokata(long) diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec index bf924f8d2b0..cb673976e61 100644 --- a/dlls/msvcr120/msvcr120.spec +++ b/dlls/msvcr120/msvcr120.spec @@ -1450,7 +1450,7 @@ @ cdecl _mbcjmstojis(long) @ stub _mbcjmstojis_l @ cdecl _mbclen(ptr) -@ stub _mbclen_l +@ cdecl _mbclen_l(ptr ptr) @ cdecl _mbctohira(long) @ stub _mbctohira_l @ cdecl _mbctokata(long) diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec index d1d2f8e32f0..ca32dac7285 100644 --- a/dlls/msvcr80/msvcr80.spec +++ b/dlls/msvcr80/msvcr80.spec @@ -754,7 +754,7 @@ @ cdecl _mbcjmstojis(long) @ stub _mbcjmstojis_l @ cdecl _mbclen(ptr) -@ stub _mbclen_l +@ cdecl _mbclen_l(ptr ptr) @ cdecl _mbctohira(long) @ stub _mbctohira_l @ cdecl _mbctokata(long) diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec index ef5124a66c9..ce0ddfb6168 100644 --- a/dlls/msvcr90/msvcr90.spec +++ b/dlls/msvcr90/msvcr90.spec @@ -732,7 +732,7 @@ @ cdecl _mbcjmstojis(long) @ stub _mbcjmstojis_l @ cdecl _mbclen(ptr) -@ stub _mbclen_l +@ cdecl _mbclen_l(ptr ptr) @ cdecl _mbctohira(long) @ stub _mbctohira_l @ cdecl _mbctokata(long) diff --git a/dlls/msvcrt/mbcs.c b/dlls/msvcrt/mbcs.c index d38eacc26be..dce21b911a9 100644 --- a/dlls/msvcrt/mbcs.c +++ b/dlls/msvcrt/mbcs.c @@ -643,12 +643,22 @@ unsigned char* CDECL _mbsdec(const unsigned char* start, const unsigned char* cu return (unsigned char *)cur - 1; /* ASCII CP or SB char */ }
+/********************************************************************* + * _mbclen_l(MSVCRT.@) + */ +size_t CDECL _mbclen_l(const unsigned char* str, _locale_t locale) +{ + if(_ismbblead_l(*str, locale) && (str[1] != '\0')) + return 2; + return 1; +} + /********************************************************************* * _mbclen(MSVCRT.@) */ size_t CDECL _mbclen(const unsigned char* str) { - return _ismbblead(*str) ? 2 : 1; + return _mbclen_l(str, NULL); }
/********************************************************************* diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec index 5e412c422a4..430835f4422 100644 --- a/dlls/msvcrt/msvcrt.spec +++ b/dlls/msvcrt/msvcrt.spec @@ -699,7 +699,7 @@ @ cdecl _mbcjmstojis(long) # stub _mbcjmstojis_l(long ptr) @ cdecl _mbclen(ptr) -# stub _mbclen_l(ptr ptr) +@ cdecl _mbclen_l(ptr ptr) @ cdecl _mbctohira(long) # stub _mbctohira_l(long ptr) @ cdecl _mbctokata(long) diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec index 46f943b940e..969487c2b1e 100644 --- a/dlls/ucrtbase/ucrtbase.spec +++ b/dlls/ucrtbase/ucrtbase.spec @@ -597,7 +597,7 @@ @ cdecl _mbcjmstojis(long) @ stub _mbcjmstojis_l @ cdecl _mbclen(ptr) -@ stub _mbclen_l +@ cdecl _mbclen_l(ptr ptr) @ cdecl _mbctohira(long) @ stub _mbctohira_l @ cdecl _mbctokata(long) @@ -1167,7 +1167,7 @@ @ cdecl _o__mbcjmstojis(long) _mbcjmstojis @ stub _o__mbcjmstojis_l @ cdecl _o__mbclen(ptr) _mbclen -@ stub _o__mbclen_l +@ cdecl _o__mbclen_l(ptr ptr) _mbclen_l @ cdecl _o__mbctohira(long) _mbctohira @ stub _o__mbctohira_l @ cdecl _o__mbctokata(long) _mbctokata