https://git.reactos.org/?p=reactos.git;a=commitdiff;h=b58c3d73ca71f0b9c38e1006ac40cf588cd560a7

commit b58c3d73ca71f0b9c38e1006ac40cf588cd560a7
Author:     Mark Jansen <[email protected]>
AuthorDate: Sat May 22 16:33:19 2021 +0200
Commit:     Mark Jansen <[email protected]>
CommitDate: Sat May 22 16:33:19 2021 +0200

    [RTL][KERNEL32] Move the STUB printing code to a place where it's actually 
called
---
 dll/win32/kernel32/client/except.c | 18 +++++++-----------
 sdk/lib/rtl/exception.c            |  7 +++++++
 2 files changed, 14 insertions(+), 11 deletions(-)

diff --git a/dll/win32/kernel32/client/except.c 
b/dll/win32/kernel32/client/except.c
index 36fab314f49..38ac16fb8c3 100644
--- a/dll/win32/kernel32/client/except.c
+++ b/dll/win32/kernel32/client/except.c
@@ -107,6 +107,13 @@ PrintStackTrace(IN PEXCEPTION_POINTERS ExceptionInfo)
         DbgPrint("Faulting Address: %8x\n", 
ExceptionRecord->ExceptionInformation[1]);
     }
 
+    /* Trace the wine special error and show the modulename and functionname */
+    if (ExceptionRecord->ExceptionCode == 0x80000100 /* EXCEPTION_WINE_STUB */ 
&&
+        ExceptionRecord->NumberParameters == 2)
+    {
+        DbgPrint("Missing function: %s!%s\n", 
(PSZ)ExceptionRecord->ExceptionInformation[0], 
(PSZ)ExceptionRecord->ExceptionInformation[1]);
+    }
+
     _dump_context(ContextRecord);
     _module_name_from_addr(ExceptionRecord->ExceptionAddress, &StartAddr, 
szMod, sizeof(szMod), &szModFile);
     DbgPrint("Address:\n<%s:%x> (%s@%x)\n",
@@ -730,17 +737,6 @@ RaiseException(IN DWORD dwExceptionCode,
         DPRINT1("Exception text: %lx\n", 
ExceptionRecord.ExceptionInformation[2]);
     }
 
-    /* Trace the wine special error and show the modulename and functionname */
-    if (dwExceptionCode == 0x80000100 /* EXCEPTION_WINE_STUB */)
-    {
-        /* Numbers of parameter must be equal to two */
-        if (ExceptionRecord.NumberParameters == 2)
-        {
-            DPRINT1("Missing function in   : %s\n", 
ExceptionRecord.ExceptionInformation[0]);
-            DPRINT1("with the functionname : %s\n", 
ExceptionRecord.ExceptionInformation[1]);
-        }
-    }
-
     /* Raise the exception */
     RtlRaiseException(&ExceptionRecord);
 }
diff --git a/sdk/lib/rtl/exception.c b/sdk/lib/rtl/exception.c
index 0abbcc53055..e90b28fac46 100644
--- a/sdk/lib/rtl/exception.c
+++ b/sdk/lib/rtl/exception.c
@@ -251,6 +251,13 @@ static VOID
         DbgPrint("Faulting Address: %8x\n", 
ExceptionRecord->ExceptionInformation[1]);
     }
 
+    /* Trace the wine special error and show the modulename and functionname */
+    if (ExceptionRecord->ExceptionCode == 0x80000100 /* EXCEPTION_WINE_STUB */ 
&&
+        ExceptionRecord->NumberParameters == 2)
+    {
+        DbgPrint("Missing function: %s!%s\n", 
(PSZ)ExceptionRecord->ExceptionInformation[0], 
(PSZ)ExceptionRecord->ExceptionInformation[1]);
+    }
+
     _dump_context(ContextRecord);
     _module_name_from_addr(ExceptionRecord->ExceptionAddress, &StartAddr, 
szMod, sizeof(szMod));
     DbgPrint("Address:\n   %8x+%-8x   %s\n",

Reply via email to