From e7fe49961ab6d2d08e072775eb7c2d3be5d8a5ca Mon Sep 17 00:00:00 2001 From: AJFISH Date: Sat, 1 Sep 2007 15:56:49 +0000 Subject: [PATCH] =?utf8?q?Fixed=20problem=20with=20sign=20extension=20in?= =?utf8?q?=20print=20lib.=20PrintXY=20could=20not=20print=20out=20French?= =?utf8?q?=20characters=20like=20=C3=A9.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3761 6f19259b-4bc3-4df7-8a09-765794883524 --- MdePkg/Library/BasePrintLib/PrintLib.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/MdePkg/Library/BasePrintLib/PrintLib.c b/MdePkg/Library/BasePrintLib/PrintLib.c index 80408a5ba5..145ca3494a 100644 --- a/MdePkg/Library/BasePrintLib/PrintLib.c +++ b/MdePkg/Library/BasePrintLib/PrintLib.c @@ -154,7 +154,7 @@ BasePrintLibVSPrint ( // // Get the first character from the format string // - FormatCharacter = (*Format | (*(Format + 1) << 8)) & FormatMask; + FormatCharacter = ((*Format & 0xff) | (*(Format + 1) << 8)) & FormatMask; // // Loop until the end of the format string is reached or the output buffer is full @@ -183,7 +183,7 @@ BasePrintLibVSPrint ( // for (Done = FALSE; !Done; ) { Format += BytesPerFormatCharacter; - FormatCharacter = (*Format | (*(Format + 1) << 8)) & FormatMask; + FormatCharacter = ((*Format & 0xff) | (*(Format + 1) << 8)) & FormatMask; switch (FormatCharacter) { case '.': Flags |= PRECISION; @@ -228,7 +228,7 @@ BasePrintLibVSPrint ( for (Count = 0; ((FormatCharacter >= '0') && (FormatCharacter <= '9')); ){ Count = (Count * 10) + FormatCharacter - '0'; Format += BytesPerFormatCharacter; - FormatCharacter = (*Format | (*(Format + 1) << 8)) & FormatMask; + FormatCharacter = ((*Format & 0xff) | (*(Format + 1) << 8)) & FormatMask; } Format -= BytesPerFormatCharacter; if ((Flags & PRECISION) == 0) { @@ -548,7 +548,7 @@ BasePrintLibVSPrint ( // // Get the next character from the format string // - FormatCharacter = (*Format | (*(Format + 1) << 8)) & FormatMask; + FormatCharacter = ((*Format & 0xff) | (*(Format + 1) << 8)) & FormatMask; } // -- 2.39.2