Make qt_is_ascii work properly on big endian systems

Change-Id: Ia053fbc854a77e333edadb0be6c2e04826b8fbdb
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
Dmitry Shachnev 2019-04-04 17:17:59 +03:00
parent 5a168507b1
commit b404cd930e

View File

@ -501,7 +501,11 @@ bool qt_is_ascii(const char *&ptr, const char *end) Q_DECL_NOTHROW
while (ptr + 4 <= end) {
quint32 data = qFromUnaligned<quint32>(ptr);
if (data &= 0x80808080U) {
#if Q_BYTE_ORDER == Q_BIG_ENDIAN
uint idx = qCountLeadingZeroBits(data);
#else
uint idx = qCountTrailingZeroBits(data);
#endif
ptr += idx / 8;
return false;
}