diff --git a/src/map/ENC/iso8211.cpp b/src/map/ENC/iso8211.cpp index c65252f5..40a1d05d 100644 --- a/src/map/ENC/iso8211.cpp +++ b/src/map/ENC/iso8211.cpp @@ -218,8 +218,10 @@ bool ISO8211::readDDR() for (int i = 0; i < fields.size(); i++) { SubFields def; if (!readDDA(fields.at(i), def)) { + QByteArray tag(sizeof(quint32), Qt::Initialization::Uninitialized); + qToLittleEndian(fields.at(i).tag, tag.data()); _errorString = QString("Error reading %1 DDA field") - .arg(QString(QByteArray((char*)&fields.at(i).tag, 4))); + .arg(QString(tag)); return false; } _map.insert(fields.at(i).tag, def); @@ -323,14 +325,16 @@ bool ISO8211::readRecord(Record &record) FieldsMap::const_iterator it(_map.find(def.tag)); if (it == _map.constEnd()) { - _errorString = QString("%1: unknown record") - .arg(QString(QByteArray((char*)&def.tag, 4))); + QByteArray tag(sizeof(quint32), Qt::Initialization::Uninitialized); + qToLittleEndian(def.tag, tag.data()); + _errorString = QString("%1: unknown record").arg(QString(tag)); return false; } if (!readUDA(pos, def, it->defs(), it->repeat(), data)) { - _errorString = QString("Error reading %1 record") - .arg(QString(QByteArray((char*)&def.tag, 4))); + QByteArray tag(sizeof(quint32), Qt::Initialization::Uninitialized); + qToLittleEndian(def.tag, tag.data()); + _errorString = QString("Error reading %1 record").arg(QString(tag)); return false; }