summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Holthuis <jholthuis@mixxx.org>2022-01-15 11:59:59 +0100
committerJan Holthuis <jholthuis@mixxx.org>2022-01-15 12:38:01 +0100
commit35d104e1f67f32a1bcc40497e402c9dbfbbe16c2 (patch)
tree10fda4707dcd7acec4946b40c5ebaa2a99739475
parentf76fe15607909b727ac40bc5067f35e13456b40f (diff)
SeratoMarkers(2): Cast size to quint32 during serialization
In Qt >= 6.0, the return value of QList::size() and QByteArray::length() is qsizetype (which may be 8 bytes on 64 bit platforms) instead of a regular 4 byte int. We add a typecast to quint32 to ensure that the size is always serialized correctly.
-rw-r--r--src/track/serato/markers.cpp4
-rw-r--r--src/track/serato/markers2.cpp4
2 files changed, 4 insertions, 4 deletions
diff --git a/src/track/serato/markers.cpp b/src/track/serato/markers.cpp
index eda52ff80a..7cf933b5cb 100644
--- a/src/track/serato/markers.cpp
+++ b/src/track/serato/markers.cpp
@@ -569,7 +569,7 @@ QByteArray SeratoMarkers::dumpID3() const {
QDataStream stream(&data, QIODevice::WriteOnly);
stream.setByteOrder(QDataStream::BigEndian);
- stream << kVersion << m_entries.size();
+ stream << kVersion << static_cast<quint32>(m_entries.size());
for (int i = 0; i < m_entries.size(); i++) {
SeratoMarkersEntryPointer pEntry = m_entries.at(i);
stream.writeRawData(pEntry->dumpID3(), kEntrySizeID3);
@@ -593,7 +593,7 @@ QByteArray SeratoMarkers::dumpMP4() const {
stream.setByteOrder(QDataStream::BigEndian);
stream.writeRawData(kSeratoMarkersBase64EncodedPrefix.constData(),
kSeratoMarkersBase64EncodedPrefix.length());
- stream << kVersion << m_entries.size();
+ stream << kVersion << static_cast<quint32>(m_entries.size());
for (int i = 0; i < m_entries.size(); i++) {
SeratoMarkersEntryPointer pEntry = m_entries.at(i);
stream.writeRawData(pEntry->dumpMP4(), kEntrySizeMP4);
diff --git a/src/track/serato/markers2.cpp b/src/track/serato/markers2.cpp
index 550c1bc906..07b4a62566 100644
--- a/src/track/serato/markers2.cpp
+++ b/src/track/serato/markers2.cpp
@@ -537,7 +537,7 @@ QByteArray SeratoMarkers2::dumpCommon() const {
QByteArray entryData = entry->dump();
stream.writeRawData(entryName.constData(), entryName.length());
stream << static_cast<quint8>('\x00') // terminating null-byte
- << entryData.length();
+ << static_cast<quint32>(entryData.length());
stream.writeRawData(entryData.constData(), entryData.length());
}
data.append('\0');
@@ -767,7 +767,7 @@ QByteArray SeratoMarkers2::dumpBase64Encoded() const {
QByteArray entryData = entry->dump();
stream.writeRawData(entryName.constData(), entryName.length());
stream << static_cast<quint8>(0x00) // terminating null-byte
- << entryData.length();
+ << static_cast<quint32>(entryData.length());
stream.writeRawData(entryData.constData(), entryData.length());
}
innerData.append('\0');