diff options
Diffstat (limited to 'common/str.cpp')
-rw-r--r-- | common/str.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/common/str.cpp b/common/str.cpp index b2c9a7cdbf..a415e376c9 100644 --- a/common/str.cpp +++ b/common/str.cpp @@ -605,13 +605,18 @@ bool matchString(const char *str, const char *pat) { for (;;) { switch (*pat) { case '*': + // Record pattern / string possition for backtracking p = ++pat; q = str; + // If pattern ended with * -> match + if (!*pat) + return true; break; default: if (*pat != *str) { if (p) { + // No match, oops -> try to backtrack pat = p; str = ++q; if (!*str) |