summaryrefslogtreecommitdiffstats
path: root/MdePkg/Library/BasePrintLib/PrintLibInternal.c
diff options
context:
space:
mode:
authorqhuang8 <qhuang8@6f19259b-4bc3-4df7-8a09-765794883524>2009-01-14 14:11:28 +0000
committerqhuang8 <qhuang8@6f19259b-4bc3-4df7-8a09-765794883524>2009-01-14 14:11:28 +0000
commitbcccf0b071386f25def10d6b088b1615b9505f11 (patch)
tree7802c791134f1962941806d1e028797955880505 /MdePkg/Library/BasePrintLib/PrintLibInternal.c
parent7646204cdbd71f11635f37dcaea34acbfb79c993 (diff)
downloadedk2-bcccf0b071386f25def10d6b088b1615b9505f11.tar.gz
edk2-bcccf0b071386f25def10d6b088b1615b9505f11.tar.bz2
edk2-bcccf0b071386f25def10d6b088b1615b9505f11.zip
Apply BaseMemoryLib to replace the for loop.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7278 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdePkg/Library/BasePrintLib/PrintLibInternal.c')
-rw-r--r--MdePkg/Library/BasePrintLib/PrintLibInternal.c23
1 files changed, 10 insertions, 13 deletions
diff --git a/MdePkg/Library/BasePrintLib/PrintLibInternal.c b/MdePkg/Library/BasePrintLib/PrintLibInternal.c
index 6f0f5e5438..3e1d5484a7 100644
--- a/MdePkg/Library/BasePrintLib/PrintLibInternal.c
+++ b/MdePkg/Library/BasePrintLib/PrintLibInternal.c
@@ -76,20 +76,17 @@ BasePrintLibFillBuffer (
IN INTN Increment
)
{
- INTN Index;
- if(Increment != 1) {
- for (Index = 0; Index < Length && Buffer < EndBuffer; Index++) {
- *Buffer = (CHAR8) Character;
- *(Buffer + 1) = (CHAR8) (Character >> 8);
- Buffer += Increment;
- }
+ UINTN FillBufferSize;
+
+ if(Increment == 1) {
+ FillBufferSize = MIN (Length, (EndBuffer - Buffer));
+ Buffer = SetMem (Buffer, FillBufferSize, (UINT8) Character);
} else {
- for (Index = 0; Index < Length && Buffer < EndBuffer; Index++) {
- *Buffer = (CHAR8) Character;
- Buffer += Increment;
- }
+ FillBufferSize = MIN (Length << 1, (EndBuffer - Buffer));
+ Buffer = SetMem16 (Buffer, FillBufferSize, (UINT16) Character);
}
- return Buffer;
+
+ return Buffer + FillBufferSize;
}
/**
@@ -98,7 +95,7 @@ BasePrintLibFillBuffer (
Print worker function that convert a decimal number to a string in Buffer.
@param Buffer Location to place the Unicode or ASCII string of Value.
- @param Value Value to convert to a Decimal or Hexidecimal string in Buffer.
+ @param Value Value to convert to a Decimal or Hexadecimal string in Buffer.
@param Radix Radix of the value
@return Number of characters printed.