QTranslator: simplify QString byte-swapping code

No need to check QSysInfo, just use qFromBigEndian. On big-endian
systems, it does the memcpy for us.

Change-Id: I1004b4b819774c4c9296fffd158fe3aa5ff0a287
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
Thiago Macieira 2019-03-27 11:18:37 -07:00
parent 227c1a56ec
commit a39b19b0c7

View File

@ -948,11 +948,8 @@ static QString getMessage(const uchar *m, const uchar *end, const char *context,
end:
if (!tn)
return QString();
QString str = QString((const QChar *)tn, tn_length/2);
if (QSysInfo::ByteOrder == QSysInfo::LittleEndian) {
QChar *data = str.data();
qbswap<sizeof(QChar)>(data, str.length(), data);
}
QString str(tn_length / 2, Qt::Uninitialized);
qFromBigEndian<ushort>(tn, str.length(), str.data());
return str;
}