Merge pull request #3517 from glassez/strict_aliasing

Fix strict-aliasing warning.
This commit is contained in:
sledgehammer999 2015-08-03 02:50:22 +03:00
commit 929cd30e33

View file

@ -374,11 +374,11 @@ namespace
bool left = true; bool left = true;
Node node; Node node;
for (quint32 i = 0; i < (2 * m_geoIPData->nodeCount); ++i) { for (quint32 i = 0; i < (2 * m_geoIPData->nodeCount); ++i) {
uchar buf[4] = { 0 }; quint32 id = 0;
uchar *idPtr = reinterpret_cast<uchar *>(&id);
memcpy(&buf[4 - recordBytes], ptr, recordBytes); memcpy(&idPtr[4 - recordBytes], ptr, recordBytes);
fromBigEndian(buf, 4); fromBigEndian(idPtr, 4);
quint32 id = *(reinterpret_cast<quint32 *>(buf));
if ((id > m_geoIPData->nodeCount) && !m_geoIPData->countries.contains(id)) { if ((id > m_geoIPData->nodeCount) && !m_geoIPData->countries.contains(id)) {
const quint32 offset = id - m_geoIPData->nodeCount - sizeof(DATA_SECTION_SEPARATOR); const quint32 offset = id - m_geoIPData->nodeCount - sizeof(DATA_SECTION_SEPARATOR);