diff --git a/src/components/config.cpp b/src/components/config.cpp index 5e93f8c0..270e824c 100644 --- a/src/components/config.cpp +++ b/src/components/config.cpp @@ -226,38 +226,17 @@ long long config::convert(string&& value) const { template <> unsigned char config::convert(string&& value) const { - int conv{convert(forward(value))}; - if (conv < std::numeric_limits::min()) { - return std::numeric_limits::min(); - } else if (conv > std::numeric_limits::max()) { - return std::numeric_limits::max(); - } else { - return static_cast(conv); - } + return std::strtoul(value.c_str(), nullptr, 10); } template <> unsigned short config::convert(string&& value) const { - int conv{convert(forward(value))}; - if (conv < std::numeric_limits::min()) { - return std::numeric_limits::min(); - } else if (conv > std::numeric_limits::max()) { - return std::numeric_limits::max(); - } else { - return static_cast(conv); - } + return std::strtoul(value.c_str(), nullptr, 10); } template <> unsigned int config::convert(string&& value) const { - long conv{convert(forward(value))}; - if (conv < std::numeric_limits::min()) { - return std::numeric_limits::min(); - } else if (conv > std::numeric_limits::max()) { - return std::numeric_limits::max(); - } else { - return static_cast(conv); - } + return std::strtoul(value.c_str(), nullptr, 10); } template <>