From 457cfbaebcd7998264fed876e8c1872408e37242 Mon Sep 17 00:00:00 2001 From: qwang12 Date: Thu, 20 Sep 2007 06:40:26 +0000 Subject: [PATCH] Fix a bug to print correct message to ConOut and StdErr as they accept unicode string while DEBUG messages are all in Ascii git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3897 6f19259b-4bc3-4df7-8a09-765794883524 --- MdePkg/Library/UefiDebugLibConOut/DebugLib.c | 9 +++++++-- MdePkg/Library/UefiDebugLibStdErr/DebugLib.c | 8 ++++++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/MdePkg/Library/UefiDebugLibConOut/DebugLib.c b/MdePkg/Library/UefiDebugLibConOut/DebugLib.c index 3cf31bd8a9..ff4de53729 100644 --- a/MdePkg/Library/UefiDebugLibConOut/DebugLib.c +++ b/MdePkg/Library/UefiDebugLibConOut/DebugLib.c @@ -53,6 +53,7 @@ DebugPrint ( ) { CHAR16 Buffer[MAX_DEBUG_MESSAGE_LENGTH]; + CHAR8 AsciiBuffer[MAX_DEBUG_MESSAGE_LENGTH]; VA_LIST Marker; // @@ -71,9 +72,11 @@ DebugPrint ( // Convert the DEBUG() message to a Unicode String // VA_START (Marker, Format); - UnicodeVSPrintAsciiFormat (Buffer, sizeof (Buffer), Format, Marker); + AsciiVSPrint (AsciiBuffer, sizeof (AsciiBuffer), Format, Marker); + AsciiStrToUnicodeStr (AsciiBuffer, Buffer); VA_END (Marker); + // // Send the print string to the Console Output device // @@ -115,11 +118,13 @@ DebugAssert ( ) { CHAR16 Buffer[MAX_DEBUG_MESSAGE_LENGTH]; + CHAR8 AsciiBuffer[MAX_DEBUG_MESSAGE_LENGTH]; // // Generate the ASSERT() message in Unicode format // - UnicodeSPrintAsciiFormat (Buffer, sizeof (Buffer), "ASSERT %s(%d): %s\n", FileName, LineNumber, Description); + AsciiSPrint (AsciiBuffer, sizeof (AsciiBuffer), "ASSERT %a(%d): %a\n", FileName, LineNumber, Description); + AsciiStrToUnicodeStr (AsciiBuffer, Buffer); // // Send the print string to the Console Output device diff --git a/MdePkg/Library/UefiDebugLibStdErr/DebugLib.c b/MdePkg/Library/UefiDebugLibStdErr/DebugLib.c index 84ba61175f..50bb2bc50e 100644 --- a/MdePkg/Library/UefiDebugLibStdErr/DebugLib.c +++ b/MdePkg/Library/UefiDebugLibStdErr/DebugLib.c @@ -52,6 +52,7 @@ DebugPrint ( ) { CHAR16 Buffer[MAX_DEBUG_MESSAGE_LENGTH]; + CHAR8 AsciiBuffer[MAX_DEBUG_MESSAGE_LENGTH]; VA_LIST Marker; // @@ -70,7 +71,8 @@ DebugPrint ( // Convert the DEBUG() message to a Unicode String // VA_START (Marker, Format); - UnicodeVSPrintAsciiFormat (Buffer, sizeof (Buffer), Format, Marker); + AsciiVSPrint (AsciiBuffer, sizeof (AsciiBuffer), Format, Marker); + AsciiStrToUnicodeStr (AsciiBuffer, Buffer); VA_END (Marker); // @@ -114,11 +116,13 @@ DebugAssert ( ) { CHAR16 Buffer[MAX_DEBUG_MESSAGE_LENGTH]; + CHAR8 AsciiBuffer[MAX_DEBUG_MESSAGE_LENGTH]; // // Generate the ASSERT() message in Unicode format // - UnicodeSPrintAsciiFormat (Buffer, sizeof (Buffer), "ASSERT %s(%d): %s\n", FileName, LineNumber, Description); + AsciiSPrint (AsciiBuffer, sizeof (AsciiBuffer), "ASSERT %a(%d): %a\n", FileName, LineNumber, Description); + AsciiStrToUnicodeStr (AsciiBuffer, Buffer); // // Send the print string to the Standard Error device