Alexandre Julliard : msvcrt: Implement pwctype() functions.

Alexandre Julliard julliard at winehq.org
Fri Jan 15 15:39:45 CST 2021


Module: wine
Branch: master
Commit: 52a1737fc012554e81b8a931b879c60757029ea4
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=52a1737fc012554e81b8a931b879c60757029ea4

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Fri Jan 15 17:04:34 2021 +0100

msvcrt: Implement pwctype() functions.

Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 .../api-ms-win-crt-locale-l1-1-0.spec                    |  2 +-
 dlls/msvcr100/msvcr100.spec                              |  4 ++--
 dlls/msvcr110/msvcr110.spec                              |  4 ++--
 dlls/msvcr120/msvcr120.spec                              |  4 ++--
 dlls/msvcr120_app/msvcr120_app.spec                      |  2 +-
 dlls/msvcr70/msvcr70.spec                                |  4 ++--
 dlls/msvcr71/msvcr71.spec                                |  4 ++--
 dlls/msvcr80/msvcr80.spec                                |  4 ++--
 dlls/msvcr90/msvcr90.spec                                |  4 ++--
 dlls/msvcrt/ctype.c                                      | 16 ++++++++++++++++
 dlls/msvcrt/msvcrt.spec                                  |  4 ++--
 dlls/msvcrt20/msvcrt20.spec                              |  2 +-
 dlls/msvcrt40/msvcrt40.spec                              |  2 +-
 dlls/msvcrtd/msvcrtd.spec                                |  3 ++-
 dlls/ucrtbase/ucrtbase.spec                              |  2 +-
 15 files changed, 39 insertions(+), 22 deletions(-)

diff --git a/dlls/api-ms-win-crt-locale-l1-1-0/api-ms-win-crt-locale-l1-1-0.spec b/dlls/api-ms-win-crt-locale-l1-1-0/api-ms-win-crt-locale-l1-1-0.spec
index 12bbbe6133c..dc2ec272202 100644
--- a/dlls/api-ms-win-crt-locale-l1-1-0/api-ms-win-crt-locale-l1-1-0.spec
+++ b/dlls/api-ms-win-crt-locale-l1-1-0/api-ms-win-crt-locale-l1-1-0.spec
@@ -5,7 +5,7 @@
 @ cdecl ___mb_cur_max_l_func(ptr) ucrtbase.___mb_cur_max_l_func
 @ cdecl __initialize_lconv_for_unsigned_char() ucrtbase.__initialize_lconv_for_unsigned_char
 @ cdecl __pctype_func() ucrtbase.__pctype_func
-@ stub __pwctype_func
+@ cdecl __pwctype_func() ucrtbase.__pwctype_func
 @ cdecl _configthreadlocale(long) ucrtbase._configthreadlocale
 @ cdecl _create_locale(long str) ucrtbase._create_locale
 @ cdecl _free_locale(ptr) ucrtbase._free_locale
diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec
index 2d2bc0d8db4..4e981ca8718 100644
--- a/dlls/msvcr100/msvcr100.spec
+++ b/dlls/msvcr100/msvcr100.spec
@@ -641,7 +641,7 @@
 @ cdecl __p__mbctype()
 @ cdecl __p__pctype()
 @ cdecl __p__pgmptr()
-@ stub __p__pwctype()
+@ cdecl __p__pwctype()
 @ cdecl __p__timezone()
 @ cdecl __p__tzname()
 @ cdecl __p__wcmdln()
@@ -649,7 +649,7 @@
 @ cdecl __p__wpgmptr()
 @ cdecl __pctype_func()
 @ extern __pioinfo MSVCRT___pioinfo
-@ stub __pwctype_func
+@ cdecl __pwctype_func()
 @ cdecl __pxcptinfoptrs()
 @ stub __report_gsfailure
 @ cdecl __set_app_type(long)
diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec
index e46208d84c0..5aef5e3739f 100644
--- a/dlls/msvcr110/msvcr110.spec
+++ b/dlls/msvcr110/msvcr110.spec
@@ -990,7 +990,7 @@
 @ cdecl __p__mbctype()
 @ cdecl __p__pctype()
 @ cdecl __p__pgmptr()
-@ stub __p__pwctype()
+@ cdecl __p__pwctype()
 @ cdecl __p__timezone()
 @ cdecl __p__tzname()
 @ cdecl __p__wcmdln()
@@ -998,7 +998,7 @@
 @ cdecl __p__wpgmptr()
 @ cdecl __pctype_func()
 @ extern __pioinfo MSVCRT___pioinfo
-@ stub __pwctype_func
+@ cdecl __pwctype_func()
 @ cdecl __pxcptinfoptrs()
 @ stub __report_gsfailure
 @ cdecl __set_app_type(long)
diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec
index 962ebeb96c8..50cb4377fb5 100644
--- a/dlls/msvcr120/msvcr120.spec
+++ b/dlls/msvcr120/msvcr120.spec
@@ -980,7 +980,7 @@
 @ cdecl __p__mbctype()
 @ cdecl __p__pctype()
 @ cdecl __p__pgmptr()
-@ stub __p__pwctype()
+@ cdecl __p__pwctype()
 @ cdecl __p__timezone()
 @ cdecl __p__tzname()
 @ cdecl __p__wcmdln()
@@ -988,7 +988,7 @@
 @ cdecl __p__wpgmptr()
 @ cdecl __pctype_func()
 @ extern __pioinfo MSVCRT___pioinfo
-@ stub __pwctype_func
+@ cdecl __pwctype_func()
 @ cdecl __pxcptinfoptrs()
 @ stub __report_gsfailure
 @ cdecl __set_app_type(long)
diff --git a/dlls/msvcr120_app/msvcr120_app.spec b/dlls/msvcr120_app/msvcr120_app.spec
index d8c424100a9..144eb39ac29 100644
--- a/dlls/msvcr120_app/msvcr120_app.spec
+++ b/dlls/msvcr120_app/msvcr120_app.spec
@@ -960,7 +960,7 @@
 @ cdecl __p__wpgmptr() msvcr120.__p__wpgmptr
 @ cdecl __pctype_func() msvcr120.__pctype_func
 @ extern __pioinfo msvcr120.__pioinfo
-@ stub __pwctype_func
+@ cdecl __pwctype_func() msvcr120.__pwctype_func
 @ cdecl __pxcptinfoptrs() msvcr120.__pxcptinfoptrs
 @ stub __report_gsfailure
 @ extern __setlc_active msvcr120.__setlc_active
diff --git a/dlls/msvcr70/msvcr70.spec b/dlls/msvcr70/msvcr70.spec
index 53c6c27cc12..07b1bb7298d 100644
--- a/dlls/msvcr70/msvcr70.spec
+++ b/dlls/msvcr70/msvcr70.spec
@@ -181,7 +181,7 @@
 @ cdecl __p__osver()
 @ cdecl __p__pctype()
 @ cdecl __p__pgmptr()
-@ stub __p__pwctype()
+@ cdecl __p__pwctype()
 @ cdecl __p__timezone()
 @ cdecl __p__tzname()
 @ cdecl __p__wcmdln()
@@ -192,7 +192,7 @@
 @ cdecl __p__wpgmptr()
 @ cdecl __pctype_func()
 @ extern __pioinfo MSVCRT___pioinfo
-@ stub __pwctype_func
+@ cdecl __pwctype_func()
 @ cdecl __pxcptinfoptrs()
 @ cdecl __security_error_handler(long ptr)
 @ cdecl __set_app_type(long)
diff --git a/dlls/msvcr71/msvcr71.spec b/dlls/msvcr71/msvcr71.spec
index 2bfdc16f0ba..b3231c0be45 100644
--- a/dlls/msvcr71/msvcr71.spec
+++ b/dlls/msvcr71/msvcr71.spec
@@ -176,7 +176,7 @@
 @ cdecl __p__osver()
 @ cdecl __p__pctype()
 @ cdecl __p__pgmptr()
-@ stub __p__pwctype()
+@ cdecl __p__pwctype()
 @ cdecl __p__timezone()
 @ cdecl __p__tzname()
 @ cdecl __p__wcmdln()
@@ -187,7 +187,7 @@
 @ cdecl __p__wpgmptr()
 @ cdecl __pctype_func()
 @ extern __pioinfo MSVCRT___pioinfo
-@ stub __pwctype_func
+@ cdecl __pwctype_func()
 @ cdecl __pxcptinfoptrs()
 @ cdecl __security_error_handler(long ptr)
 @ cdecl __set_app_type(long)
diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec
index b14f0c7fee1..187aeabca6d 100644
--- a/dlls/msvcr80/msvcr80.spec
+++ b/dlls/msvcr80/msvcr80.spec
@@ -287,7 +287,7 @@
 @ cdecl __p__osver()
 @ cdecl __p__pctype()
 @ cdecl __p__pgmptr()
-@ stub __p__pwctype()
+@ cdecl __p__pwctype()
 @ cdecl __p__timezone()
 @ cdecl __p__tzname()
 @ cdecl __p__wcmdln()
@@ -298,7 +298,7 @@
 @ cdecl __p__wpgmptr()
 @ cdecl __pctype_func()
 @ extern __pioinfo MSVCRT___pioinfo
-@ stub __pwctype_func
+@ cdecl __pwctype_func()
 @ cdecl __pxcptinfoptrs()
 @ stub __report_gsfailure
 @ cdecl __set_app_type(long)
diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec
index 9aa743910ce..9f8a3ba8877 100644
--- a/dlls/msvcr90/msvcr90.spec
+++ b/dlls/msvcr90/msvcr90.spec
@@ -274,7 +274,7 @@
 @ cdecl __p__mbctype()
 @ cdecl __p__pctype()
 @ cdecl __p__pgmptr()
-@ stub __p__pwctype()
+@ cdecl __p__pwctype()
 @ cdecl __p__timezone()
 @ cdecl __p__tzname()
 @ cdecl __p__wcmdln()
@@ -282,7 +282,7 @@
 @ cdecl __p__wpgmptr()
 @ cdecl __pctype_func()
 @ extern __pioinfo MSVCRT___pioinfo
-@ stub __pwctype_func
+@ cdecl __pwctype_func()
 @ cdecl __pxcptinfoptrs()
 @ stub __report_gsfailure
 @ cdecl __set_app_type(long)
diff --git a/dlls/msvcrt/ctype.c b/dlls/msvcrt/ctype.c
index 7fc778eca4a..7cfba52c9f4 100644
--- a/dlls/msvcrt/ctype.c
+++ b/dlls/msvcrt/ctype.c
@@ -143,6 +143,22 @@ const unsigned short* CDECL __pctype_func(void)
     return get_locinfo()->pctype;
 }
 
+/*********************************************************************
+ *		__p__pwctype (MSVCRT.@)
+ */
+unsigned short** CDECL __p__pwctype(void)
+{
+    return &MSVCRT__pwctype;
+}
+
+/*********************************************************************
+ *		__pwctype_func (MSVCRT.@)
+ */
+const unsigned short* CDECL __pwctype_func(void)
+{
+    return MSVCRT__pwctype;
+}
+
 /*********************************************************************
  *		_isctype_l (MSVCRT.@)
  */
diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec
index 51195429088..c40510a4889 100644
--- a/dlls/msvcrt/msvcrt.spec
+++ b/dlls/msvcrt/msvcrt.spec
@@ -265,7 +265,7 @@
 @ cdecl -arch=i386 __p__osver()
 @ cdecl -arch=i386 __p__pctype()
 @ cdecl -arch=i386 __p__pgmptr()
-@ stub -arch=i386 __p__pwctype()
+@ cdecl -arch=i386 __p__pwctype()
 @ cdecl -arch=i386 __p__timezone()
 @ cdecl -arch=i386 __p__tzname()
 @ cdecl -arch=i386 __p__wcmdln()
@@ -276,7 +276,7 @@
 @ cdecl -arch=i386 __p__wpgmptr()
 @ cdecl __pctype_func()
 @ extern __pioinfo MSVCRT___pioinfo
-# stub __pwctype_func()
+@ cdecl __pwctype_func()
 @ cdecl __pxcptinfoptrs()
 @ cdecl __set_app_type(long)
 @ extern __setlc_active MSVCRT___setlc_active
diff --git a/dlls/msvcrt20/msvcrt20.spec b/dlls/msvcrt20/msvcrt20.spec
index 907d3ffed6e..7e2ec304979 100644
--- a/dlls/msvcrt20/msvcrt20.spec
+++ b/dlls/msvcrt20/msvcrt20.spec
@@ -825,7 +825,7 @@
 @ cdecl -arch=i386 __p__osver() msvcrt.__p__osver
 @ cdecl -arch=i386 __p__pctype() msvcrt.__p__pctype
 @ cdecl -arch=i386 __p__pgmptr() msvcrt.__p__pgmptr
-@ cdecl __p__pwctype() msvcrt.__p__pwctype
+@ cdecl -arch=i386 __p__pwctype() msvcrt.__p__pwctype
 @ cdecl -arch=i386 __p__timezone() msvcrt.__p__timezone
 @ cdecl -arch=i386 __p__tzname() msvcrt.__p__tzname
 @ cdecl -arch=i386 __p__wcmdln() msvcrt.__p__wcmdln
diff --git a/dlls/msvcrt40/msvcrt40.spec b/dlls/msvcrt40/msvcrt40.spec
index 9e25f4f2bc1..ebcf5df4fc3 100644
--- a/dlls/msvcrt40/msvcrt40.spec
+++ b/dlls/msvcrt40/msvcrt40.spec
@@ -904,7 +904,7 @@
 @ cdecl -arch=i386 __p__osver() msvcrt.__p__osver
 @ cdecl -arch=i386 __p__pctype() msvcrt.__p__pctype
 @ cdecl -arch=i386 __p__pgmptr() msvcrt.__p__pgmptr
-@ cdecl __p__pwctype() msvcrt.__p__pwctype
+@ cdecl -arch=i386 __p__pwctype() msvcrt.__p__pwctype
 @ cdecl -arch=i386 __p__timezone() msvcrt.__p__timezone
 @ cdecl -arch=i386 __p__tzname() msvcrt.__p__tzname
 @ cdecl -arch=i386 __p__wcmdln() msvcrt.__p__wcmdln
diff --git a/dlls/msvcrtd/msvcrtd.spec b/dlls/msvcrtd/msvcrtd.spec
index cb29aedfe46..9c78b3ba389 100644
--- a/dlls/msvcrtd/msvcrtd.spec
+++ b/dlls/msvcrtd/msvcrtd.spec
@@ -173,7 +173,7 @@
 @ cdecl __p__osver()
 @ cdecl __p__pctype()
 @ cdecl __p__pgmptr()
-@ stub __p__pwctype()
+@ cdecl __p__pwctype()
 @ cdecl __p__timezone()
 @ cdecl __p__tzname()
 @ cdecl __p__wcmdln()
@@ -184,6 +184,7 @@
 @ cdecl __p__wpgmptr()
 @ cdecl __pctype_func()
 @ extern __pioinfo MSVCRT___pioinfo
+@ cdecl __pwctype_func()
 @ cdecl __pxcptinfoptrs()
 @ cdecl __set_app_type(long)
 @ extern __setlc_active MSVCRT___setlc_active
diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec
index 2631299d24c..2a4a77865a8 100644
--- a/dlls/ucrtbase/ucrtbase.spec
+++ b/dlls/ucrtbase/ucrtbase.spec
@@ -136,7 +136,7 @@
 @ cdecl __p__wpgmptr()
 @ cdecl __pctype_func()
 @ cdecl __processing_throw()
-@ stub __pwctype_func
+@ cdecl __pwctype_func()
 @ cdecl __pxcptinfoptrs()
 @ stub __report_gsfailure
 @ cdecl __setusermatherr(ptr)




More information about the wine-cvs mailing list