Piotr Caban : msvcrt: Add _wcslwr_s_l implementation.

Alexandre Julliard julliard at winehq.org
Mon May 26 07:34:25 CDT 2014


Module: wine
Branch: master
Commit: 31c76cae7c0322d4a235ea57843c73210882a32c
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=31c76cae7c0322d4a235ea57843c73210882a32c

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Thu May 22 12:58:50 2014 +0200

msvcrt: Add _wcslwr_s_l implementation.

---

 dlls/msvcr100/msvcr100.spec |    6 +++---
 dlls/msvcr110/msvcr110.spec |    6 +++---
 dlls/msvcr70/msvcr70.spec   |    2 +-
 dlls/msvcr71/msvcr71.spec   |    2 +-
 dlls/msvcr80/msvcr80.spec   |    6 +++---
 dlls/msvcr90/msvcr90.spec   |    6 +++---
 dlls/msvcrt/msvcrt.spec     |    6 +++---
 dlls/msvcrt/wcs.c           |   28 ++++++++++++++++++++++++++--
 8 files changed, 43 insertions(+), 19 deletions(-)

diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec
index 581ff17..ed40b65 100644
--- a/dlls/msvcr100/msvcr100.spec
+++ b/dlls/msvcr100/msvcr100.spec
@@ -1490,10 +1490,10 @@
 @ cdecl _wcsicmp_l(wstr wstr ptr) MSVCRT__wcsicmp_l
 @ cdecl _wcsicoll(wstr wstr) MSVCRT__wcsicoll
 @ cdecl _wcsicoll_l(wstr wstr ptr) MSVCRT__wcsicoll_l
-@ cdecl _wcslwr(wstr) ntdll._wcslwr
-@ stub _wcslwr_l
+@ cdecl _wcslwr(wstr) MSVCRT__wcslwr
+@ cdecl _wcslwr_l(wstr ptr) MSVCRT__wcslwr_l
 @ cdecl _wcslwr_s(wstr long) MSVCRT__wcslwr_s
-@ stub _wcslwr_s_l
+@ cdecl _wcslwr_s_l(wstr long ptr) MSVCRT__wcslwr_s_l
 @ cdecl _wcsncoll(wstr wstr long) MSVCRT__wcsncoll
 @ cdecl _wcsncoll_l(wstr wstr long ptr) MSVCRT__wcsncoll_l
 @ cdecl _wcsnicmp(wstr wstr long) MSVCRT__wcsnicmp
diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec
index 9973aa0..8af410c 100644
--- a/dlls/msvcr110/msvcr110.spec
+++ b/dlls/msvcr110/msvcr110.spec
@@ -1849,10 +1849,10 @@
 @ cdecl _wcsicmp_l(wstr wstr ptr) MSVCRT__wcsicmp_l
 @ cdecl _wcsicoll(wstr wstr) MSVCRT__wcsicoll
 @ cdecl _wcsicoll_l(wstr wstr ptr) MSVCRT__wcsicoll_l
-@ cdecl _wcslwr(wstr) ntdll._wcslwr
-@ stub _wcslwr_l
+@ cdecl _wcslwr(wstr) MSVCRT__wcslwr
+@ cdecl _wcslwr_l(wstr ptr) MSVCRT__wcslwr_l
 @ cdecl _wcslwr_s(wstr long) MSVCRT__wcslwr_s
-@ stub _wcslwr_s_l
+@ cdecl _wcslwr_s_l(wstr long ptr) MSVCRT__wcslwr_s_l
 @ cdecl _wcsncoll(wstr wstr long) MSVCRT__wcsncoll
 @ cdecl _wcsncoll_l(wstr wstr long ptr) MSVCRT__wcsncoll_l
 @ cdecl _wcsnicmp(wstr wstr long) MSVCRT__wcsnicmp
diff --git a/dlls/msvcr70/msvcr70.spec b/dlls/msvcr70/msvcr70.spec
index cf3e236..0168359 100644
--- a/dlls/msvcr70/msvcr70.spec
+++ b/dlls/msvcr70/msvcr70.spec
@@ -598,7 +598,7 @@
 @ cdecl _wcserror(long) MSVCRT__wcserror
 @ cdecl _wcsicmp(wstr wstr) MSVCRT__wcsicmp
 @ cdecl _wcsicoll(wstr wstr) MSVCRT__wcsicoll
-@ cdecl _wcslwr(wstr) ntdll._wcslwr
+@ cdecl _wcslwr(wstr) MSVCRT__wcslwr
 @ cdecl _wcsncoll(wstr wstr long) MSVCRT__wcsncoll
 @ cdecl _wcsnicmp(wstr wstr long) MSVCRT__wcsnicmp
 @ cdecl _wcsnicoll(wstr wstr long) MSVCRT__wcsnicoll
diff --git a/dlls/msvcr71/msvcr71.spec b/dlls/msvcr71/msvcr71.spec
index 2912b2d..f5ff608 100644
--- a/dlls/msvcr71/msvcr71.spec
+++ b/dlls/msvcr71/msvcr71.spec
@@ -594,7 +594,7 @@
 @ cdecl _wcserror(long) MSVCRT__wcserror
 @ cdecl _wcsicmp(wstr wstr) MSVCRT__wcsicmp
 @ cdecl _wcsicoll(wstr wstr) MSVCRT__wcsicoll
-@ cdecl _wcslwr(wstr) ntdll._wcslwr
+@ cdecl _wcslwr(wstr) MSVCRT__wcslwr
 @ cdecl _wcsncoll(wstr wstr long) MSVCRT__wcsncoll
 @ cdecl _wcsnicmp(wstr wstr long) MSVCRT__wcsnicmp
 @ cdecl _wcsnicoll(wstr wstr long) MSVCRT__wcsnicoll
diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec
index c76465b..1898d11 100644
--- a/dlls/msvcr80/msvcr80.spec
+++ b/dlls/msvcr80/msvcr80.spec
@@ -1169,10 +1169,10 @@
 @ cdecl _wcsicmp_l(wstr wstr ptr) MSVCRT__wcsicmp_l
 @ cdecl _wcsicoll(wstr wstr) MSVCRT__wcsicoll
 @ cdecl _wcsicoll_l(wstr wstr ptr) MSVCRT__wcsicoll_l
-@ cdecl _wcslwr(wstr) ntdll._wcslwr
-@ stub _wcslwr_l
+@ cdecl _wcslwr(wstr) MSVCRT__wcslwr
+@ cdecl _wcslwr_l(wstr ptr) MSVCRT__wcslwr_l
 @ cdecl _wcslwr_s(wstr long) MSVCRT__wcslwr_s
-@ stub _wcslwr_s_l
+@ cdecl _wcslwr_s_l(wstr long ptr) MSVCRT__wcslwr_s_l
 @ cdecl _wcsncoll(wstr wstr long) MSVCRT__wcsncoll
 @ cdecl _wcsncoll_l(wstr wstr long ptr) MSVCRT__wcsncoll_l
 @ cdecl _wcsnicmp(wstr wstr long) MSVCRT__wcsnicmp
diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec
index 622b9f4..b4ea4b8 100644
--- a/dlls/msvcr90/msvcr90.spec
+++ b/dlls/msvcr90/msvcr90.spec
@@ -1145,10 +1145,10 @@
 @ cdecl _wcsicmp_l(wstr wstr ptr) MSVCRT__wcsicmp_l
 @ cdecl _wcsicoll(wstr wstr) MSVCRT__wcsicoll
 @ cdecl _wcsicoll_l(wstr wstr ptr) MSVCRT__wcsicoll_l
-@ cdecl _wcslwr(wstr) ntdll._wcslwr
-@ stub _wcslwr_l
+@ cdecl _wcslwr(wstr) MSVCRT__wcslwr
+@ cdecl _wcslwr_l(wstr ptr) MSVCRT__wcslwr_l
 @ cdecl _wcslwr_s(wstr long) MSVCRT__wcslwr_s
-@ stub _wcslwr_s_l
+@ cdecl _wcslwr_s_l(wstr long ptr) MSVCRT__wcslwr_s_l
 @ cdecl _wcsncoll(wstr wstr long) MSVCRT__wcsncoll
 @ cdecl _wcsncoll_l(wstr wstr long ptr) MSVCRT__wcsncoll_l
 @ cdecl _wcsnicmp(wstr wstr long) MSVCRT__wcsnicmp
diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec
index cd7a39b..69020f6 100644
--- a/dlls/msvcrt/msvcrt.spec
+++ b/dlls/msvcrt/msvcrt.spec
@@ -1106,10 +1106,10 @@
 @ cdecl _wcsicmp_l(wstr wstr ptr) MSVCRT__wcsicmp_l
 @ cdecl _wcsicoll(wstr wstr) MSVCRT__wcsicoll
 @ cdecl _wcsicoll_l(wstr wstr ptr) MSVCRT__wcsicoll_l
-@ cdecl _wcslwr(wstr) ntdll._wcslwr
-# stub _wcslwr_l(wstr ptr)
+@ cdecl _wcslwr(wstr) MSVCRT__wcslwr
+@ cdecl _wcslwr_l(wstr ptr) MSVCRT__wcslwr_l
 @ cdecl _wcslwr_s(wstr long) MSVCRT__wcslwr_s
-# stub _wcslwr_s_l(wstr long ptr)
+@ cdecl _wcslwr_s_l(wstr long ptr) MSVCRT__wcslwr_s_l
 @ cdecl _wcsncoll(wstr wstr long) MSVCRT__wcsncoll
 @ cdecl _wcsncoll_l(wstr wstr long ptr) MSVCRT__wcsncoll_l
 @ cdecl _wcsnicmp(wstr wstr long) MSVCRT__wcsnicmp
diff --git a/dlls/msvcrt/wcs.c b/dlls/msvcrt/wcs.c
index 60a24a5..548c907 100644
--- a/dlls/msvcrt/wcs.c
+++ b/dlls/msvcrt/wcs.c
@@ -235,9 +235,9 @@ MSVCRT_wchar_t* CDECL MSVCRT__wcsupr_l( MSVCRT_wchar_t *str, MSVCRT__locale_t lo
 }
 
 /******************************************************************
- *		_wcslwr_s (MSVCRT.@)
+ *		_wcslwr_s_l (MSVCRT.@)
  */
-int CDECL MSVCRT__wcslwr_s( MSVCRT_wchar_t* str, MSVCRT_size_t n )
+int CDECL MSVCRT__wcslwr_s_l( MSVCRT_wchar_t* str, MSVCRT_size_t n, MSVCRT__locale_t locale )
 {
   MSVCRT_wchar_t* ptr = str;
 
@@ -262,6 +262,30 @@ int CDECL MSVCRT__wcslwr_s( MSVCRT_wchar_t* str, MSVCRT_size_t n )
   return MSVCRT_EINVAL;
 }
 
+/******************************************************************
+ *		_wcslwr_s (MSVCRT.@)
+ */
+int CDECL MSVCRT__wcslwr_s( MSVCRT_wchar_t* str, MSVCRT_size_t n )
+{
+    return MSVCRT__wcslwr_s_l(str, n, NULL);
+}
+
+/******************************************************************
+ *		_wcslwr_l (MSVCRT.@)
+ */
+int CDECL MSVCRT__wcslwr_l( MSVCRT_wchar_t* str, MSVCRT__locale_t locale )
+{
+    return MSVCRT__wcslwr_s_l(str, -1, locale);
+}
+
+/******************************************************************
+ *		_wcslwr (MSVCRT.@)
+ */
+int CDECL MSVCRT__wcslwr( MSVCRT_wchar_t* str )
+{
+    return MSVCRT__wcslwr_s_l(str, -1, NULL);
+}
+
 /*********************************************************************
  *              _wcsncoll_l (MSVCRT.@)
  */




More information about the wine-cvs mailing list