]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkCompatibilityPkg/Foundation/Library/Dxe/Graphics/Print.c
EdkCompatabilityPkg: Fix build issues with X64 clang
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Library / Dxe / Graphics / Print.c
index 91f3aaffb5a9ab44c8999c7cfa3f626ab9f7db03..2c8dc73ae6b6ee31efe1be662961a16a47058fe5 100644 (file)
@@ -65,14 +65,6 @@ Abstract:
 #include EFI_PROTOCOL_DEFINITION (Hii)\r
 #endif\r
 \r
-STATIC\r
-CHAR_W                *\r
-GetFlagsAndWidth (\r
-  IN  CHAR_W      *Format,\r
-  OUT UINTN       *Flags,\r
-  OUT UINTN       *Width,\r
-  IN OUT  VA_LIST *Marker\r
-  );\r
 \r
 STATIC\r
 UINTN\r
@@ -552,6 +544,7 @@ Returns:
   UINTN     BufferLeft;\r
   UINT64    Value;\r
   EFI_GUID  *TmpGUID;\r
+  BOOLEAN   Done;\r
 \r
   //\r
   // Process the format string. Stop if Buffer is over run.\r
@@ -578,7 +571,64 @@ Returns:
       //\r
       // Now it's time to parse what follows after %\r
       //\r
-      Format = GetFlagsAndWidth (Format, &Flags, &Width, &Marker);\r
+      Flags  = 0;\r
+      Width  = 0;\r
+      for (Done = FALSE; !Done;) {\r
+        Format++;\r
+    \r
+        switch (*Format) {\r
+    \r
+        case '-':\r
+          Flags |= LEFT_JUSTIFY;\r
+          break;\r
+    \r
+        case '+':\r
+          Flags |= PREFIX_SIGN;\r
+          break;\r
+    \r
+        case ' ':\r
+          Flags |= PREFIX_BLANK;\r
+          break;\r
+    \r
+        case ',':\r
+          Flags |= COMMA_TYPE;\r
+          break;\r
+    \r
+        case 'L':\r
+        case 'l':\r
+          Flags |= LONG_TYPE;\r
+          break;\r
+    \r
+        case '*':\r
+          Width = VA_ARG (Marker, UINTN);\r
+          break;\r
+    \r
+        case '0':\r
+          Flags |= PREFIX_ZERO;\r
+    \r
+        case '1':\r
+        case '2':\r
+        case '3':\r
+        case '4':\r
+        case '5':\r
+        case '6':\r
+        case '7':\r
+        case '8':\r
+        case '9':\r
+          Count = 0;\r
+          do {\r
+            Count = (Count * 10) +*Format - '0';\r
+            Format++;\r
+          } while ((*Format >= '0') && (*Format <= '9'));\r
+          Format--;\r
+          Width = Count;\r
+          break;\r
+    \r
+        default:\r
+          Done = TRUE;\r
+        }\r
+      }\r
+\r
       switch (*Format) {\r
       case 'p':\r
         //\r
@@ -725,103 +775,6 @@ Returns:
   return &Buffer[Index] - StartOfBuffer;\r
 }\r
 \r
-STATIC\r
-CHAR_W *\r
-GetFlagsAndWidth (\r
-  IN  CHAR_W      *Format,\r
-  OUT UINTN       *Flags,\r
-  OUT UINTN       *Width,\r
-  IN OUT  VA_LIST *Marker\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  VSPrint worker function that parses flag and width information from the \r
-  Format string and returns the next index into the Format string that needs\r
-  to be parsed. See file headed for details of Flag and Width.\r
-\r
-Arguments:\r
-\r
-  Format - Current location in the VSPrint format string.\r
-\r
-  Flags  - Returns flags\r
-\r
-  Width  - Returns width of element\r
-\r
-  Marker - Vararg list that may be paritally consumed and returned.\r
-\r
-Returns: \r
-\r
-  Pointer indexed into the Format string for all the information parsed\r
-  by this routine.\r
-\r
---*/\r
-{\r
-  UINTN   Count;\r
-  BOOLEAN Done;\r
-\r
-  *Flags  = 0;\r
-  *Width  = 0;\r
-  for (Done = FALSE; !Done;) {\r
-    Format++;\r
-\r
-    switch (*Format) {\r
-\r
-    case '-':\r
-      *Flags |= LEFT_JUSTIFY;\r
-      break;\r
-\r
-    case '+':\r
-      *Flags |= PREFIX_SIGN;\r
-      break;\r
-\r
-    case ' ':\r
-      *Flags |= PREFIX_BLANK;\r
-      break;\r
-\r
-    case ',':\r
-      *Flags |= COMMA_TYPE;\r
-      break;\r
-\r
-    case 'L':\r
-    case 'l':\r
-      *Flags |= LONG_TYPE;\r
-      break;\r
-\r
-    case '*':\r
-      *Width = VA_ARG (*Marker, UINTN);\r
-      break;\r
-\r
-    case '0':\r
-      *Flags |= PREFIX_ZERO;\r
-\r
-    case '1':\r
-    case '2':\r
-    case '3':\r
-    case '4':\r
-    case '5':\r
-    case '6':\r
-    case '7':\r
-    case '8':\r
-    case '9':\r
-      Count = 0;\r
-      do {\r
-        Count = (Count * 10) +*Format - '0';\r
-        Format++;\r
-      } while ((*Format >= '0') && (*Format <= '9'));\r
-      Format--;\r
-      *Width = Count;\r
-      break;\r
-\r
-    default:\r
-      Done = TRUE;\r
-    }\r
-  }\r
-\r
-  return Format;\r
-}\r
-\r
 STATIC\r
 UINTN\r
 GuidToString (\r