From b7a978f7663888ee38790e80bad25ed56ad3ab79 Mon Sep 17 00:00:00 2001 From: Jett Date: Sun, 16 Oct 2016 17:26:11 -0500 Subject: [PATCH] remove endptr parameter from strtox --- src/json.hpp | 15 ++------------- src/json.hpp.re2c | 15 ++------------- 2 files changed, 4 insertions(+), 26 deletions(-) diff --git a/src/json.hpp b/src/json.hpp index d61a52a36..50cda7839 100644 --- a/src/json.hpp +++ b/src/json.hpp @@ -8817,14 +8817,11 @@ basic_json_parser_63: @param[in] st the string we will parse - @param[in,out] endptr recieves a pointer to the first character after - the number - @return the floating point number */ template ::value>::type> - T strtox(const char *st, char **endptr) const + T strtox(const char *st) const { constexpr std::array powerof10 { {1.e1L, 1.e2L, 1.e4L, 1.e8L, 1.e16L, 1.e32L, 1.e64L, 1.e128L, 1.e256L} @@ -8867,9 +8864,6 @@ basic_json_parser_63: } // read in explicit exponent and calculate real exponent. - // if exponent is bogus (i.e. "1.234empty" or "1.234e+mpty") restore - // bogus exponent back onto returned string (endptr). - if (*fst == 'e' or *fst == 'E') { cp = *++fst; @@ -8953,11 +8947,6 @@ skip_loop: } } - if (endptr != nullptr) - { - *endptr = const_cast(fst); - } - return result; } @@ -9060,7 +9049,7 @@ skip_loop: else { // parse with strtod - result.m_value.number_float = strtox(reinterpret_cast(m_start), nullptr); + result.m_value.number_float = strtox(reinterpret_cast(m_start)); } // save the type diff --git a/src/json.hpp.re2c b/src/json.hpp.re2c index 389405872..6ee8b8117 100644 --- a/src/json.hpp.re2c +++ b/src/json.hpp.re2c @@ -8114,14 +8114,11 @@ class basic_json @param[in] st the string we will parse - @param[in,out] endptr recieves a pointer to the first character after - the number - @return the floating point number */ template ::value>::type> - T strtox(const char *st, char **endptr) const + T strtox(const char *st) const { constexpr std::array powerof10 { {1.e1L, 1.e2L, 1.e4L, 1.e8L, 1.e16L, 1.e32L, 1.e64L, 1.e128L, 1.e256L} @@ -8164,9 +8161,6 @@ class basic_json } // read in explicit exponent and calculate real exponent. - // if exponent is bogus (i.e. "1.234empty" or "1.234e+mpty") restore - // bogus exponent back onto returned string (endptr). - if (*fst == 'e' or *fst == 'E') { cp = *++fst; @@ -8250,11 +8244,6 @@ skip_loop: } } - if (endptr != nullptr) - { - *endptr = const_cast(fst); - } - return result; } @@ -8357,7 +8346,7 @@ skip_loop: else { // parse with strtod - result.m_value.number_float = strtox(reinterpret_cast(m_start), nullptr); + result.m_value.number_float = strtox(reinterpret_cast(m_start)); } // save the type