Module: wine Branch: master Commit: 5d71a6125302b1e8d9b023bec505662f4cd85487 URL: https://gitlab.winehq.org/wine/wine/-/commit/5d71a6125302b1e8d9b023bec505662...
Author: Bartosz Kosiorek gang65@poczta.onet.pl Date: Thu Oct 27 17:30:05 2022 +0200
msvcrt: Add _mbctombb_l implementation.
---
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 | 20 +++++++++++++++++--- dlls/msvcrt/msvcrt.spec | 2 +- dlls/ucrtbase/ucrtbase.spec | 4 ++-- 8 files changed, 25 insertions(+), 11 deletions(-)
diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec index fe5a97dace3..ae73fdb0835 100644 --- a/dlls/msvcr100/msvcr100.spec +++ b/dlls/msvcr100/msvcr100.spec @@ -1090,7 +1090,7 @@ @ cdecl _mbctolower(long) @ cdecl _mbctolower_l(long ptr) @ cdecl _mbctombb(long) -@ stub _mbctombb_l +@ cdecl _mbctombb_l(long ptr) @ cdecl _mbctoupper(long) @ cdecl _mbctoupper_l(long ptr) @ extern _mbctype MSVCRT_mbctype diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec index 401161fb0f9..180986405c8 100644 --- a/dlls/msvcr110/msvcr110.spec +++ b/dlls/msvcr110/msvcr110.spec @@ -1447,7 +1447,7 @@ @ cdecl _mbctolower(long) @ cdecl _mbctolower_l(long ptr) @ cdecl _mbctombb(long) -@ stub _mbctombb_l +@ cdecl _mbctombb_l(long ptr) @ cdecl _mbctoupper(long) @ cdecl _mbctoupper_l(long ptr) @ extern _mbctype MSVCRT_mbctype diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec index 191dcc49407..751f7701046 100644 --- a/dlls/msvcr120/msvcr120.spec +++ b/dlls/msvcr120/msvcr120.spec @@ -1458,7 +1458,7 @@ @ cdecl _mbctolower(long) @ cdecl _mbctolower_l(long ptr) @ cdecl _mbctombb(long) -@ stub _mbctombb_l +@ cdecl _mbctombb_l(long ptr) @ cdecl _mbctoupper(long) @ cdecl _mbctoupper_l(long ptr) @ extern _mbctype MSVCRT_mbctype diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec index 05312dcf158..d84b4faf265 100644 --- a/dlls/msvcr80/msvcr80.spec +++ b/dlls/msvcr80/msvcr80.spec @@ -762,7 +762,7 @@ @ cdecl _mbctolower(long) @ cdecl _mbctolower_l(long ptr) @ cdecl _mbctombb(long) -@ stub _mbctombb_l +@ cdecl _mbctombb_l(long ptr) @ cdecl _mbctoupper(long) @ cdecl _mbctoupper_l(long ptr) @ extern _mbctype MSVCRT_mbctype diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec index 92e55266ba5..27593fbcaef 100644 --- a/dlls/msvcr90/msvcr90.spec +++ b/dlls/msvcr90/msvcr90.spec @@ -740,7 +740,7 @@ @ cdecl _mbctolower(long) @ cdecl _mbctolower_l(long ptr) @ cdecl _mbctombb(long) -@ stub _mbctombb_l +@ cdecl _mbctombb_l(long ptr) @ cdecl _mbctoupper(long) @ cdecl _mbctoupper_l(long ptr) @ extern _mbctype MSVCRT_mbctype diff --git a/dlls/msvcrt/mbcs.c b/dlls/msvcrt/mbcs.c index ed1e47770f0..23cf07cdbe3 100644 --- a/dlls/msvcrt/mbcs.c +++ b/dlls/msvcrt/mbcs.c @@ -528,13 +528,19 @@ unsigned int CDECL _mbctoupper(unsigned int c) }
/********************************************************************* - * _mbctombb (MSVCRT.@) + * _mbctombb_l (MSVCRT.@) */ -unsigned int CDECL _mbctombb(unsigned int c) +unsigned int CDECL _mbctombb_l(unsigned int c, _locale_t locale) { + pthreadmbcinfo mbcinfo; unsigned int value;
- if(get_mbcinfo()->mbcodepage == 932) + if(locale) + mbcinfo = locale->mbcinfo; + else + mbcinfo = get_mbcinfo(); + + if(mbcinfo->mbcodepage == 932) { if(c >= 0x829f && c <= 0x82f1) /* Hiragana */ return mbctombb_932_kana[c - 0x829f]; @@ -555,6 +561,14 @@ unsigned int CDECL _mbctombb(unsigned int c) return c; }
+/********************************************************************* + * _mbctombb (MSVCRT.@) + */ +unsigned int CDECL _mbctombb(unsigned int c) +{ + return _mbctombb_l(c, NULL); +} + /********************************************************************* * _mbcjistojms_l(MSVCRT.@) * diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec index d37e51ef84f..274f69f2be9 100644 --- a/dlls/msvcrt/msvcrt.spec +++ b/dlls/msvcrt/msvcrt.spec @@ -707,7 +707,7 @@ @ cdecl _mbctolower(long) @ cdecl _mbctolower_l(long ptr) @ cdecl _mbctombb(long) -# stub _mbctombb_l(long ptr) +@ cdecl _mbctombb_l(long ptr) @ cdecl _mbctoupper(long) @ cdecl _mbctoupper_l(long ptr) @ extern _mbctype MSVCRT_mbctype diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec index 77d6fea014a..29e0dc9a6e4 100644 --- a/dlls/ucrtbase/ucrtbase.spec +++ b/dlls/ucrtbase/ucrtbase.spec @@ -605,7 +605,7 @@ @ cdecl _mbctolower(long) @ cdecl _mbctolower_l(long ptr) @ cdecl _mbctombb(long) -@ stub _mbctombb_l +@ cdecl _mbctombb_l(long ptr) @ cdecl _mbctoupper(long) @ cdecl _mbctoupper_l(long ptr) @ stub _mblen_l @@ -1175,7 +1175,7 @@ @ cdecl _o__mbctolower(long) _mbctolower @ cdecl _o__mbctolower_l(long ptr) _mbctolower_l @ cdecl _o__mbctombb(long) _mbctombb -@ stub _o__mbctombb_l +@ cdecl _o__mbctombb_l(long ptr) _mbctombb_l @ cdecl _o__mbctoupper(long) _mbctoupper @ cdecl _o__mbctoupper_l(long ptr) _mbctoupper_l @ stub _o__mblen_l