From 64453ea28b866fe614b8ff19ee5530fd2f10dbe8 Mon Sep 17 00:00:00 2001 From: Piotr Caban Date: Thu, 14 Feb 2019 14:35:07 +0100 Subject: [PATCH] msvcrt: Add _ismbclegal_l implementation. Signed-off-by: Piotr Caban Signed-off-by: Alexandre Julliard --- .../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 31ccd0fd11e..f83af10c724 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 5e30c7772a1..b3bccf62036 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 8f35f48bd12..77e1a376008 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 49b33272d5c..5d264170b5c 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 c1b3d8bd5cd..87cb490a401 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 3da8fdf991c..2bc27d445fa 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 d470f100e3f..4b2d742f4e4 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 0154998f059..73bc468dd7b 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 021d9b24e4f..c013492f26b 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)