diff options
author | Ahmad Samir <a.samirh78@gmail.com> | 2023-02-03 00:18:05 +0200 |
---|---|---|
committer | Ahmad Samir <a.samirh78@gmail.com> | 2023-02-07 20:04:11 +0200 |
commit | 27db859c6a36738d5074f59584ba7d2b289d1ae4 (patch) | |
tree | 4ba87eef451306062bd52d149d675eed96cfad7a /src/corelib/serialization/qjsonparser.cpp | |
parent | 498f3452285aa44580e1d03baeec126d475f8401 (diff) |
Use QtMiscUtils hex/oct-related helpers
Thanks to Thiago for pointing them out in review.
Change-Id: I14d588a8bd5ba29d43a5daeacfd55d974eb65557
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/serialization/qjsonparser.cpp')
-rw-r--r-- | src/corelib/serialization/qjsonparser.cpp | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/src/corelib/serialization/qjsonparser.cpp b/src/corelib/serialization/qjsonparser.cpp index d39d766d75..dba603815f 100644 --- a/src/corelib/serialization/qjsonparser.cpp +++ b/src/corelib/serialization/qjsonparser.cpp @@ -780,15 +780,13 @@ bool Parser::parseNumber() static inline bool addHexDigit(char digit, char32_t *result) { *result <<= 4; - if (digit >= '0' && digit <= '9') - *result |= (digit - '0'); - else if (digit >= 'a' && digit <= 'f') - *result |= (digit - 'a') + 10; - else if (digit >= 'A' && digit <= 'F') - *result |= (digit - 'A') + 10; - else - return false; - return true; + const int h = fromHex(digit); + if (h != -1) { + *result |= h; + return true; + } + + return false; } static inline bool scanEscapeSequence(const char *&json, const char *end, char32_t *ch) |