diff options
Diffstat (limited to 'src/corelib/serialization/qjsonparser.cpp')
| -rw-r--r-- | src/corelib/serialization/qjsonparser.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/corelib/serialization/qjsonparser.cpp b/src/corelib/serialization/qjsonparser.cpp index b11ae3a9d2e..d39d766d758 100644 --- a/src/corelib/serialization/qjsonparser.cpp +++ b/src/corelib/serialization/qjsonparser.cpp @@ -11,6 +11,7 @@ #include "private/qstringconverter_p.h" #include "private/qcborvalue_p.h" #include "private/qnumeric_p.h" +#include <private/qtools_p.h> //#define PARSER_DEBUG #ifdef PARSER_DEBUG @@ -28,6 +29,8 @@ static const int nestingLimit = 1024; QT_BEGIN_NAMESPACE +using namespace QtMiscUtils; + // error strings for the JSON parser #define JSONERR_OK QT_TRANSLATE_NOOP("QJsonParseError", "no error occurred") #define JSONERR_UNTERM_OBJ QT_TRANSLATE_NOOP("QJsonParseError", "unterminated object") @@ -693,14 +696,14 @@ bool Parser::parseNumber() if (json < end && *json == '0') { ++json; } else { - while (json < end && *json >= '0' && *json <= '9') + while (json < end && isAsciiDigit(*json)) ++json; } // frac = decimal-point 1*DIGIT if (json < end && *json == '.') { ++json; - while (json < end && *json >= '0' && *json <= '9') { + while (json < end && isAsciiDigit(*json)) { isInt = isInt && *json == '0'; ++json; } @@ -712,7 +715,7 @@ bool Parser::parseNumber() ++json; if (json < end && (*json == '-' || *json == '+')) ++json; - while (json < end && *json >= '0' && *json <= '9') + while (json < end && isAsciiDigit(*json)) ++json; } |
