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

commit d53991895d6753dcdd3788807c02b6d2f4c0b113
Author:     Hermès Bélusca-Maïto <[email protected]>
AuthorDate: Wed Aug 8 21:37:22 2018 +0200
Commit:     Hermès Bélusca-Maïto <[email protected]>
CommitDate: Wed Aug 8 21:37:22 2018 +0200

    [BOOTLIB] Fix the implementation of RtlAssert() ('Message' can be NULL, and 
fix the printing of ANSI string). Fix also the implementation of DbgPrint().
---
 boot/environ/lib/misc/rtlcompat.c | 25 +++++++++++++++++++------
 1 file changed, 19 insertions(+), 6 deletions(-)

diff --git a/boot/environ/lib/misc/rtlcompat.c 
b/boot/environ/lib/misc/rtlcompat.c
index 06ebf7e35d..6f0c7bf7c0 100644
--- a/boot/environ/lib/misc/rtlcompat.c
+++ b/boot/environ/lib/misc/rtlcompat.c
@@ -72,11 +72,24 @@ RtlAssert (
     IN PCHAR Message OPTIONAL
     )
 {
-    EfiPrintf(L"*** ASSERTION %s FAILED AT %d in %s (%s) ***\r\n",
-              FailedAssertion,
-              LineNumber,
-              FileName,
-              Message);
+    if (Message != NULL)
+    {
+        EfiPrintf(L"*** ASSERTION \'%S\' FAILED AT line %lu in %S (%S) 
***\r\n",
+                  (PCHAR)FailedAssertion,
+                  LineNumber,
+                  (PCHAR)FileName,
+                  Message);
+    }
+    else
+    {
+        EfiPrintf(L"*** ASSERTION \'%S\' FAILED AT line %lu in %S ***\r\n",
+                  (PCHAR)FailedAssertion,
+                  LineNumber,
+                  (PCHAR)FileName);
+    }
+
+    /* Issue a breakpoint */
+    __debugbreak();
 }
 
 ULONG
@@ -85,7 +98,7 @@ DbgPrint (
     ...
     )
 {
-    EfiPrintf(L"%s\r\n", Format);
+    EfiPrintf(L"%S\r\n", Format);
     return 0;
 }
 

Reply via email to