1
0
mirror of https://github.com/UzixLS/KernelEx.git synced 2025-07-18 23:11:19 +03:00
Files
KernelEx/core/wildcmp.cpp
2018-11-03 16:21:13 +03:00

38 lines
678 B
C++
Executable File

//public domain wildcard match function by Jack Handy
#include "wildcmp.h"
int wildcmp(const char *wild, const char *string) {
const char *cp = 0, *mp = 0;
while ((*string) && (*wild != '*')) {
if ((*wild != *string) && (*wild != '?')) {
return 0;
}
wild++;
string++;
}
while (*string) {
if (*wild == '*') {
if (!*++wild) {
return 1;
}
mp = wild;
cp = string+1;
} else if ((*wild == *string) || (*wild == '?')) {
wild++;
string++;
} else {
if (!cp || !mp)
return 0;
wild = mp;
string = cp++;
}
}
while (*wild == '*') {
wild++;
}
return !*wild;
}