diff options
author | Andre Hartmann <aha_1980@gmx.de> | 2017-04-21 07:59:54 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2017-07-10 20:16:58 +0000 |
commit | 8a8788f4df5811346f36613f0c12bfdc6f343e14 (patch) | |
tree | ef839e3f190e7e8e32e0d58941954ab550600a11 /src/network/ssl | |
parent | bdb1a5b28384e6aa8b228915cba82c6102a0129c (diff) |
QSslCertificatePrivate: make use of QByteArray::toHex(separator)
Qt 5.9 introduced a QByteArray::toHex() overload that
inserts a separator char after each byte. The function
colonSeparatedHex() could not be replaced completely,
as it skips leading zeros also.
Change-Id: Ic1d5d4771a0a5171f0e7e9813b83eb4c1f59f085
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Diffstat (limited to 'src/network/ssl')
-rw-r--r-- | src/network/ssl/qsslcertificate_qt.cpp | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/src/network/ssl/qsslcertificate_qt.cpp b/src/network/ssl/qsslcertificate_qt.cpp index 5e8f4cfac7..1cc2b1f964 100644 --- a/src/network/ssl/qsslcertificate_qt.cpp +++ b/src/network/ssl/qsslcertificate_qt.cpp @@ -272,17 +272,12 @@ QList<QSslCertificate> QSslCertificatePrivate::certificatesFromDer(const QByteAr static QByteArray colonSeparatedHex(const QByteArray &value) { - QByteArray hexString; - hexString.reserve(value.size() * 3); - for (int a = 0; a < value.size(); ++a) { - const quint8 b = value.at(a); - if (b || !hexString.isEmpty()) { // skip leading zeros - hexString += QByteArray::number(b, 16).rightJustified(2, '0'); - hexString += ':'; - } - } - hexString.chop(1); - return hexString; + const int size = value.size(); + int i = 0; + while (i < size && !value.at(i)) // skip leading zeros + ++i; + + return value.mid(i).toHex(':'); } bool QSslCertificatePrivate::parse(const QByteArray &data) |