From cc4b8b61aeacfaf5c8d9921f65ae83eb50a99a86 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Thu, 25 Jul 2019 16:05:21 +0200 Subject: [PATCH] Ref T709, move case insensitive compare to utils (so it can be used elsewhere) --- src/blackmisc/simulation/xplane/qtfreeutils.h | 10 ++++++++ src/xswiftbus/config.cpp | 24 +++++++------------ 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/src/blackmisc/simulation/xplane/qtfreeutils.h b/src/blackmisc/simulation/xplane/qtfreeutils.h index d21cf3806..50e43177c 100644 --- a/src/blackmisc/simulation/xplane/qtfreeutils.h +++ b/src/blackmisc/simulation/xplane/qtfreeutils.h @@ -129,6 +129,16 @@ namespace BlackMisc return s; } + //! Compare case insensitive + inline bool stringCompareCaseInsensitive(const std::string &str1, const std::string &str2) + { + if (str1.size() != str2.size()) { return false; } + return std::equal(str1.begin(), str1.end(), str2.begin(), [](const char &c1, const char &c2) + { + return (c1 == c2 || std::toupper(c1) == std::toupper(c2)); + }); + } + //! Trim whitespace from the beginning and end, and replace sequences of whitespace with single space characters inline std::string simplifyWhitespace(const std::string &s) { diff --git a/src/xswiftbus/config.cpp b/src/xswiftbus/config.cpp index 4eef236cc..74a5717d6 100644 --- a/src/xswiftbus/config.cpp +++ b/src/xswiftbus/config.cpp @@ -8,23 +8,17 @@ #include "config.h" #include "utils.h" +#include "blackmisc/simulation/xplane/qtfreeutils.h" + #include #include #include #include +using namespace BlackMisc::Simulation::XPlane::QtFreeUtils; + namespace XSwiftBus { - //! Case insensitive string compare - bool stringCompare(const std::string & str1, const std::string &str2) - { - if (str1.size() != str2.size()) { return false; } - return std::equal(str1.begin(), str1.end(), str2.begin(), [](const char & c1, const char & c2) - { - return (c1 == c2 || std::toupper(c1) == std::toupper(c2)); - }); - } - CConfig::CConfig() {} @@ -62,9 +56,9 @@ namespace XSwiftBus } bool valid = true; - if (stringCompare(key, "dbusMode")) { valid = parseDBusMode(value); } - else if (stringCompare(key, "dbusAddress")) { valid = parseDBusAddress(value); } - else if (stringCompare(key, "dbusPort")) { valid = parseDBusPort(value); } + if (stringCompareCaseInsensitive(key, "dbusMode")) { valid = parseDBusMode(value); } + else if (stringCompareCaseInsensitive(key, "dbusAddress")) { valid = parseDBusAddress(value); } + else if (stringCompareCaseInsensitive(key, "dbusPort")) { valid = parseDBusPort(value); } else { WARNING_LOG("xswiftbus.conf line " + std::to_string(lineNo) + ": Unknown variable " + value + "!"); @@ -93,8 +87,8 @@ namespace XSwiftBus bool CConfig::parseDBusMode(const std::string &value) { - if (stringCompare(value, "session")) { m_dbusMode = CConfig::DBusSession; return true; } - else if (stringCompare(value, "P2P")) { m_dbusMode = CConfig::DBusP2P; return true; } + if (stringCompareCaseInsensitive(value, "session")) { m_dbusMode = CConfig::DBusSession; return true; } + else if (stringCompareCaseInsensitive(value, "P2P")) { m_dbusMode = CConfig::DBusP2P; return true; } else { return false; } }