diff options
author | Aki <please@ignore.pl> | 2022-09-11 16:17:12 +0200 |
---|---|---|
committer | Aki <please@ignore.pl> | 2022-09-11 16:17:12 +0200 |
commit | 687b6012122ded0a1dd4c1df8f8795d8855506a3 (patch) | |
tree | 64ef7c09ad25e0181a29a9db5aa9836e6fa358ca | |
parent | 427ac5bd70dbdf2e6de39b402407225a41f2cbdb (diff) | |
download | starshatter-687b6012122ded0a1dd4c1df8f8795d8855506a3.zip starshatter-687b6012122ded0a1dd4c1df8f8795d8855506a3.tar.gz starshatter-687b6012122ded0a1dd4c1df8f8795d8855506a3.tar.bz2 |
Moved FilterFile around
-rw-r--r-- | ArchiveEx/dat.cpp | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/ArchiveEx/dat.cpp b/ArchiveEx/dat.cpp index 3a0e0da..9662cbc 100644 --- a/ArchiveEx/dat.cpp +++ b/ArchiveEx/dat.cpp @@ -167,6 +167,21 @@ PrintHelp(std::ostream& out) } +std::function<void(const char*)> +FilterFile(const std::vector<std::string>& patterns, std::function<void(const char*)> func) +{ + return [&patterns, func](const char* name) -> void { + if (patterns.empty()) + return func(name); + for (const auto& pattern : patterns) { + const int match = fnmatch(pattern.c_str(), name, FNM_PATHNAME | FNM_LEADING_DIR); + if (match == 0) + return func(name); + } + }; +} + + void UpdateFile(ArchiveEx::Archive& archive, const std::string& path, bool warn) { @@ -209,18 +224,3 @@ try { catch (const ExtractError& err) { std::cerr << "could not extract: " << filepath << std::endl; } - - -std::function<void(const char*)> -FilterFile(const std::vector<std::string>& patterns, std::function<void(const char*)> func) -{ - return [&patterns, func](const char* name) -> void { - if (patterns.empty()) - return func(name); - for (const auto& pattern : patterns) { - const int match = fnmatch(pattern.c_str(), name, FNM_PATHNAME | FNM_LEADING_DIR); - if (match == 0) - return func(name); - } - }; -} |