diff --git a/src/xenia/base/filesystem_wildcard.cc b/src/xenia/base/filesystem_wildcard.cc index 1954060dc..bdaafacaa 100644 --- a/src/xenia/base/filesystem_wildcard.cc +++ b/src/xenia/base/filesystem_wildcard.cc @@ -19,6 +19,7 @@ namespace xe::filesystem { WildcardFlags WildcardFlags::FIRST(true, false, false); WildcardFlags WildcardFlags::LAST(false, true, false); WildcardFlags WildcardFlags::ANY(false, false, true); +WildcardFlags WildcardFlags::FIRST_AND_LAST(true, true, false); WildcardFlags::WildcardFlags() : FromStart(false), ToEnd(false), ExactLength(false) {} @@ -89,7 +90,8 @@ void WildcardEngine::PreparePattern(const std::string_view pattern) { } if (last != pattern.size()) { 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)); } } diff --git a/src/xenia/base/filesystem_wildcard.h b/src/xenia/base/filesystem_wildcard.h index fdad44604..545321fee 100644 --- a/src/xenia/base/filesystem_wildcard.h +++ b/src/xenia/base/filesystem_wildcard.h @@ -30,6 +30,7 @@ class WildcardFlags { static WildcardFlags FIRST; static WildcardFlags LAST; static WildcardFlags ANY; + static WildcardFlags FIRST_AND_LAST; }; class WildcardRule {