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