From: vanjeff Date: Tue, 11 Jul 2006 07:48:43 +0000 (+0000) Subject: 1. Fix one bug on EBC for GetPowerOfTwo64.c X-Git-Tag: edk2-stable201903~24981 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=4748b24d77d65a13dd2bcb0f9fa9ed83f24f9bf4 1. Fix one bug on EBC for GetPowerOfTwo64.c 2. Fix one bug for GetPowerOfTwo32.c and GetPowerOfTwo64.c, when Operand is 1, 1 should be returned git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@873 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/MdePkg/Library/BaseLib/GetPowerOfTwo32.c b/MdePkg/Library/BaseLib/GetPowerOfTwo32.c index 6dfe8056b4..dbf4ca6513 100644 --- a/MdePkg/Library/BaseLib/GetPowerOfTwo32.c +++ b/MdePkg/Library/BaseLib/GetPowerOfTwo32.c @@ -34,6 +34,7 @@ GetPowerOfTwo32 ( ) { INTN BitPos; - - return (BitPos = HighBitSet32 (Operand)) > 0 ? 1ul << BitPos : 0; + + BitPos = HighBitSet32 (Operand); + return BitPos >= 0 ? 1ul << BitPos : 0; } diff --git a/MdePkg/Library/BaseLib/GetPowerOfTwo64.c b/MdePkg/Library/BaseLib/GetPowerOfTwo64.c index 9994fb8f12..8372a7f136 100644 --- a/MdePkg/Library/BaseLib/GetPowerOfTwo64.c +++ b/MdePkg/Library/BaseLib/GetPowerOfTwo64.c @@ -35,5 +35,6 @@ GetPowerOfTwo64 ( { INTN BitPos; - return (BitPos = HighBitSet64 (Operand)) > 0 ? LShiftU64 (1, BitPos) : 0; + BitPos = HighBitSet64 (Operand); + return BitPos >= 0 ? LShiftU64 (1, BitPos) : 0; }