From: Michael Kinney Date: Thu, 27 Oct 2016 03:13:27 +0000 (-0700) Subject: MdeModulePkg/TerminalDxe: Fix IA32 VS2015x86 build break X-Git-Tag: edk2-stable201903~5426 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=d1b757e2cd034e32676c5cc2d542f785e74f8c5d;hp=bb47667aa726cf86634f6ccbb445d080994f9e22 MdeModulePkg/TerminalDxe: Fix IA32 VS2015x86 build break https://bugzilla.tianocore.org/show_bug.cgi?id=190 The issue is with signed/unsigned comparisons between Mode->CursorRow and Row and Mode->CursorColumn and Column. The fix is to add typecast to UINTN for comparisons. Cc: Feng Tian Cc: Star Zeng Cc: Brian Johnson Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Michael Kinney Reviewed-by: Brian Johnson --- diff --git a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c index e9b5ed07cf..9625f4d518 100644 --- a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c +++ b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c @@ -790,13 +790,13 @@ TerminalConOutSetCursorPosition ( // it isn't necessary. // if (TerminalDevice->TerminalType == TTYTERMTYPE && - Mode->CursorRow == Row) { - if (Mode->CursorColumn > Column) { + (UINTN)Mode->CursorRow == Row) { + if ((UINTN)Mode->CursorColumn > Column) { mCursorBackwardString[FW_BACK_OFFSET + 0] = (CHAR16) ('0' + ((Mode->CursorColumn - Column) / 10)); mCursorBackwardString[FW_BACK_OFFSET + 1] = (CHAR16) ('0' + ((Mode->CursorColumn - Column) % 10)); String = mCursorBackwardString; } - else if (Column > Mode->CursorColumn) { + else if (Column > (UINTN)Mode->CursorColumn) { mCursorForwardString[FW_BACK_OFFSET + 0] = (CHAR16) ('0' + ((Column - Mode->CursorColumn) / 10)); mCursorForwardString[FW_BACK_OFFSET + 1] = (CHAR16) ('0' + ((Column - Mode->CursorColumn) % 10)); String = mCursorForwardString;