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 1034c209703..3ab70829ca9 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 @@ -53,7 +53,7 @@ @ cdecl _ismbcpunct(long) ucrtbase._ismbcpunct @ stub _ismbcpunct_l @ cdecl _ismbcspace(long) ucrtbase._ismbcspace -@ stub _ismbcspace_l +@ cdecl _ismbcspace_l(long ptr) ucrtbase._ismbcspace_l @ cdecl _ismbcsymbol(long) ucrtbase._ismbcsymbol @ stub _ismbcsymbol_l @ cdecl _ismbcupper(long) ucrtbase._ismbcupper diff --git a/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec b/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec index 61992d3a463..22ac50e14a5 100644 --- a/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec +++ b/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec @@ -426,7 +426,7 @@ @ cdecl _o__ismbcpunct(long) ucrtbase._o__ismbcpunct @ stub _o__ismbcpunct_l @ cdecl _o__ismbcspace(long) ucrtbase._o__ismbcspace -@ stub _o__ismbcspace_l +@ cdecl _o__ismbcspace_l(long ptr) ucrtbase._o__ismbcspace_l @ cdecl _o__ismbcsymbol(long) ucrtbase._o__ismbcsymbol @ stub _o__ismbcsymbol_l @ cdecl _o__ismbcupper(long) ucrtbase._o__ismbcupper diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec index 43d92304aaa..30aaa302ef2 100644 --- a/dlls/msvcr100/msvcr100.spec +++ b/dlls/msvcr100/msvcr100.spec @@ -1001,7 +1001,7 @@ @ cdecl _ismbcpunct(long) @ stub _ismbcpunct_l @ cdecl _ismbcspace(long) -@ stub _ismbcspace_l +@ cdecl _ismbcspace_l(long ptr) @ cdecl _ismbcsymbol(long) @ stub _ismbcsymbol_l @ cdecl _ismbcupper(long) diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec index 0acb77474e0..6bf022ac748 100644 --- a/dlls/msvcr110/msvcr110.spec +++ b/dlls/msvcr110/msvcr110.spec @@ -1347,7 +1347,7 @@ @ cdecl _ismbcpunct(long) @ stub _ismbcpunct_l @ cdecl _ismbcspace(long) -@ stub _ismbcspace_l +@ cdecl _ismbcspace_l(long ptr) @ cdecl _ismbcsymbol(long) @ stub _ismbcsymbol_l @ cdecl _ismbcupper(long) diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec index 26ebdd2445b..48d58977a73 100644 --- a/dlls/msvcr120/msvcr120.spec +++ b/dlls/msvcr120/msvcr120.spec @@ -1352,7 +1352,7 @@ @ cdecl _ismbcpunct(long) @ stub _ismbcpunct_l @ cdecl _ismbcspace(long) -@ stub _ismbcspace_l +@ cdecl _ismbcspace_l(long ptr) @ cdecl _ismbcsymbol(long) @ stub _ismbcsymbol_l @ cdecl _ismbcupper(long) diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec index 93b5be804d7..ddf81b48589 100644 --- a/dlls/msvcr80/msvcr80.spec +++ b/dlls/msvcr80/msvcr80.spec @@ -673,7 +673,7 @@ @ cdecl _ismbcpunct(long) @ stub _ismbcpunct_l @ cdecl _ismbcspace(long) -@ stub _ismbcspace_l +@ cdecl _ismbcspace_l(long ptr) @ cdecl _ismbcsymbol(long) @ stub _ismbcsymbol_l @ cdecl _ismbcupper(long) diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec index 5dccd7cf306..9a86afb37ce 100644 --- a/dlls/msvcr90/msvcr90.spec +++ b/dlls/msvcr90/msvcr90.spec @@ -651,7 +651,7 @@ @ cdecl _ismbcpunct(long) @ stub _ismbcpunct_l @ cdecl _ismbcspace(long) -@ stub _ismbcspace_l +@ cdecl _ismbcspace_l(long ptr) @ cdecl _ismbcsymbol(long) @ stub _ismbcsymbol_l @ cdecl _ismbcupper(long) diff --git a/dlls/msvcrt/mbcs.c b/dlls/msvcrt/mbcs.c index 59dcbcc4fee..e93aafc44ae 100644 --- a/dlls/msvcrt/mbcs.c +++ b/dlls/msvcrt/mbcs.c @@ -1538,13 +1538,20 @@ int CDECL _ismbcalnum(unsigned int ch) return _ismbcalnum_l( ch, NULL ); } +/********************************************************************* + * _ismbcspace_l (MSVCRT.@) + */ +int CDECL _ismbcspace_l(unsigned int ch, MSVCRT__locale_t locale) +{ + return MSVCRT__iswspace_l( msvcrt_mbc_to_wc_l(ch, locale), locale ); +} + /********************************************************************* * _ismbcspace (MSVCRT.@) */ int CDECL _ismbcspace(unsigned int ch) { - MSVCRT_wchar_t wch = msvcrt_mbc_to_wc( ch ); - return (get_char_typeW( wch ) & C1_SPACE); + return _ismbcspace_l( ch, NULL ); } /********************************************************************* diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec index 5f68220d4b4..12c4a718e80 100644 --- a/dlls/msvcrt/msvcrt.spec +++ b/dlls/msvcrt/msvcrt.spec @@ -619,7 +619,7 @@ @ cdecl _ismbcpunct(long) # stub _ismbcpunct_l(long ptr) @ cdecl _ismbcspace(long) -# stub _ismbcspace_l(long ptr) +@ cdecl _ismbcspace_l(long ptr) @ cdecl _ismbcsymbol(long) # stub _ismbcsymbol_l(long ptr) @ cdecl _ismbcupper(long) diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec index 2492fec1e60..c93d0cee049 100644 --- a/dlls/ucrtbase/ucrtbase.spec +++ b/dlls/ucrtbase/ucrtbase.spec @@ -491,7 +491,7 @@ @ cdecl _ismbcpunct(long) @ stub _ismbcpunct_l @ cdecl _ismbcspace(long) -@ stub _ismbcspace_l +@ cdecl _ismbcspace_l(long ptr) @ cdecl _ismbcsymbol(long) @ stub _ismbcsymbol_l @ cdecl _ismbcupper(long) @@ -1090,7 +1090,7 @@ @ cdecl _o__ismbcpunct(long) _ismbcpunct @ stub _o__ismbcpunct_l @ cdecl _o__ismbcspace(long) _ismbcspace -@ stub _o__ismbcspace_l +@ cdecl _o__ismbcspace_l(long ptr) _ismbcspace_l @ cdecl _o__ismbcsymbol(long) _ismbcsymbol @ stub _o__ismbcsymbol_l @ cdecl _o__ismbcupper(long) _ismbcupper