From 0a49f76c0a9a53fa54258fc1a0907a242f1448b3 Mon Sep 17 00:00:00 2001 From: Chocobo1 Date: Sun, 13 May 2018 22:28:02 +0800 Subject: [PATCH] Detect endianness at compile time --- src/base/net/private/geoipdatabase.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/base/net/private/geoipdatabase.cpp b/src/base/net/private/geoipdatabase.cpp index b0480c98c..2dc906c37 100644 --- a/src/base/net/private/geoipdatabase.cpp +++ b/src/base/net/private/geoipdatabase.cpp @@ -38,8 +38,6 @@ namespace { - const quint32 __ENDIAN_TEST__ = 0x00000001; - const bool __IS_LITTLE_ENDIAN__ = (reinterpret_cast(&__ENDIAN_TEST__)[0] == 0x01); const qint32 MAX_FILE_SIZE = 67108864; // 64MB const char DB_TYPE[] = "GeoLite2-Country"; const quint32 MAX_METADATA_SIZE = 131072; // 128KB @@ -448,8 +446,12 @@ bool GeoIPDatabase::readDataFieldDescriptor(quint32 &offset, DataFieldDescriptor void GeoIPDatabase::fromBigEndian(uchar *buf, quint32 len) const { - if (__IS_LITTLE_ENDIAN__) - std::reverse(buf, buf + len); +#if (Q_BYTE_ORDER == Q_LITTLE_ENDIAN) + std::reverse(buf, buf + len); +#else + Q_UNUSED(buf); + Q_UNUSED(len); +#endif } QVariant GeoIPDatabase::readMapValue(quint32 &offset, quint32 count) const