diff options
author | Dmitry Shachnev <mitya57@gmail.com> | 2019-04-04 17:17:59 +0300 |
---|---|---|
committer | Dmitry Shachnev <mitya57@gmail.com> | 2019-04-05 06:56:21 +0000 |
commit | b404cd930e32520f8ad62088c9ed31f33ce95933 (patch) | |
tree | 60db2c968708d6820b78d361a9fca0bad10ed70d | |
parent | 5a168507b1a3413d71cddfc5245adedcfe46b55d (diff) |
Make qt_is_ascii work properly on big endian systems
Change-Id: Ia053fbc854a77e333edadb0be6c2e04826b8fbdb
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
-rw-r--r-- | src/corelib/tools/qstring.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/corelib/tools/qstring.cpp b/src/corelib/tools/qstring.cpp index d8bfb69a8b..4852d20082 100644 --- a/src/corelib/tools/qstring.cpp +++ b/src/corelib/tools/qstring.cpp @@ -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; } |