aboutsummaryrefslogtreecommitdiff
path: root/EfiGuardDxe/util.c
diff options
context:
space:
mode:
authorMatthijs Lavrijsen <mattiwatti@gmail.com>2022-08-24 01:06:41 +0200
committerMatthijs Lavrijsen <mattiwatti@gmail.com>2022-08-24 01:06:41 +0200
commit50f82283e5f7ed3388cdc7de9e4a53bd40f26e2c (patch)
tree93066adcfc2a4986033974b97c7d9f6ca5d3d69d /EfiGuardDxe/util.c
parent25bb182026d24944713e36f129a93d08397de913 (diff)
Add StrniCmp implementation
Diffstat (limited to 'EfiGuardDxe/util.c')
-rw-r--r--EfiGuardDxe/util.c27
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(