]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/BasePrintLib/PrintLibInternal.c
1.BaseMemoryLibMmx: Add X64 Cpu Arch support.
[mirror_edk2.git] / MdePkg / Library / BasePrintLib / PrintLibInternal.c
index 06c220692e1ea6d88b147352a6128abca1948987..30b4539141d5bc5dbfc22f8cc919a8db2cf82ca1 100644 (file)
@@ -117,7 +117,7 @@ BasePrintLibValueToString (
   @param  Flags     The bitmask of flags that specify left justification, zero pad,\r
                     and commas.\r
   @param  Value     The 64-bit signed value to convert to a string.\r
-  @param  Width            The maximum number of characters to place in Buffer.\r
+  @param  Width      The maximum number of characters to place in Buffer.\r
   @param  Increment Character increment in Buffer.\r
   \r
   @return Total number of characters required to perform the conversion.\r
@@ -158,6 +158,7 @@ BasePrintLibConvertValueToString (
   if (Value < 0) {\r
     Value = -Value;\r
     Buffer = BasePrintLibFillBuffer (Buffer, 1, '-', Increment);\r
+    Width--;\r
   }\r
 \r
   Count = BasePrintLibValueToString (ValueBuffer, Value, 10);\r
@@ -166,7 +167,10 @@ BasePrintLibConvertValueToString (
     Buffer = BasePrintLibFillBuffer (Buffer, Width - Count, '0', Increment);\r
   }\r
 \r
-  Digits = 3 - (Count % 3);\r
+  Digits = Count % 3;\r
+  if (Digits != 0) {\r
+    Digits = 3 - Digits;\r
+  }\r
   for (Index = 0; Index < Count; Index++) {\r
     Buffer = BasePrintLibFillBuffer (Buffer, 1, ValueBuffer[Count - Index], Increment);\r
     if ((Flags & COMMA_TYPE) != 0) {\r