summaryrefslogtreecommitdiff
path: root/MdePkg/Library/BaseLib
diff options
context:
space:
mode:
Diffstat (limited to 'MdePkg/Library/BaseLib')
-rw-r--r--MdePkg/Library/BaseLib/GetPowerOfTwo32.c9
-rw-r--r--MdePkg/Library/BaseLib/GetPowerOfTwo64.c7
2 files changed, 9 insertions, 7 deletions
diff --git a/MdePkg/Library/BaseLib/GetPowerOfTwo32.c b/MdePkg/Library/BaseLib/GetPowerOfTwo32.c
index dbf4ca6513..a639fd4a6d 100644
--- a/MdePkg/Library/BaseLib/GetPowerOfTwo32.c
+++ b/MdePkg/Library/BaseLib/GetPowerOfTwo32.c
@@ -33,8 +33,9 @@ GetPowerOfTwo32 (
IN UINT32 Operand
)
{
- INTN BitPos;
-
- BitPos = HighBitSet32 (Operand);
- return BitPos >= 0 ? 1ul << BitPos : 0;
+ if (Operand == 0) {
+ return 0;
+ }
+
+ return 1ul << HighBitSet32 (Operand);
}
diff --git a/MdePkg/Library/BaseLib/GetPowerOfTwo64.c b/MdePkg/Library/BaseLib/GetPowerOfTwo64.c
index 8372a7f136..52d148c924 100644
--- a/MdePkg/Library/BaseLib/GetPowerOfTwo64.c
+++ b/MdePkg/Library/BaseLib/GetPowerOfTwo64.c
@@ -33,8 +33,9 @@ GetPowerOfTwo64 (
IN UINT64 Operand
)
{
- INTN BitPos;
+ if (Operand == 0) {
+ return 0;
+ }
- BitPos = HighBitSet64 (Operand);
- return BitPos >= 0 ? LShiftU64 (1, BitPos) : 0;
+ return LShiftU64 (1, HighBitSet64 (Operand));
}