]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Library/DxePrintLibPrint2Protocol/PrintLib.c
1) Add type cast for better coding style.
[mirror_edk2.git] / MdeModulePkg / Library / DxePrintLibPrint2Protocol / PrintLib.c
index a239dee2cceaf9a533255a9faf1e28a5eae46293..caff0409993091f36ac46c80dea10f711aa30225 100644 (file)
@@ -6,7 +6,7 @@
   protocol related to this implementation, not in the public spec. So, this \r
   library instance is only for this code base.\r
 \r
-Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>\r
 This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
 which accompanies this distribution.  The full text of the license may be found at\r
@@ -24,7 +24,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #include <Library/PrintLib.h>\r
 \r
 #include <Library/BaseLib.h>\r
-#include <Library/UefiBootServicesTableLib.h>\r
 #include <Library/DebugLib.h>\r
 \r
 EFI_PRINT2_PROTOCOL  *mPrint2Protocol = NULL;\r
@@ -50,11 +49,11 @@ PrintLibConstructor (
 {\r
   EFI_STATUS                   Status;\r
 \r
-  Status = gBS->LocateProtocol (\r
-                  &gEfiPrint2ProtocolGuid,\r
-                  NULL,\r
-                  (VOID**) &mPrint2Protocol\r
-                  );\r
+  Status = SystemTable->BootServices->LocateProtocol (\r
+                                        &gEfiPrint2ProtocolGuid,\r
+                                        NULL,\r
+                                        (VOID**) &mPrint2Protocol\r
+                                        );\r
   ASSERT_EFI_ERROR (Status);\r
   ASSERT (mPrint2Protocol != NULL);\r
 \r
@@ -367,9 +366,12 @@ UnicodeSPrint (
   )\r
 {\r
   VA_LIST Marker;\r
+  UINTN   NumberOfPrinted;\r
 \r
   VA_START (Marker, FormatString);\r
-  return UnicodeVSPrint (StartOfBuffer, BufferSize, FormatString, Marker);\r
+  NumberOfPrinted = UnicodeVSPrint (StartOfBuffer, BufferSize, FormatString, Marker);\r
+  VA_END (Marker);\r
+  return NumberOfPrinted;\r
 }\r
 \r
 /**\r
@@ -516,9 +518,12 @@ UnicodeSPrintAsciiFormat (
   )\r
 {\r
   VA_LIST Marker;\r
+  UINTN   NumberOfPrinted;\r
 \r
   VA_START (Marker, FormatString);\r
-  return UnicodeVSPrintAsciiFormat (StartOfBuffer, BufferSize, FormatString, Marker);\r
+  NumberOfPrinted = UnicodeVSPrintAsciiFormat (StartOfBuffer, BufferSize, FormatString, Marker);\r
+  VA_END (Marker);\r
+  return NumberOfPrinted;\r
 }\r
 \r
 /**\r
@@ -715,9 +720,12 @@ AsciiSPrint (
   )\r
 {\r
   VA_LIST Marker;\r
+  UINTN   NumberOfPrinted;\r
 \r
   VA_START (Marker, FormatString);\r
-  return AsciiVSPrint (StartOfBuffer, BufferSize, FormatString, Marker);\r
+  NumberOfPrinted = AsciiVSPrint (StartOfBuffer, BufferSize, FormatString, Marker);\r
+  VA_END (Marker);\r
+  return NumberOfPrinted;\r
 }\r
 \r
 /**\r
@@ -864,9 +872,12 @@ AsciiSPrintUnicodeFormat (
   )\r
 {\r
   VA_LIST Marker;\r
+  UINTN   NumberOfPrinted;\r
 \r
   VA_START (Marker, FormatString);\r
-  return AsciiVSPrintUnicodeFormat (StartOfBuffer, BufferSize, FormatString, Marker);\r
+  NumberOfPrinted = AsciiVSPrintUnicodeFormat (StartOfBuffer, BufferSize, FormatString, Marker);\r
+  VA_END (Marker);\r
+  return NumberOfPrinted;\r
 }\r
 \r
 \r
@@ -1057,9 +1068,12 @@ InternalPrintLibSPrint (
   )\r
 {\r
   VA_LIST  Marker;\r
+  UINTN    NumberOfPrinted;\r
 \r
   VA_START (Marker, FormatString);\r
-  return InternalPrintLibSPrintMarker (StartOfBuffer, BufferSize, Flags, FormatString, Marker, NULL);\r
+  NumberOfPrinted = InternalPrintLibSPrintMarker (StartOfBuffer, BufferSize, Flags, FormatString, Marker, NULL);\r
+  VA_END (Marker);\r
+  return NumberOfPrinted;\r
 }\r
 \r
 #define WARNING_STATUS_NUMBER         4\r
@@ -1135,7 +1149,6 @@ InternalPrintLibSPrintMarker (
   IN  BASE_LIST    BaseListMarker  OPTIONAL\r
   )\r
 {\r
-  CHAR8             *OriginalBuffer;\r
   CHAR8             *EndBuffer;\r
   CHAR8             ValueBuffer[MAXIMUM_VALUE_CHARACTERS];\r
   UINT32            BytesPerOutputCharacter;\r
@@ -1164,7 +1177,7 @@ InternalPrintLibSPrintMarker (
   UINT32            GuidData1;\r
   UINT16            GuidData2;\r
   UINT16            GuidData3;\r
-  UINT32            LengthToReturn;\r
+  UINT            LengthToReturn;\r
 \r
   //\r
   // If you change this code be sure to match the 2 versions of this function.\r
@@ -1174,7 +1187,7 @@ InternalPrintLibSPrintMarker (
 \r
   ASSERT(Flags & COUNT_ONLY_NO_PRINT);\r
 \r
-  if (Flags & OUTPUT_UNICODE) {\r
+  if ((Flags & OUTPUT_UNICODE) != 0) {\r
     BytesPerOutputCharacter = 2;\r
   } else {\r
     BytesPerOutputCharacter = 1;\r
@@ -1186,7 +1199,6 @@ InternalPrintLibSPrintMarker (
   // Reserve space for the Null terminator.\r
   //\r
   BufferSize--;\r
-  OriginalBuffer = Buffer;\r
 \r
   //\r
   // Set the tag for the end of the input Buffer.\r
@@ -1223,7 +1235,7 @@ InternalPrintLibSPrintMarker (
     //\r
     // Clear all the flag bits except those that may have been passed in\r
     //\r
-    Flags &= (OUTPUT_UNICODE | FORMAT_UNICODE | COUNT_ONLY_NO_PRINT);\r
+    Flags &= (UINTN)(OUTPUT_UNICODE | FORMAT_UNICODE | COUNT_ONLY_NO_PRINT);\r
 \r
     //\r
     // Set the default width to zero, and the default precision to 1\r
@@ -1331,7 +1343,7 @@ InternalPrintLibSPrintMarker (
         //\r
         // Flag space, +, 0, L & l are invalid for type p.\r
         //\r
-        Flags &= ~(PREFIX_BLANK | PREFIX_SIGN | PREFIX_ZERO | LONG_TYPE);\r
+        Flags &= ~(UINTN)(PREFIX_BLANK | PREFIX_SIGN | PREFIX_ZERO | LONG_TYPE);\r
         if (sizeof (VOID *) > 4) {\r
           Flags |= LONG_TYPE;\r
         }\r
@@ -1379,7 +1391,7 @@ InternalPrintLibSPrintMarker (
         if ((Flags & RADIX_HEX) == 0) {\r
           Radix = 10;\r
           if (Comma) {\r
-            Flags &= (~PREFIX_ZERO);\r
+            Flags &= (~(UINTN)PREFIX_ZERO);\r
             Precision = 1;\r
           }\r
           if (Value < 0) {\r
@@ -1448,7 +1460,7 @@ InternalPrintLibSPrintMarker (
           ArgumentString = BASE_ARG (BaseListMarker, CHAR8 *);\r
         }\r
         if (ArgumentString == NULL) {\r
-          Flags &= (~ARGUMENT_UNICODE);\r
+          Flags &= (~(UINTN)ARGUMENT_UNICODE);\r
           ArgumentString = "<null string>";\r
         }\r
         //\r
@@ -1660,38 +1672,18 @@ InternalPrintLibSPrintMarker (
     // Pad before the string\r
     //\r
     if ((Flags & (PAD_TO_WIDTH | LEFT_JUSTIFY)) == (PAD_TO_WIDTH)) {\r
-      if (Flags & COUNT_ONLY_NO_PRINT) {\r
-        LengthToReturn += ((Width - Precision) * BytesPerOutputCharacter);\r
-      } else {\r
-//        Buffer = BasePrintLibFillBuffer (Buffer, EndBuffer, Width - Precision, ' ', BytesPerOutputCharacter);\r
-      }\r
+      LengthToReturn += ((Width - Precision) * BytesPerOutputCharacter);\r
     }\r
 \r
     if (ZeroPad) {\r
       if (Prefix != 0) {\r
-        if (Flags & COUNT_ONLY_NO_PRINT) {\r
-          LengthToReturn += (1 * BytesPerOutputCharacter);\r
-        } else {\r
-//          Buffer = BasePrintLibFillBuffer (Buffer, EndBuffer, 1, Prefix, BytesPerOutputCharacter);\r
-        }\r
-      }\r
-      if (Flags & COUNT_ONLY_NO_PRINT) {\r
-        LengthToReturn += ((Precision - Count) * BytesPerOutputCharacter);\r
-      } else {\r
-//        Buffer = BasePrintLibFillBuffer (Buffer, EndBuffer, Precision - Count, '0', BytesPerOutputCharacter);\r
+        LengthToReturn += (1 * BytesPerOutputCharacter);\r
       }\r
+      LengthToReturn += ((Precision - Count) * BytesPerOutputCharacter);\r
     } else {\r
-      if (Flags & COUNT_ONLY_NO_PRINT) {\r
-        LengthToReturn += ((Precision - Count) * BytesPerOutputCharacter);\r
-      } else {\r
-//        Buffer = BasePrintLibFillBuffer (Buffer, EndBuffer, Precision - Count, ' ', BytesPerOutputCharacter);\r
-      }\r
+      LengthToReturn += ((Precision - Count) * BytesPerOutputCharacter);\r
       if (Prefix != 0) {\r
-        if (Flags & COUNT_ONLY_NO_PRINT) {\r
-          LengthToReturn += (1 * BytesPerOutputCharacter);\r
-        } else {\r
-//          Buffer = BasePrintLibFillBuffer (Buffer, EndBuffer, 1, Prefix, BytesPerOutputCharacter);\r
-        }\r
+        LengthToReturn += (1 * BytesPerOutputCharacter);\r
       }\r
     }\r
 \r
@@ -1709,11 +1701,7 @@ InternalPrintLibSPrintMarker (
     while (Index < Count) {\r
       ArgumentCharacter = ((*ArgumentString & 0xff) | (*(ArgumentString + 1) << 8)) & ArgumentMask;\r
 \r
-      if (Flags & COUNT_ONLY_NO_PRINT) {\r
-        LengthToReturn += (1 * BytesPerOutputCharacter);\r
-      } else {\r
-//        Buffer = BasePrintLibFillBuffer (Buffer, EndBuffer, 1, ArgumentCharacter, BytesPerOutputCharacter);\r
-      }\r
+      LengthToReturn += (1 * BytesPerOutputCharacter);\r
       ArgumentString    += BytesPerArgumentCharacter;\r
       Index++;\r
       if (Comma) {\r
@@ -1722,11 +1710,7 @@ InternalPrintLibSPrintMarker (
           Digits = 0;\r
           Index++;\r
           if (Index < Count) {\r
-            if (Flags & COUNT_ONLY_NO_PRINT) {\r
-              LengthToReturn += (1 * BytesPerOutputCharacter);\r
-            } else {\r
-//              Buffer = BasePrintLibFillBuffer (Buffer, EndBuffer, 1, ',', BytesPerOutputCharacter);\r
-            }\r
+            LengthToReturn += (1 * BytesPerOutputCharacter);\r
           }\r
         }\r
       }\r
@@ -1736,11 +1720,7 @@ InternalPrintLibSPrintMarker (
     // Pad after the string\r
     //\r
     if ((Flags & (PAD_TO_WIDTH | LEFT_JUSTIFY)) == (PAD_TO_WIDTH | LEFT_JUSTIFY)) {\r
-      if (Flags & COUNT_ONLY_NO_PRINT) {\r
-        LengthToReturn += ((Width - Precision) * BytesPerOutputCharacter);\r
-      } else {\r
-//        Buffer = BasePrintLibFillBuffer (Buffer, EndBuffer, Width - Precision, ' ', BytesPerOutputCharacter);\r
-      }\r
+      LengthToReturn += ((Width - Precision) * BytesPerOutputCharacter);\r
     }\r
 \r
     //\r