aboutsummaryrefslogtreecommitdiff
path: root/src/zenutil/wildcard.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/zenutil/wildcard.cpp')
-rw-r--r--src/zenutil/wildcard.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/zenutil/wildcard.cpp b/src/zenutil/wildcard.cpp
index df69f6a5e..d9d5b384f 100644
--- a/src/zenutil/wildcard.cpp
+++ b/src/zenutil/wildcard.cpp
@@ -43,11 +43,16 @@ MatchWildcard(std::string_view::const_iterator WildcardIt,
return false;
}
default:
+ if (StringIt == StringEnd)
+ {
+ return false;
+ }
if (*StringIt != *WildcardIt)
{
return false;
}
++StringIt;
+ break;
}
}
return StringIt == StringEnd;
@@ -106,6 +111,11 @@ TEST_CASE("Wildcard")
CHECK(!MatchWildcard("*/?ormal.TXT", "hey/normal.txt", true));
CHECK(!MatchWildcard("*/?ORMAL.*", "hey/normal.txt", true));
CHECK(!MatchWildcard("*/?ormal", "hey/normaL", true));
+
+ CHECK(MatchWildcard("*.dll", "dir/path.dll", true));
+ CHECK(!MatchWildcard("*.dll", "dir/path.d", true));
+ CHECK(!MatchWildcard("*.d", "dir/path.dll", true));
+ CHECK(MatchWildcard("*.d", "dir/path.d", true));
}
#endif