Piotr Caban : msvcrt: Add _mbsspn_l implementation.
Alexandre Julliard
julliard at winehq.org
Mon Oct 28 16:43:36 CDT 2019
Module: wine
Branch: master
Commit: de8e6b6a283f3f0148d8195c33964632921fa1ba
URL: https://source.winehq.org/git/wine.git/?a=commit;h=de8e6b6a283f3f0148d8195c33964632921fa1ba
Author: Piotr Caban <piotr at codeweavers.com>
Date: Mon Oct 28 13:29:05 2019 +0100
msvcrt: Add _mbsspn_l implementation.
Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
.../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 | 16 ++++++++++++----
dlls/msvcrt/msvcrt.spec | 2 +-
dlls/ucrtbase/ucrtbase.spec | 2 +-
9 files changed, 20 insertions(+), 12 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 3f60bb4162..059e366aea 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
@@ -178,7 +178,7 @@
@ stub _mbsset_s
@ stub _mbsset_s_l
@ cdecl _mbsspn(str str) ucrtbase._mbsspn
-@ stub _mbsspn_l
+@ cdecl _mbsspn_l(str str ptr) ucrtbase._mbsspn_l
@ cdecl _mbsspnp(str str) ucrtbase._mbsspnp
@ stub _mbsspnp_l
@ cdecl _mbsstr(str str) ucrtbase._mbsstr
diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec
index f3647ea267..b59e8cf5cc 100644
--- a/dlls/msvcr100/msvcr100.spec
+++ b/dlls/msvcr100/msvcr100.spec
@@ -1184,7 +1184,7 @@
@ stub _mbsset_s
@ stub _mbsset_s_l
@ cdecl _mbsspn(str str)
-@ stub _mbsspn_l
+@ cdecl _mbsspn_l(str str ptr)
@ cdecl _mbsspnp(str str)
@ stub _mbsspnp_l
@ cdecl _mbsstr(str str)
diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec
index 343f2bd3c9..0697029962 100644
--- a/dlls/msvcr110/msvcr110.spec
+++ b/dlls/msvcr110/msvcr110.spec
@@ -1541,7 +1541,7 @@
@ stub _mbsset_s
@ stub _mbsset_s_l
@ cdecl _mbsspn(str str)
-@ stub _mbsspn_l
+@ cdecl _mbsspn_l(str str ptr)
@ cdecl _mbsspnp(str str)
@ stub _mbsspnp_l
@ cdecl _mbsstr(str str)
diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec
index 9938b1ff46..07ce01c90e 100644
--- a/dlls/msvcr120/msvcr120.spec
+++ b/dlls/msvcr120/msvcr120.spec
@@ -1551,7 +1551,7 @@
@ stub _mbsset_s
@ stub _mbsset_s_l
@ cdecl _mbsspn(str str)
-@ stub _mbsspn_l
+@ cdecl _mbsspn_l(str str ptr)
@ cdecl _mbsspnp(str str)
@ stub _mbsspnp_l
@ cdecl _mbsstr(str str)
diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec
index 8e59d320f0..1e03b4d4d9 100644
--- a/dlls/msvcr80/msvcr80.spec
+++ b/dlls/msvcr80/msvcr80.spec
@@ -856,7 +856,7 @@
@ stub _mbsset_s
@ stub _mbsset_s_l
@ cdecl _mbsspn(str str)
-@ stub _mbsspn_l
+@ cdecl _mbsspn_l(str str ptr)
@ cdecl _mbsspnp(str str)
@ stub _mbsspnp_l
@ cdecl _mbsstr(str str)
diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec
index 5e8fba1c87..a8369cb6c6 100644
--- a/dlls/msvcr90/msvcr90.spec
+++ b/dlls/msvcr90/msvcr90.spec
@@ -834,7 +834,7 @@
@ stub _mbsset_s
@ stub _mbsset_s_l
@ cdecl _mbsspn(str str)
-@ stub _mbsspn_l
+@ cdecl _mbsspn_l(str str ptr)
@ cdecl _mbsspnp(str str)
@ stub _mbsspnp_l
@ cdecl _mbsstr(str str)
diff --git a/dlls/msvcrt/mbcs.c b/dlls/msvcrt/mbcs.c
index fe47e55eae..ce98749e9f 100644
--- a/dlls/msvcrt/mbcs.c
+++ b/dlls/msvcrt/mbcs.c
@@ -2021,11 +2021,11 @@ int CDECL _mbsupr_s(unsigned char* s, MSVCRT_size_t len)
return 0;
}
-
/*********************************************************************
- * _mbsspn (MSVCRT.@)
+ * _mbsspn_l (MSVCRT.@)
*/
-MSVCRT_size_t CDECL _mbsspn(const unsigned char* string, const unsigned char* set)
+MSVCRT_size_t CDECL _mbsspn_l(const unsigned char* string,
+ const unsigned char* set, MSVCRT__locale_t locale)
{
const unsigned char *p, *q;
@@ -2033,7 +2033,7 @@ MSVCRT_size_t CDECL _mbsspn(const unsigned char* string, const unsigned char* se
{
for (q = set; *q; q++)
{
- if (_ismbblead(*q))
+ if (_ismbblead_l(*q, locale))
{
/* duplicate a bug in native implementation */
if (!q[1]) break;
@@ -2055,6 +2055,14 @@ MSVCRT_size_t CDECL _mbsspn(const unsigned char* string, const unsigned char* se
return p - string;
}
+/*********************************************************************
+ * _mbsspn (MSVCRT.@)
+ */
+MSVCRT_size_t CDECL _mbsspn(const unsigned char* string, const unsigned char* set)
+{
+ return _mbsspn_l(string, set, NULL);
+}
+
/*********************************************************************
* _mbsspnp (MSVCRT.@)
*/
diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec
index 2d9f273df9..e4fad75c18 100644
--- a/dlls/msvcrt/msvcrt.spec
+++ b/dlls/msvcrt/msvcrt.spec
@@ -802,7 +802,7 @@
# stub _mbsset_s(ptr long long)
# stub _mbsset_s_l(ptr long long ptr)
@ cdecl _mbsspn(str str)
-# stub _mbsspn_l(str str ptr)
+@ cdecl _mbsspn_l(str str ptr)
@ cdecl _mbsspnp(str str)
# stub _mbsspnp_l(str str ptr)
@ cdecl _mbsstr(str str)
diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec
index fc391b8d81..7dfa9147d7 100644
--- a/dlls/ucrtbase/ucrtbase.spec
+++ b/dlls/ucrtbase/ucrtbase.spec
@@ -697,7 +697,7 @@
@ stub _mbsset_s
@ stub _mbsset_s_l
@ cdecl _mbsspn(str str)
-@ stub _mbsspn_l
+@ cdecl _mbsspn_l(str str ptr)
@ cdecl _mbsspnp(str str)
@ stub _mbsspnp_l
@ cdecl _mbsstr(str str)
More information about the wine-cvs
mailing list