summaryrefslogtreecommitdiff
path: root/MdePkg/Library/BasePrintLib/PrintLibInternal.c
diff options
context:
space:
mode:
Diffstat (limited to 'MdePkg/Library/BasePrintLib/PrintLibInternal.c')
-rw-r--r--MdePkg/Library/BasePrintLib/PrintLibInternal.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/MdePkg/Library/BasePrintLib/PrintLibInternal.c b/MdePkg/Library/BasePrintLib/PrintLibInternal.c
index 9314b60911..30b4539141 100644
--- a/MdePkg/Library/BasePrintLib/PrintLibInternal.c
+++ b/MdePkg/Library/BasePrintLib/PrintLibInternal.c
@@ -158,6 +158,7 @@ BasePrintLibConvertValueToString (
if (Value < 0) {
Value = -Value;
Buffer = BasePrintLibFillBuffer (Buffer, 1, '-', Increment);
+ Width--;
}
Count = BasePrintLibValueToString (ValueBuffer, Value, 10);
@@ -166,7 +167,10 @@ BasePrintLibConvertValueToString (
Buffer = BasePrintLibFillBuffer (Buffer, Width - Count, '0', Increment);
}
- Digits = 3 - (Count % 3);
+ Digits = Count % 3;
+ if (Digits != 0) {
+ Digits = 3 - Digits;
+ }
for (Index = 0; Index < Count; Index++) {
Buffer = BasePrintLibFillBuffer (Buffer, 1, ValueBuffer[Count - Index], Increment);
if ((Flags & COMMA_TYPE) != 0) {