diff options
Diffstat (limited to 'src/wildcard.cpp')
-rw-r--r-- | src/wildcard.cpp | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/src/wildcard.cpp b/src/wildcard.cpp deleted file mode 100644 index c6883a4bc..000000000 --- a/src/wildcard.cpp +++ /dev/null @@ -1,72 +0,0 @@ -#include "services.h" - -bool Anope::Match(const Anope::string &str, const Anope::string &mask, bool case_sensitive) -{ - size_t s = 0, m = 0, str_len = str.length(), mask_len = mask.length(); - - while (s < str_len && m < mask_len && mask[m] != '*') - { - char string = str[s], wild = mask[m]; - if (case_sensitive) - { - if (wild != string && wild != '?') - return false; - } - else - { - if (tolower(wild) != tolower(string) && wild != '?') - return false; - } - - ++m; - ++s; - } - - size_t sp = 0, mp = 0; - while (s < str_len) - { - char string = str[s], wild = mask[m]; - if (wild == '*') - { - if (++m == mask_len) - return 1; - - mp = m; - sp = s + 1; - } - else - { - if (case_sensitive) - { - if (wild == string || wild == '?') - { - ++m; - ++s; - } - else - { - m = mp; - s = sp++; - } - } - else - { - if (tolower(wild) == tolower(string) || wild == '?') - { - ++m; - ++s; - } - else - { - m = mp; - s = sp++; - } - } - } - } - - if (mask[m] == '*') - ++m; - - return m == mask_len; -} |