From 06b5912d788501d75e16b1391fa85b9729454166 Mon Sep 17 00:00:00 2001 From: Matt Borland Date: Fri, 3 Mar 2023 10:04:24 -0800 Subject: [PATCH] Replace magic numbers --- include/boost/charconv/detail/parser.hpp | 37 ++++++------------------ 1 file changed, 9 insertions(+), 28 deletions(-) diff --git a/include/boost/charconv/detail/parser.hpp b/include/boost/charconv/detail/parser.hpp index 863fdef..6beca16 100644 --- a/include/boost/charconv/detail/parser.hpp +++ b/include/boost/charconv/detail/parser.hpp @@ -179,36 +179,17 @@ inline from_chars_result parser(const char* first, const char* last, bool& sign, bool round = false; // If more digits are present than representable in the significand of the target type // we set the maximum - BOOST_IF_CONSTEXPR(std::is_same::value) + if (offset > significand_buffer_size) { - if (offset > 19) + offset = significand_buffer_size; + i = significand_buffer_size; + if (significand_buffer[offset] == '5' || + significand_buffer[offset] == '6' || + significand_buffer[offset] == '7' || + significand_buffer[offset] == '8' || + significand_buffer[offset] == '9') { - offset = 19; - i = 19; - if (significand_buffer[offset] == '5' || - significand_buffer[offset] == '6' || - significand_buffer[offset] == '7' || - significand_buffer[offset] == '8' || - significand_buffer[offset] == '9') - { - round = true; - } - } - } - else - { - if (offset > 39) - { - offset = 39; - i = 39; - if (significand_buffer[offset] == '5' || - significand_buffer[offset] == '6' || - significand_buffer[offset] == '7' || - significand_buffer[offset] == '8' || - significand_buffer[offset] == '9') - { - round = true; - } + round = true; } }