diff options
Diffstat (limited to 'modules/webcpanel/template_fileserver.cpp')
-rw-r--r-- | modules/webcpanel/template_fileserver.cpp | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/modules/webcpanel/template_fileserver.cpp b/modules/webcpanel/template_fileserver.cpp index 57b865bc1..ec34d4af6 100644 --- a/modules/webcpanel/template_fileserver.cpp +++ b/modules/webcpanel/template_fileserver.cpp @@ -6,15 +6,15 @@ */ #include "webcpanel.h" +#include <cerrno> #include <fstream> #include <stack> -#include <errno.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> -struct ForLoop +struct ForLoop final { static std::vector<ForLoop> Stack; @@ -25,28 +25,24 @@ struct ForLoop ForLoop(size_t s, TemplateFileServer::Replacements &r, const std::vector<Anope::string> &v, const std::vector<Anope::string> &r_names) : start(s), vars(v) { - for (unsigned i = 0; i < r_names.size(); ++i) - ranges.push_back(r.equal_range(r_names[i])); + for (const auto &r_name : r_names) + ranges.push_back(r.equal_range(r_name)); } void increment(const TemplateFileServer::Replacements &r) { - for (unsigned i = 0; i < ranges.size(); ++i) + for (auto &[begin, end] : ranges) { - range &ra = ranges[i]; - - if (ra.first != r.end() && ra.first != ra.second) - ++ra.first; + if (begin != r.end() && begin != end) + ++begin; } } bool finished(const TemplateFileServer::Replacements &r) const { - for (unsigned i = 0; i < ranges.size(); ++i) + for (const auto &[begin, end] : ranges) { - const range &ra = ranges[i]; - - if (ra.first != r.end() && ra.first != ra.second) + if (begin != r.end() && begin != end) return false; } @@ -186,7 +182,7 @@ void TemplateFileServer::Serve(HTTPProvider *server, const Anope::string &page_n if (temp_variables.size() != real_variables.size()) Log() << "Invalid FOR in web template " << this->file_name << " variable mismatch"; else - ForLoop::Stack.push_back(ForLoop(j + f, r, temp_variables, real_variables)); + ForLoop::Stack.emplace_back(j + f, r, temp_variables, real_variables); } } else if (content == "END FOR") |