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