[RFC PATCH 8/9] msvcrt: Add functions to fetch _pwctype table.

Jeff Smith whydoubt at gmail.com
Thu Jan 9 00:53:48 CST 2020


Signed-off-by: Jeff Smith <whydoubt at gmail.com>
---
 .../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/msvcrt.spec                          |  4 ++--
 dlls/msvcrt/wcs.c                                | 16 ++++++++++++++++
 dlls/msvcrtd/msvcrtd.spec                        |  2 +-
 dlls/ucrtbase/ucrtbase.spec                      |  2 +-
 13 files changed, 36 insertions(+), 20 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 12bbbe6133..dc2ec27220 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 ca4081c4db..f5f2711f43 100644
--- a/dlls/msvcr100/msvcr100.spec
+++ b/dlls/msvcr100/msvcr100.spec
@@ -641,7 +641,7 @@
 @ cdecl __p__mbctype()
 @ cdecl __p__pctype() MSVCRT___p__pctype
 @ cdecl __p__pgmptr() MSVCRT___p__pgmptr
-@ stub __p__pwctype()
+@ cdecl __p__pwctype() MSVCRT___p__pwctype
 @ cdecl __p__timezone() MSVCRT___p__timezone
 @ cdecl __p__tzname()
 @ cdecl __p__wcmdln() MSVCRT___p__wcmdln
@@ -649,7 +649,7 @@
 @ cdecl __p__wpgmptr() MSVCRT___p__wpgmptr
 @ cdecl __pctype_func() MSVCRT___pctype_func
 @ extern __pioinfo MSVCRT___pioinfo
-@ stub __pwctype_func
+@ cdecl __pwctype_func() MSVCRT___pwctype_func
 @ cdecl __pxcptinfoptrs() MSVCRT___pxcptinfoptrs
 @ stub __report_gsfailure
 @ cdecl __set_app_type(long) MSVCRT___set_app_type
diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec
index b8403c7b95..52da18e39a 100644
--- a/dlls/msvcr110/msvcr110.spec
+++ b/dlls/msvcr110/msvcr110.spec
@@ -990,7 +990,7 @@
 @ cdecl __p__mbctype()
 @ cdecl __p__pctype() MSVCRT___p__pctype
 @ cdecl __p__pgmptr() MSVCRT___p__pgmptr
-@ stub __p__pwctype()
+@ cdecl __p__pwctype() MSVCRT___p__pwctype
 @ cdecl __p__timezone() MSVCRT___p__timezone
 @ cdecl __p__tzname()
 @ cdecl __p__wcmdln() MSVCRT___p__wcmdln
@@ -998,7 +998,7 @@
 @ cdecl __p__wpgmptr() MSVCRT___p__wpgmptr
 @ cdecl __pctype_func() MSVCRT___pctype_func
 @ extern __pioinfo MSVCRT___pioinfo
-@ stub __pwctype_func
+@ cdecl __pwctype_func() MSVCRT___pwctype_func
 @ cdecl __pxcptinfoptrs() MSVCRT___pxcptinfoptrs
 @ stub __report_gsfailure
 @ cdecl __set_app_type(long) MSVCRT___set_app_type
diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec
index 793814545d..279aed8fa8 100644
--- a/dlls/msvcr120/msvcr120.spec
+++ b/dlls/msvcr120/msvcr120.spec
@@ -980,7 +980,7 @@
 @ cdecl __p__mbctype()
 @ cdecl __p__pctype() MSVCRT___p__pctype
 @ cdecl __p__pgmptr() MSVCRT___p__pgmptr
-@ stub __p__pwctype()
+@ cdecl __p__pwctype() MSVCRT___p__pwctype
 @ cdecl __p__timezone() MSVCRT___p__timezone
 @ cdecl __p__tzname()
 @ cdecl __p__wcmdln() MSVCRT___p__wcmdln
@@ -988,7 +988,7 @@
 @ cdecl __p__wpgmptr() MSVCRT___p__wpgmptr
 @ cdecl __pctype_func() MSVCRT___pctype_func
 @ extern __pioinfo MSVCRT___pioinfo
-@ stub __pwctype_func
+@ cdecl __pwctype_func() MSVCRT___pwctype_func
 @ cdecl __pxcptinfoptrs() MSVCRT___pxcptinfoptrs
 @ stub __report_gsfailure
 @ cdecl __set_app_type(long) MSVCRT___set_app_type
diff --git a/dlls/msvcr120_app/msvcr120_app.spec b/dlls/msvcr120_app/msvcr120_app.spec
index 2805964d4c..29953c185e 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 d3a4413def..d53e39b2e4 100644
--- a/dlls/msvcr70/msvcr70.spec
+++ b/dlls/msvcr70/msvcr70.spec
@@ -181,7 +181,7 @@
 @ cdecl __p__osver()
 @ cdecl __p__pctype() MSVCRT___p__pctype
 @ cdecl __p__pgmptr() MSVCRT___p__pgmptr
-@ stub __p__pwctype()
+@ cdecl __p__pwctype() MSVCRT___p__pwctype
 @ cdecl __p__timezone() MSVCRT___p__timezone
 @ cdecl __p__tzname()
 @ cdecl __p__wcmdln() MSVCRT___p__wcmdln
@@ -192,7 +192,7 @@
 @ cdecl __p__wpgmptr() MSVCRT___p__wpgmptr
 @ cdecl __pctype_func() MSVCRT___pctype_func
 @ extern __pioinfo MSVCRT___pioinfo
-@ stub __pwctype_func
+@ cdecl __pwctype_func() MSVCRT___pwctype_func
 @ cdecl __pxcptinfoptrs() MSVCRT___pxcptinfoptrs
 @ cdecl __security_error_handler(long ptr)
 @ cdecl __set_app_type(long) MSVCRT___set_app_type
diff --git a/dlls/msvcr71/msvcr71.spec b/dlls/msvcr71/msvcr71.spec
index 494f522505..2bc3651b62 100644
--- a/dlls/msvcr71/msvcr71.spec
+++ b/dlls/msvcr71/msvcr71.spec
@@ -176,7 +176,7 @@
 @ cdecl __p__osver()
 @ cdecl __p__pctype() MSVCRT___p__pctype
 @ cdecl __p__pgmptr() MSVCRT___p__pgmptr
-@ stub __p__pwctype()
+@ cdecl __p__pwctype() MSVCRT___p__pwctype
 @ cdecl __p__timezone() MSVCRT___p__timezone
 @ cdecl __p__tzname()
 @ cdecl __p__wcmdln() MSVCRT___p__wcmdln
@@ -187,7 +187,7 @@
 @ cdecl __p__wpgmptr() MSVCRT___p__wpgmptr
 @ cdecl __pctype_func() MSVCRT___pctype_func
 @ extern __pioinfo MSVCRT___pioinfo
-@ stub __pwctype_func
+@ cdecl __pwctype_func() MSVCRT___pwctype_func
 @ cdecl __pxcptinfoptrs() MSVCRT___pxcptinfoptrs
 @ cdecl __security_error_handler(long ptr)
 @ cdecl __set_app_type(long) MSVCRT___set_app_type
diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec
index 550d4432a8..70b1ff15a0 100644
--- a/dlls/msvcr80/msvcr80.spec
+++ b/dlls/msvcr80/msvcr80.spec
@@ -287,7 +287,7 @@
 @ cdecl __p__osver()
 @ cdecl __p__pctype() MSVCRT___p__pctype
 @ cdecl __p__pgmptr() MSVCRT___p__pgmptr
-@ stub __p__pwctype()
+@ cdecl __p__pwctype() MSVCRT___p__pwctype
 @ cdecl __p__timezone() MSVCRT___p__timezone
 @ cdecl __p__tzname()
 @ cdecl __p__wcmdln() MSVCRT___p__wcmdln
@@ -298,7 +298,7 @@
 @ cdecl __p__wpgmptr() MSVCRT___p__wpgmptr
 @ cdecl __pctype_func() MSVCRT___pctype_func
 @ extern __pioinfo MSVCRT___pioinfo
-@ stub __pwctype_func
+@ cdecl __pwctype_func() MSVCRT___pwctype_func
 @ cdecl __pxcptinfoptrs() MSVCRT___pxcptinfoptrs
 @ stub __report_gsfailure
 @ cdecl __set_app_type(long) MSVCRT___set_app_type
diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec
index 1280c7d901..ae2c733fa0 100644
--- a/dlls/msvcr90/msvcr90.spec
+++ b/dlls/msvcr90/msvcr90.spec
@@ -274,7 +274,7 @@
 @ cdecl __p__mbctype()
 @ cdecl __p__pctype() MSVCRT___p__pctype
 @ cdecl __p__pgmptr() MSVCRT___p__pgmptr
-@ stub __p__pwctype()
+@ cdecl __p__pwctype() MSVCRT___p__pwctype
 @ cdecl __p__timezone() MSVCRT___p__timezone
 @ cdecl __p__tzname()
 @ cdecl __p__wcmdln() MSVCRT___p__wcmdln
@@ -282,7 +282,7 @@
 @ cdecl __p__wpgmptr() MSVCRT___p__wpgmptr
 @ cdecl __pctype_func() MSVCRT___pctype_func
 @ extern __pioinfo MSVCRT___pioinfo
-@ stub __pwctype_func
+@ cdecl __pwctype_func() MSVCRT___pwctype_func
 @ cdecl __pxcptinfoptrs() MSVCRT___pxcptinfoptrs
 @ stub __report_gsfailure
 @ cdecl __set_app_type(long) MSVCRT___set_app_type
diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec
index 5d91891dcc..0c907a8278 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() MSVCRT___p__pctype
 @ cdecl -arch=i386 __p__pgmptr() MSVCRT___p__pgmptr
-@ stub -arch=i386 __p__pwctype()
+@ cdecl -arch=i386 __p__pwctype() MSVCRT___p__pwctype
 @ cdecl -arch=i386 __p__timezone() MSVCRT___p__timezone
 @ cdecl -arch=i386 __p__tzname()
 @ cdecl -arch=i386 __p__wcmdln() MSVCRT___p__wcmdln
@@ -276,7 +276,7 @@
 @ cdecl -arch=i386 __p__wpgmptr() MSVCRT___p__wpgmptr
 @ cdecl __pctype_func() MSVCRT___pctype_func
 @ extern __pioinfo MSVCRT___pioinfo
-# stub __pwctype_func()
+@ cdecl __pwctype_func() MSVCRT___pwctype_func
 @ cdecl __pxcptinfoptrs() MSVCRT___pxcptinfoptrs
 @ cdecl __set_app_type(long) MSVCRT___set_app_type
 @ extern __setlc_active MSVCRT___setlc_active
diff --git a/dlls/msvcrt/wcs.c b/dlls/msvcrt/wcs.c
index 32904ebb7e..87e658f509 100644
--- a/dlls/msvcrt/wcs.c
+++ b/dlls/msvcrt/wcs.c
@@ -100,6 +100,22 @@ WORD MSVCRT__wctype [257] = {
 
 WORD *MSVCRT__pwctype = MSVCRT__wctype + 1;
 
+/*********************************************************************
+ *		__p__pwctype (MSVCRT.@)
+ */
+WORD** CDECL MSVCRT___p__pwctype(void)
+{
+    return &MSVCRT__pwctype;
+}
+
+/*********************************************************************
+ *		__pwctype_func (MSVCRT.@)
+ */
+const WORD* CDECL MSVCRT___pwctype_func(void)
+{
+    return MSVCRT__pwctype;
+}
+
 #if _MSVCR_VER>=80
 
 /*********************************************************************
diff --git a/dlls/msvcrtd/msvcrtd.spec b/dlls/msvcrtd/msvcrtd.spec
index 2bb1d3d3b0..80d3690d53 100644
--- a/dlls/msvcrtd/msvcrtd.spec
+++ b/dlls/msvcrtd/msvcrtd.spec
@@ -173,7 +173,7 @@
 @ cdecl __p__osver()
 @ cdecl __p__pctype() MSVCRT___p__pctype
 @ cdecl __p__pgmptr() MSVCRT___p__pgmptr
-@ stub __p__pwctype()
+@ cdecl __p__pwctype() MSVCRT___p__pwctype
 @ cdecl __p__timezone() MSVCRT___p__timezone
 @ cdecl __p__tzname()
 @ cdecl __p__wcmdln() MSVCRT___p__wcmdln
diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec
index 8f174ee95a..d591ed8b84 100644
--- a/dlls/ucrtbase/ucrtbase.spec
+++ b/dlls/ucrtbase/ucrtbase.spec
@@ -136,7 +136,7 @@
 @ cdecl __p__wpgmptr() MSVCRT___p__wpgmptr
 @ cdecl __pctype_func() MSVCRT___pctype_func
 @ cdecl __processing_throw()
-@ stub __pwctype_func
+@ cdecl __pwctype_func() MSVCRT___pwctype_func
 @ cdecl __pxcptinfoptrs() MSVCRT___pxcptinfoptrs
 @ stub __report_gsfailure
 @ cdecl __setusermatherr(ptr) MSVCRT___setusermatherr
-- 
2.23.0




More information about the wine-devel mailing list