diff options
author | Matthijs Lavrijsen <mattiwatti@gmail.com> | 2022-08-24 01:06:41 +0200 |
---|---|---|
committer | Matthijs Lavrijsen <mattiwatti@gmail.com> | 2022-08-24 01:06:41 +0200 |
commit | 50f82283e5f7ed3388cdc7de9e4a53bd40f26e2c (patch) | |
tree | 93066adcfc2a4986033974b97c7d9f6ca5d3d69d /EfiGuardDxe/util.c | |
parent | 25bb182026d24944713e36f129a93d08397de913 (diff) |
Add StrniCmp implementation
Diffstat (limited to 'EfiGuardDxe/util.c')
-rw-r--r-- | EfiGuardDxe/util.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/EfiGuardDxe/util.c b/EfiGuardDxe/util.c index 230f491..2bb406f 100644 --- a/EfiGuardDxe/util.c +++ b/EfiGuardDxe/util.c @@ -99,6 +99,33 @@ PrintKernelPatchInfo( } } +INTN +EFIAPI +StrniCmp( + IN CONST CHAR16 *FirstString, + IN CONST CHAR16 *SecondString, + IN UINTN Length + ) +{ + if (FirstString == NULL || SecondString == NULL || Length == 0) + return 0; + + CHAR16 UpperFirstChar = CharToUpper(*FirstString); + CHAR16 UpperSecondChar = CharToUpper(*SecondString); + while ((*FirstString != L'\0') && (*SecondString != L'\0') && + (UpperFirstChar == UpperSecondChar) && + (Length > 1)) + { + FirstString++; + SecondString++; + UpperFirstChar = CharToUpper(*FirstString); + UpperSecondChar = CharToUpper(*SecondString); + Length--; + } + + return UpperFirstChar - UpperSecondChar; +} + BOOLEAN EFIAPI WaitForKey( |