From: Piotr Caban Subject: [PATCH 3/7] msvcrt: Add _ismbclegal_l implementation. Message-Id: Date: Thu, 14 Feb 2019 14:35:07 +0100 Signed-off-by: Piotr Caban --- .../api-ms-win-crt-multibyte-l1-1-0.spec | 2 +- 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 | 10 +++++++++- dlls/msvcrt/msvcrt.spec | 2 +- dlls/ucrtbase/ucrtbase.spec | 2 +- 9 files changed, 17 insertions(+), 9 deletions(-) diff --git a/dlls/api-ms-win-crt-multibyte-l1-1-0/api-ms-win-crt-multibyte-l1-1-0.spec b/dlls/api-ms-win-crt-multibyte-l1-1-0/api-ms-win-crt-multibyte-l1-1-0.spec index 31ccd0fd11..f83af10c72 100644 --- a/dlls/api-ms-win-crt-multibyte-l1-1-0/api-ms-win-crt-multibyte-l1-1-0.spec +++ b/dlls/api-ms-win-crt-multibyte-l1-1-0/api-ms-win-crt-multibyte-l1-1-0.spec @@ -45,7 +45,7 @@ @ cdecl _ismbcl2(long) ucrtbase._ismbcl2 @ stub _ismbcl2_l @ cdecl _ismbclegal(long) ucrtbase._ismbclegal -@ stub _ismbclegal_l +@ cdecl _ismbclegal_l(long ptr) ucrtbase._ismbclegal_l @ cdecl _ismbclower(long) ucrtbase._ismbclower @ stub _ismbclower_l @ cdecl _ismbcprint(long) ucrtbase._ismbcprint diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec index 5e30c7772a..b3bccf6203 100644 --- a/dlls/msvcr100/msvcr100.spec +++ b/dlls/msvcr100/msvcr100.spec @@ -993,7 +993,7 @@ @ stub _ismbcl2(long) @ stub _ismbcl2_l @ cdecl _ismbclegal(long) -@ stub _ismbclegal_l +@ cdecl _ismbclegal_l(long ptr) @ cdecl _ismbclower(long) @ stub _ismbclower_l @ cdecl _ismbcprint(long) diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec index 8f35f48bd1..77e1a37600 100644 --- a/dlls/msvcr110/msvcr110.spec +++ b/dlls/msvcr110/msvcr110.spec @@ -1339,7 +1339,7 @@ @ stub _ismbcl2(long) @ stub _ismbcl2_l @ cdecl _ismbclegal(long) -@ stub _ismbclegal_l +@ cdecl _ismbclegal_l(long ptr) @ stub _ismbclower(long) @ stub _ismbclower_l @ stub _ismbcprint(long) diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec index 49b33272d5..5d264170b5 100644 --- a/dlls/msvcr120/msvcr120.spec +++ b/dlls/msvcr120/msvcr120.spec @@ -1344,7 +1344,7 @@ @ stub _ismbcl2(long) @ stub _ismbcl2_l @ cdecl _ismbclegal(long) -@ stub _ismbclegal_l +@ cdecl _ismbclegal_l(long ptr) @ stub _ismbclower(long) @ stub _ismbclower_l @ cdecl _ismbcprint(long) diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec index c1b3d8bd5c..87cb490a40 100644 --- a/dlls/msvcr80/msvcr80.spec +++ b/dlls/msvcr80/msvcr80.spec @@ -665,7 +665,7 @@ @ stub _ismbcl2(long) @ stub _ismbcl2_l @ cdecl _ismbclegal(long) -@ stub _ismbclegal_l +@ cdecl _ismbclegal_l(long ptr) @ cdecl _ismbclower(long) @ stub _ismbclower_l @ cdecl _ismbcprint(long) diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec index 3da8fdf991..2bc27d445f 100644 --- a/dlls/msvcr90/msvcr90.spec +++ b/dlls/msvcr90/msvcr90.spec @@ -643,7 +643,7 @@ @ stub _ismbcl2(long) @ stub _ismbcl2_l @ cdecl _ismbclegal(long) -@ stub _ismbclegal_l +@ cdecl _ismbclegal_l(long ptr) @ cdecl _ismbclower(long) @ stub _ismbclower_l @ cdecl _ismbcprint(long) diff --git a/dlls/msvcrt/mbcs.c b/dlls/msvcrt/mbcs.c index d470f100e3..4b2d742f4e 100644 --- a/dlls/msvcrt/mbcs.c +++ b/dlls/msvcrt/mbcs.c @@ -1574,12 +1574,20 @@ int CDECL _ismbbtrail(unsigned int c) return _ismbbtrail_l(c, NULL); } +/********************************************************************* + * _ismbclegal_l(MSVCRT.@) + */ +int CDECL _ismbclegal_l(unsigned int c, MSVCRT__locale_t locale) +{ + return _ismbblead_l(HIBYTE(c), locale) && _ismbbtrail_l(LOBYTE(c), locale); +} + /********************************************************************* * _ismbclegal(MSVCRT.@) */ int CDECL _ismbclegal(unsigned int c) { - return _ismbblead(HIBYTE(c)) && _ismbbtrail(LOBYTE(c)); + return _ismbclegal_l(c, NULL); } /********************************************************************* diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec index 0154998f05..73bc468dd7 100644 --- a/dlls/msvcrt/msvcrt.spec +++ b/dlls/msvcrt/msvcrt.spec @@ -614,7 +614,7 @@ @ stub _ismbcl2(long) # stub _ismbcl2_l(long ptr) @ cdecl _ismbclegal(long) -# stub _ismbclegal_l(long ptr) +@ cdecl _ismbclegal_l(long ptr) @ cdecl _ismbclower(long) # stub _ismbclower_l(long ptr) @ cdecl _ismbcprint(long) diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec index 021d9b24e4..c013492f26 100644 --- a/dlls/ucrtbase/ucrtbase.spec +++ b/dlls/ucrtbase/ucrtbase.spec @@ -483,7 +483,7 @@ @ stub _ismbcl2(long) @ stub _ismbcl2_l @ cdecl _ismbclegal(long) -@ stub _ismbclegal_l +@ cdecl _ismbclegal_l(long ptr) @ stub _ismbclower(long) @ stub _ismbclower_l @ cdecl _ismbcprint(long)