From: <sv...@op...> - 2024-05-11 20:13:40
|
Author: sagamusix Date: Sat May 11 22:13:28 2024 New Revision: 20763 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=20763 Log: Merged revision(s) 20742 from trunk/OpenMPT: [Fix] ULT: Strings are space-padded, not null-terminated. ........ Modified: branches/OpenMPT-1.30/ (props changed) branches/OpenMPT-1.30/soundlib/Load_ult.cpp Modified: branches/OpenMPT-1.30/soundlib/Load_ult.cpp ============================================================================== --- branches/OpenMPT-1.30/soundlib/Load_ult.cpp Sat May 11 22:11:21 2024 (r20762) +++ branches/OpenMPT-1.30/soundlib/Load_ult.cpp Sat May 11 22:13:28 2024 (r20763) @@ -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) { @@ -408,7 +408,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"); @@ -442,7 +442,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); |