Module: wine Branch: stable Commit: f6c599d507717cee05ad0dc2df42a0f69712c75d URL: https://source.winehq.org/git/wine.git/?a=commit;h=f6c599d507717cee05ad0dc2d...
Author: Piotr Caban piotr@codeweavers.com Date: Mon Mar 19 17:43:57 2018 +0100
ucrtbase: Add __current_exception() implementation.
Signed-off-by: Piotr Caban piotr@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org (cherry picked from commit ae5d0b22291d866a49f293e782b43ba025ab77ec) Signed-off-by: Michael Stefaniuc mstefani@winehq.org
---
.../api-ms-win-crt-private-l1-1-0.spec | 2 +- dlls/msvcrt/except.c | 9 +++++++++ dlls/ucrtbase/ucrtbase.spec | 2 +- dlls/vcruntime140/vcruntime140.spec | 2 +- 4 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec b/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec index 5e67f92..61bd326 100644 --- a/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec +++ b/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec @@ -33,7 +33,7 @@ @ cdecl __RTDynamicCast(ptr long ptr ptr long) ucrtbase.__RTDynamicCast @ cdecl __RTtypeid(ptr) ucrtbase.__RTtypeid @ stub __TypeMatch -@ stub __current_exception +@ cdecl __current_exception() ucrtbase.__current_exception @ stub __current_exception_context @ stub __dcrt_get_wide_environment_from_os @ stub __dcrt_initial_narrow_environment diff --git a/dlls/msvcrt/except.c b/dlls/msvcrt/except.c index 13698f8..3378283 100644 --- a/dlls/msvcrt/except.c +++ b/dlls/msvcrt/except.c @@ -508,4 +508,13 @@ void CDECL MSVCRT___std_exception_destroy(struct __std_exception_data *data) data->dofree = 0; }
+/********************************************************************* + * __current_exception (UCRTBASE.@) + */ +void** CDECL __current_exception(void) +{ + TRACE("()\n"); + return (void**)&msvcrt_get_thread_data()->exc_record; +} + #endif /* _MSVCR_VER>=140 */ diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec index b142a17..0d56715 100644 --- a/dlls/ucrtbase/ucrtbase.spec +++ b/dlls/ucrtbase/ucrtbase.spec @@ -82,7 +82,7 @@ @ stub __conio_common_vcwprintf_s @ stub __conio_common_vcwscanf @ cdecl -arch=i386 __control87_2(long long ptr ptr) -@ stub __current_exception +@ cdecl __current_exception() @ stub __current_exception_context @ cdecl __daylight() MSVCRT___p__daylight @ stub __dcrt_get_wide_environment_from_os diff --git a/dlls/vcruntime140/vcruntime140.spec b/dlls/vcruntime140/vcruntime140.spec index b2d11bc..5efd1a4 100644 --- a/dlls/vcruntime140/vcruntime140.spec +++ b/dlls/vcruntime140/vcruntime140.spec @@ -30,7 +30,7 @@ @ cdecl __RTDynamicCast(ptr long ptr ptr long) ucrtbase.__RTDynamicCast @ cdecl __RTtypeid(ptr) ucrtbase.__RTtypeid @ stub __TypeMatch -@ stub __current_exception +@ cdecl __current_exception() ucrtbase.__current_exception @ stub __current_exception_context @ cdecl -arch=i386,x86_64,arm,arm64 -norelay __intrinsic_setjmp(ptr) ucrtbase.__intrinsic_setjmp @ stub __intrinsic_setjmpex