diff --git a/components/files/configurationmanager.cpp b/components/files/configurationmanager.cpp index 127daac65..e5313bfee 100644 --- a/components/files/configurationmanager.cpp +++ b/components/files/configurationmanager.cpp @@ -164,6 +164,10 @@ bool ConfigurationManager::loadConfig(const boost::filesystem::path& path, return false; } +const int escape_hash_filter::sEscape = '@'; +const int escape_hash_filter::sEscapeIdentifier = 'a'; +const int escape_hash_filter::sHashIdentifier = 'h'; + escape_hash_filter::escape_hash_filter() : mNext(), mSeenNonWhitespace(false), mFinishLine(false) { } diff --git a/components/files/configurationmanager.hpp b/components/files/configurationmanager.hpp index 1d2d2c419..494dfdd0c 100644 --- a/components/files/configurationmanager.hpp +++ b/components/files/configurationmanager.hpp @@ -71,9 +71,9 @@ struct ConfigurationManager */ struct escape_hash_filter : public boost::iostreams::input_filter { - static const int sEscape = '@'; - static const int sHashIdentifier = 'h'; - static const int sEscapeIdentifier = 'a'; + static const int sEscape; + static const int sHashIdentifier; + static const int sEscapeIdentifier; escape_hash_filter(); virtual ~escape_hash_filter(); @@ -114,22 +114,17 @@ int unescape_hash_filter::get(Source & src) { int nextChar = boost::iostreams::get(src); int intended; - switch (nextChar) - { - case escape_hash_filter::sEscapeIdentifier: + if (nextChar == escape_hash_filter::sEscapeIdentifier) intended = escape_hash_filter::sEscape; - break; - case escape_hash_filter::sHashIdentifier: + else if (nextChar == escape_hash_filter::sHashIdentifier) intended = '#'; - break; - case boost::iostreams::WOULD_BLOCK: + else if (nextChar == boost::iostreams::WOULD_BLOCK) + { expectingIdentifier = true; intended = nextChar; - break; - default: - intended = '?'; - break; } + else + intended = '?'; return intended; } else