From a91452694992bf0d556f1a9a5021ee3272bd32e6 Mon Sep 17 00:00:00 2001 From: Michael Carlberg Date: Thu, 22 Dec 2016 18:37:22 +0100 Subject: [PATCH] fix(config): Use strtoul Refs #267 --- src/components/config.cpp | 27 +++------------------------ 1 file changed, 3 insertions(+), 24 deletions(-) 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 <>