From 50f82283e5f7ed3388cdc7de9e4a53bd40f26e2c Mon Sep 17 00:00:00 2001 From: Matthijs Lavrijsen Date: Wed, 24 Aug 2022 01:06:41 +0200 Subject: Add StrniCmp implementation --- EfiGuardDxe/util.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'EfiGuardDxe/util.c') 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( -- cgit v1.2.3