From fa238045b108d0687a85be0a18c01e9024e89169 Mon Sep 17 00:00:00 2001 From: Gunter Labes Date: Sun, 19 Jan 2025 19:56:08 +0100 Subject: [PATCH] Remove unnecessary template and optional use --- src/server/campaignd/server.cpp | 36 ++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/src/server/campaignd/server.cpp b/src/server/campaignd/server.cpp index b82f3077347..95ad2fa2278 100644 --- a/src/server/campaignd/server.cpp +++ b/src/server/campaignd/server.cpp @@ -231,13 +231,15 @@ bool have_wml(const utils::optional_reference& cfg) * * Null WML objects are skipped. */ -template -utils::optional> multi_find_illegal_names(const Vals&... args) +std::vector multi_find_illegal_names(const std::initializer_list& cfgs) { std::vector names; - ((args && check_names_legal(*args, &names)), ...); - - return !names.empty() ? utils::optional(names) : utils::nullopt; + for(auto cfg : cfgs) { + if(cfg) { + check_names_legal(*cfg, &names); + } + } + return names; } /** @@ -245,13 +247,15 @@ utils::optional> multi_find_illegal_names(const Vals&.. * * Null WML objects are skipped. */ -template -utils::optional> multi_find_case_conflicts(const Vals&... args) +std::vector multi_find_case_conflicts(const std::initializer_list& cfgs) { std::vector names; - ((args && check_case_insensitive_duplicates(*args, &names)), ...); - - return !names.empty() ? utils::optional(names) : utils::nullopt; + for(auto cfg : cfgs) { + if(cfg) { + check_case_insensitive_duplicates(*cfg, &names); + } + } + return names; } /** @@ -1469,15 +1473,15 @@ ADDON_CHECK_STATUS server::validate_addon(const server::request& req, config*& e return ADDON_CHECK_STATUS::NO_EMAIL; } - if(const auto badnames = multi_find_illegal_names(data, addlist, removelist)) { - error_data = utils::join(*badnames, "\n"); - LOG_CS << "Validation error: invalid filenames in add-on pack (" << badnames->size() << " entries)"; + if(std::vector badnames = multi_find_illegal_names({data, addlist, removelist}); !badnames.empty()) { + error_data = utils::join(badnames, "\n"); + LOG_CS << "Validation error: invalid filenames in add-on pack (" << badnames.size() << " entries)"; return ADDON_CHECK_STATUS::ILLEGAL_FILENAME; } - if(const auto badnames = multi_find_case_conflicts(data, addlist, removelist)) { - error_data = utils::join(*badnames, "\n"); - LOG_CS << "Validation error: case conflicts in add-on pack (" << badnames->size() << " entries)"; + if(std::vector badnames = multi_find_case_conflicts({data, addlist, removelist}); !badnames.empty()) { + error_data = utils::join(badnames, "\n"); + LOG_CS << "Validation error: case conflicts in add-on pack (" << badnames.size() << " entries)"; return ADDON_CHECK_STATUS::FILENAME_CASE_CONFLICT; }