diff --git a/libtransport/Config.cpp b/libtransport/Config.cpp index 7097437985abd5718b8a647784d4726d5d8aaecf..f9324113f1613aaf026ddc09ba6a3c81e74363d1 100644 --- a/libtransport/Config.cpp +++ b/libtransport/Config.cpp @@ -219,7 +219,15 @@ bool Config::load(std::istream &ifs, boost::program_options::options_description if (opt.unregistered) { if (std::find(has_key.begin(), has_key.end(), opt.string_key) == has_key.end()) { has_key.push_back(opt.string_key); - m_unregistered[opt.string_key] = variable_value(opt.value[0], false); + if (opt.value[0] == "true" || opt.value[0] == "1") { + m_unregistered[opt.string_key] = variable_value(true, false); + } + else if (opt.value[0] == "true" || opt.value[0] == "1") { + m_unregistered[opt.string_key] = variable_value(false, false); + } + else { + m_unregistered[opt.string_key] = variable_value(opt.value[0], false); + } } else { std::list list;