Author: sagamusix
Date: Thu May 9 01:17:00 2024
New Revision: 20742
URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=20742
Log:
[Fix] ULT: Strings are space-padded, not null-terminated.
Modified:
trunk/OpenMPT/soundlib/Load_ult.cpp
Modified: trunk/OpenMPT/soundlib/Load_ult.cpp
==============================================================================
--- trunk/OpenMPT/soundlib/Load_ult.cpp Wed May 8 21:16:09 2024 (r20741)
+++ trunk/OpenMPT/soundlib/Load_ult.cpp Thu May 9 01:17:00 2024 (r20742)
@@ -18,7 +18,7 @@
{
char signature[14]; // "MAS_UTrack_V00"
uint8 version; // '1'...'4'
- char songName[32]; // Song Name, not guaranteed to be null-terminated
+ char songName[32]; // Song Name, space-padded
uint8 messageLength; // Number of Lines
};
@@ -51,7 +51,7 @@
mptSmp.Initialize();
mptSmp.Set16BitCuePoints();
- mptSmp.filename = mpt::String::ReadBuf(mpt::String::maybeNullTerminated, filename);
+ mptSmp.filename = mpt::String::ReadBuf(mpt::String::spacePadded, filename);
if(sizeEnd <= sizeStart)
{
@@ -385,7 +385,7 @@
}
InitializeGlobals(MOD_TYPE_ULT);
- m_songName = mpt::String::ReadBuf(mpt::String::maybeNullTerminated, fileHeader.songName);
+ m_songName = mpt::String::ReadBuf(mpt::String::spacePadded, fileHeader.songName);
const mpt::uchar *versions[] = {UL_("<1.4"), UL_("1.4"), UL_("1.5"), UL_("1.6")};
m_modFormat.formatName = U_("UltraTracker");
@@ -419,7 +419,7 @@
}
sampleHeader.ConvertToMPT(Samples[smp]);
- m_szNames[smp] = mpt::String::ReadBuf(mpt::String::maybeNullTerminated, sampleHeader.name);
+ m_szNames[smp] = mpt::String::ReadBuf(mpt::String::spacePadded, sampleHeader.name);
}
ReadOrderFromFile<uint8>(Order(), file, 256, 0xFF, 0xFE);
|