mirror of
https://github.com/xenia-project/xenia.git
synced 2025-12-06 07:12:03 +01:00
[Base] Match exactly when no pattern in wildcard
This commit is contained in:
parent
ba28ef9717
commit
6b45cf8447
|
|
@ -19,6 +19,7 @@ namespace xe::filesystem {
|
||||||
WildcardFlags WildcardFlags::FIRST(true, false, false);
|
WildcardFlags WildcardFlags::FIRST(true, false, false);
|
||||||
WildcardFlags WildcardFlags::LAST(false, true, false);
|
WildcardFlags WildcardFlags::LAST(false, true, false);
|
||||||
WildcardFlags WildcardFlags::ANY(false, false, true);
|
WildcardFlags WildcardFlags::ANY(false, false, true);
|
||||||
|
WildcardFlags WildcardFlags::FIRST_AND_LAST(true, true, false);
|
||||||
|
|
||||||
WildcardFlags::WildcardFlags()
|
WildcardFlags::WildcardFlags()
|
||||||
: FromStart(false), ToEnd(false), ExactLength(false) {}
|
: FromStart(false), ToEnd(false), ExactLength(false) {}
|
||||||
|
|
@ -89,7 +90,8 @@ void WildcardEngine::PreparePattern(const std::string_view pattern) {
|
||||||
}
|
}
|
||||||
if (last != pattern.size()) {
|
if (last != pattern.size()) {
|
||||||
std::string str_str(pattern.substr(last));
|
std::string str_str(pattern.substr(last));
|
||||||
rules_.push_back(WildcardRule(str_str, WildcardFlags::LAST));
|
rules_.push_back(WildcardRule(
|
||||||
|
str_str, last ? WildcardFlags::LAST : WildcardFlags::FIRST_AND_LAST));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,7 @@ class WildcardFlags {
|
||||||
static WildcardFlags FIRST;
|
static WildcardFlags FIRST;
|
||||||
static WildcardFlags LAST;
|
static WildcardFlags LAST;
|
||||||
static WildcardFlags ANY;
|
static WildcardFlags ANY;
|
||||||
|
static WildcardFlags FIRST_AND_LAST;
|
||||||
};
|
};
|
||||||
|
|
||||||
class WildcardRule {
|
class WildcardRule {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue