diff options
Diffstat (limited to 'MdePkg/Library/BaseLib/String.c')
-rw-r--r-- | MdePkg/Library/BaseLib/String.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/MdePkg/Library/BaseLib/String.c b/MdePkg/Library/BaseLib/String.c index 402d676631..fefadc4337 100644 --- a/MdePkg/Library/BaseLib/String.c +++ b/MdePkg/Library/BaseLib/String.c @@ -528,7 +528,7 @@ InternalCharToUpper ( ) { if (Char >= L'a' && Char <= L'z') { - return Char - (L'a' - L'A'); + return (CHAR16) (Char - (L'a' - L'A')); } return Char; @@ -919,7 +919,8 @@ StrHexToUint64 ( (InternalHexCharToUintn (*String) <= REMINDER_MAX_UINT64_DIVIDED_BY_16)) ); - Result = LShiftU64 (Result, 4) + InternalHexCharToUintn (*String); + Result = LShiftU64 (Result, 4); + Result = Result + InternalHexCharToUintn (*String); String++; } @@ -1930,7 +1931,8 @@ AsciiStrHexToUint64 ( (InternalAsciiHexCharToUintn (*String) <= REMINDER_MAX_UINT64_DIVIDED_BY_16)) ); - Result = LShiftU64 (Result, 4) + InternalAsciiHexCharToUintn (*String); + Result = LShiftU64 (Result, 4); + Result = Result + InternalAsciiHexCharToUintn (*String); String++; } |