diff options
Diffstat (limited to 'src/corelib/tools/qbytearray.cpp')
| -rw-r--r-- | src/corelib/tools/qbytearray.cpp | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/src/corelib/tools/qbytearray.cpp b/src/corelib/tools/qbytearray.cpp index bf29ebcd6dc..92c2188caa7 100644 --- a/src/corelib/tools/qbytearray.cpp +++ b/src/corelib/tools/qbytearray.cpp @@ -4125,15 +4125,9 @@ QByteArray QByteArray::fromHex(const QByteArray &hexEncoded) bool odd_digit = true; for (int i = hexEncoded.size() - 1; i >= 0; --i) { - int ch = hexEncoded.at(i); - int tmp; - if (ch >= '0' && ch <= '9') - tmp = ch - '0'; - else if (ch >= 'a' && ch <= 'f') - tmp = ch - 'a' + 10; - else if (ch >= 'A' && ch <= 'F') - tmp = ch - 'A' + 10; - else + uchar ch = uchar(hexEncoded.at(i)); + int tmp = QtMiscUtils::fromHex(ch); + if (tmp == -1) continue; if (odd_digit) { --result; |
