From 0729c8ed65cf284fa9a275cbaf4cfa490aeb5309 Mon Sep 17 00:00:00 2001 From: Linus Groh Date: Thu, 24 Dec 2020 01:44:20 +0100 Subject: [PATCH] LaunchServer: Ignore empty FileType / Protocol / [Launcher] config values "Foo=" should be treated the same as "Foo" being missing. --- Services/LaunchServer/Launcher.cpp | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/Services/LaunchServer/Launcher.cpp b/Services/LaunchServer/Launcher.cpp index 2f796d7d9a..2638bf572d 100644 --- a/Services/LaunchServer/Launcher.cpp +++ b/Services/LaunchServer/Launcher.cpp @@ -107,8 +107,12 @@ void Launcher::load_handlers(const String& af_dir) HashTable table; auto config_value = af->read_entry("Launcher", key, {}); - for (auto& key : config_value.split(',')) - table.set(key.to_lowercase()); + for (auto& entry : config_value.split(',')) { + auto key = entry.trim_whitespace().to_lowercase(); + if (key.is_empty()) + continue; + table.set(key); + } return table; }; @@ -140,11 +144,17 @@ void Launcher::load_handlers(const String& af_dir) void Launcher::load_config(const Core::ConfigFile& cfg) { for (auto key : cfg.keys("FileType")) { - m_file_handlers.set(key.to_lowercase(), cfg.read_entry("FileType", key)); + auto handler = cfg.read_entry("FileType", key).trim_whitespace(); + if (handler.is_empty()) + continue; + m_file_handlers.set(key.to_lowercase(), handler); } for (auto key : cfg.keys("Protocol")) { - m_protocol_handlers.set(key.to_lowercase(), cfg.read_entry("Protocol", key)); + auto handler = cfg.read_entry("Protocol", key).trim_whitespace(); + if (handler.is_empty()) + continue; + m_protocol_handlers.set(key.to_lowercase(), handler); } }