]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/BaseLib/String.c
Make MDE package pass intel IPF compiler with /W4 /WX switched on.
[mirror_edk2.git] / MdePkg / Library / BaseLib / String.c
index 2ac32254fcc8a070c076dcbbb7f7c2baabb5584e..7db468aee55dc79c251f80aeb8cff2009cf39663 100644 (file)
@@ -636,7 +636,7 @@ AsciiToUpper (
   IN      CHAR8                     Chr\r
   )\r
 {\r
-  return (Chr >= 'a' && Chr <= 'z') ? Chr - ('a' - 'A') : Chr;\r
+  return (UINT8) ((Chr >= 'a' && Chr <= 'z') ? Chr - ('a' - 'A') : Chr);\r
 }\r
 \r
 /**\r
@@ -675,19 +675,25 @@ AsciiStriCmp (
   IN      CONST CHAR8               *SecondString\r
   )\r
 {\r
+  CHAR8  UpperFirstString;\r
+  CHAR8  UpperSecondString;\r
+\r
   //\r
   // ASSERT both strings are less long than PcdMaximumAsciiStringLength\r
   //\r
   ASSERT (AsciiStrSize (FirstString));\r
   ASSERT (AsciiStrSize (SecondString));\r
 \r
-  while ((*FirstString != '\0') &&\r
-         (AsciiToUpper (*FirstString) == AsciiToUpper (*SecondString))) {\r
+  UpperFirstString  = AsciiToUpper (*FirstString);\r
+  UpperSecondString = AsciiToUpper (*SecondString);\r
+  while ((*FirstString != '\0') && (UpperFirstString == UpperSecondString)) {\r
     FirstString++;\r
     SecondString++;\r
+    UpperFirstString  = AsciiToUpper (*FirstString);\r
+    UpperSecondString = AsciiToUpper (*SecondString);\r
   }\r
 \r
-  return AsciiToUpper (*FirstString) - AsciiToUpper (*SecondString);\r
+  return UpperFirstString - UpperSecondString;\r
 }\r
 \r
 /**\r
@@ -861,7 +867,7 @@ DecimalToBcd8 (
   )\r
 {\r
   ASSERT (Value < 100);\r
-  return ((Value / 10) << 4) | (Value % 10);\r
+  return (UINT8) (((Value / 10) << 4) | (Value % 10));\r
 }\r
 \r
 /**\r
@@ -886,5 +892,5 @@ BcdToDecimal8 (
 {\r
   ASSERT (Value < 0xa0);\r
   ASSERT ((Value & 0xf) < 0xa);\r
-  return (Value >> 4) * 10 + (Value & 0xf);\r
+  return (UINT8) ((Value >> 4) * 10 + (Value & 0xf));\r
 }\r