Fix the bug for evaluate EFI_IFR_NOT_EQUAL_OP opcode, and the bug in using UnicodeSPr...
authorlgao4 <lgao4@de2fecce-e211-0410-80a6-f3fac2684e05>
Fri, 11 Dec 2009 11:01:50 +0000 (11:01 +0000)
committerlgao4 <lgao4@de2fecce-e211-0410-80a6-f3fac2684e05>
Fri, 11 Dec 2009 11:01:50 +0000 (11:01 +0000)
git-svn-id: https://edk2.tianocore.org/svn/edk2/trunk@9554 de2fecce-e211-0410-80a6-f3fac2684e05

edk2/MdeModulePkg/Universal/SetupBrowserDxe/Expression.c
edk2/MdeModulePkg/Universal/SetupBrowserDxe/InputHandler.c

index 508a805..4bb1950 100644 (file)
@@ -1941,7 +1941,7 @@ EvaluateExpression (
         break;\r
 \r
       case EFI_IFR_NOT_EQUAL_OP:\r
-        Value->Value.b = (BOOLEAN) ((Result == 0) ? TRUE : FALSE);\r
+        Value->Value.b = (BOOLEAN) ((Result != 0) ? TRUE : FALSE);\r
         break;\r
 \r
       case EFI_IFR_GREATER_EQUAL_OP:\r
index 3e7979f..8b72d8f 100644 (file)
@@ -455,12 +455,12 @@ TheKey2:
               //\r
               // Year\r
               //\r
-              UnicodeSPrint (FormattedNumber, 21 * sizeof (CHAR16), L"%04d", EditValue);\r
+              UnicodeSPrint (FormattedNumber, 21 * sizeof (CHAR16), L"%04d", (UINT16) EditValue);\r
             } else {\r
               //\r
               // Month/Day\r
               //\r
-              UnicodeSPrint (FormattedNumber, 21 * sizeof (CHAR16), L"%02d", EditValue);\r
+              UnicodeSPrint (FormattedNumber, 21 * sizeof (CHAR16), L"%02d", (UINT8) EditValue);\r
             }\r
 \r
             if (MenuOption->Sequence == 0) {\r
@@ -469,7 +469,7 @@ TheKey2:
               FormattedNumber[EraseLen - 1] = DATE_SEPARATOR;\r
             }\r
           } else if (Question->Operand == EFI_IFR_TIME_OP) {\r
-            UnicodeSPrint (FormattedNumber, 21 * sizeof (CHAR16), L"%02d", EditValue);\r
+            UnicodeSPrint (FormattedNumber, 21 * sizeof (CHAR16), L"%02d", (UINT8) EditValue);\r
 \r
             if (MenuOption->Sequence == 0) {\r
               FormattedNumber[EraseLen - 2] = TIME_SEPARATOR;\r