[PATCH v3] msvcrt: Stub out _(get|set)_thread_local_invalid_parameter_handler.

Alex Henrie alexhenrie24 at gmail.com
Tue Jun 7 17:36:50 CDT 2016


Cc: Piotr Caban <piotr at codeweavers.com>
Cc: Austin English <austinenglish at gmail.com>

For https://bugs.winehq.org/show_bug.cgi?id=40745

Try 3: Realized that the thread-local handler will have to be saved
somewhere else. For now, stub functions should be good enough.

Signed-off-by: Alex Henrie <alexhenrie24 at gmail.com>
---
 .../api-ms-win-crt-runtime-l1-1-0.spec                |  4 ++--
 dlls/msvcrt/errno.c                                   | 19 +++++++++++++++++++
 dlls/ucrtbase/ucrtbase.spec                           |  4 ++--
 3 files changed, 23 insertions(+), 4 deletions(-)

diff --git a/dlls/api-ms-win-crt-runtime-l1-1-0/api-ms-win-crt-runtime-l1-1-0.spec b/dlls/api-ms-win-crt-runtime-l1-1-0/api-ms-win-crt-runtime-l1-1-0.spec
index e138bf6..9864c6c 100644
--- a/dlls/api-ms-win-crt-runtime-l1-1-0/api-ms-win-crt-runtime-l1-1-0.spec
+++ b/dlls/api-ms-win-crt-runtime-l1-1-0/api-ms-win-crt-runtime-l1-1-0.spec
@@ -46,7 +46,7 @@
 @ stub _get_narrow_winmain_command_line
 @ cdecl _get_pgmptr(ptr) ucrtbase._get_pgmptr
 @ cdecl _get_terminate() ucrtbase._get_terminate
-@ stub _get_thread_local_invalid_parameter_handler
+@ cdecl _get_thread_local_invalid_parameter_handler() ucrtbase._get_thread_local_invalid_parameter_handler
 @ stub _get_wide_winmain_command_line
 @ cdecl _get_wpgmptr(ptr) ucrtbase._get_wpgmptr
 @ cdecl _getdllprocaddr(long str long) ucrtbase._getdllprocaddr
@@ -73,7 +73,7 @@
 @ cdecl _set_error_mode(long) ucrtbase._set_error_mode
 @ cdecl _set_invalid_parameter_handler(ptr) ucrtbase._set_invalid_parameter_handler
 @ cdecl _set_new_handler(ptr) ucrtbase._set_new_handler
-@ stub _set_thread_local_invalid_parameter_handler
+@ cdecl _set_thread_local_invalid_parameter_handler(ptr) ucrtbase._set_thread_local_invalid_parameter_handler
 @ cdecl _seterrormode(long) ucrtbase._seterrormode
 @ cdecl _sleep(long) ucrtbase._sleep
 @ cdecl _statusfp() ucrtbase._statusfp
diff --git a/dlls/msvcrt/errno.c b/dlls/msvcrt/errno.c
index 6c1a912..75e211e 100644
--- a/dlls/msvcrt/errno.c
+++ b/dlls/msvcrt/errno.c
@@ -473,3 +473,22 @@ MSVCRT_invalid_parameter_handler CDECL _set_invalid_parameter_handler(
     invalid_parameter_handler = handler;
     return old;
 }
+
+/*********************************************************************
+ * _get_thread_local_invalid_parameter_handler (UCRTBASE.@)
+ */
+MSVCRT_invalid_parameter_handler CDECL _get_thread_local_invalid_parameter_handler(void)
+{
+    FIXME(" stub\n");
+    return NULL;
+}
+
+/*********************************************************************
+ * _set_thread_local_invalid_parameter_handler (UCRTBASE.@)
+ */
+MSVCRT_invalid_parameter_handler CDECL _set_thread_local_invalid_parameter_handler(
+        MSVCRT_invalid_parameter_handler handler)
+{
+    FIXME("(%p) stub\n", handler);
+    return NULL;
+}
diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec
index bda6d3d..9d65d3c 100644
--- a/dlls/ucrtbase/ucrtbase.spec
+++ b/dlls/ucrtbase/ucrtbase.spec
@@ -375,7 +375,7 @@
 @ stub _get_purecall_handler
 @ cdecl _get_stream_buffer_pointers(ptr ptr ptr ptr) MSVCRT__get_stream_buffer_pointers
 @ cdecl _get_terminate() MSVCRT__get_terminate
-@ stub _get_thread_local_invalid_parameter_handler
+@ cdecl _get_thread_local_invalid_parameter_handler()
 @ cdecl _get_timezone(ptr)
 @ cdecl _get_tzname(ptr str long long) MSVCRT__get_tzname
 @ cdecl _get_unexpected() MSVCRT__get_unexpected
@@ -1893,7 +1893,7 @@
 @ cdecl _set_printf_count_output(long) MSVCRT__set_printf_count_output
 @ cdecl _set_purecall_handler(ptr)
 @ stub _set_se_translator
-@ stub _set_thread_local_invalid_parameter_handler
+@ cdecl _set_thread_local_invalid_parameter_handler(ptr)
 @ cdecl _seterrormode(long)
 @ cdecl -arch=i386 -norelay _setjmp3(ptr long) MSVCRT__setjmp3
 @ cdecl _setmaxstdio(long) MSVCRT__setmaxstdio
-- 
2.8.3




More information about the wine-patches mailing list