aboutsummaryrefslogtreecommitdiff
path: root/src/zenutil/wildcard.cpp
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2025-11-17 12:17:29 +0100
committerGitHub Enterprise <[email protected]>2025-11-17 12:17:29 +0100
commit6475fe4ec76533e64ac73d8f0b3798b929a173f0 (patch)
tree043905c15cb7e3078a2d3edf97cf0dd8ac60fef5 /src/zenutil/wildcard.cpp
parentUpdate to curl 8.17.0 (from 8.11.0) (#648) (diff)
downloadzen-6475fe4ec76533e64ac73d8f0b3798b929a173f0.tar.xz
zen-6475fe4ec76533e64ac73d8f0b3798b929a173f0.zip
fix wildcard matching (#650)
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