From 38dc17c731520dd2b6917e29813289d2f965bda7 Mon Sep 17 00:00:00 2001 From: kabachuha Date: Tue, 13 Oct 2020 09:57:01 +0300 Subject: [PATCH] Split empty and not found requested version processing --- src/server/campaignd/server.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/server/campaignd/server.cpp b/src/server/campaignd/server.cpp index d2003c1e8fd4..dbc811ee0730 100644 --- a/src/server/campaignd/server.cpp +++ b/src/server/campaignd/server.cpp @@ -778,14 +778,19 @@ void server::handle_request_campaign(const server::request& req) send_error("No versions of the add-on '" + req.cfg["name"].str() + "' are available on the server.", req.sock); return; } else { - auto version = version_map.find(version_info(to)); - if(version != version_map.end()) { - full_pack += version->second["filename"].str(); - } else { - WRN_CS << "The selected version (" << to << ") for the addon '" << req.cfg["name"].str() - << "' has not been found or it is unspecified! Sending the latest version instead!\n"; + if(to.empty()) { + //Sending the latest version if unspecified to = version_map.rbegin()->first; full_pack += version_map.rbegin()->second["filename"].str(); + } else { + auto version = version_map.find(version_info(to)); + if(version != version_map.end()) { + full_pack += version->second["filename"].str(); + } else { + send_error("The selected version (" + to + ") of the addon '" + req.cfg["name"].str() + + "' has not been found!\n", req.sock); + return; + } } full_pack_size = filesystem::file_size(full_pack);