pull/25/merge
Pavel Gushchin 8 years ago committed by GitHub
commit bfe6d9cd34
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -251,11 +251,12 @@ BOOL CSoundFile::ReadMT2(LPCBYTE lpStream, DWORD dwMemLength)
{
DWORD nTxtLen = dwLen;
if (nTxtLen > 32000) nTxtLen = 32000;
m_lpszSongComments = new char[nTxtLen]; // changed from CHAR
if (m_lpszSongComments)
{
memcpy(m_lpszSongComments, lpStream+dwMemPos+1, nTxtLen-1);
m_lpszSongComments[nTxtLen-1] = 0;
try {
m_lpszSongComments = new char[nTxtLen]; // changed from CHAR
memcpy(m_lpszSongComments, lpStream + dwMemPos + 1, nTxtLen - 1);
m_lpszSongComments[nTxtLen - 1] = 0;
}
catch (std::bad_alloc& ba) {
}
}
break;
@ -402,19 +403,20 @@ BOOL CSoundFile::ReadMT2(LPCBYTE lpStream, DWORD dwMemLength)
INSTRUMENTHEADER *penv = NULL;
if (iIns <= m_nInstruments)
{
penv = new INSTRUMENTHEADER;
Headers[iIns] = penv;
if (penv)
{
try {
penv = new INSTRUMENTHEADER;
Headers[iIns] = penv;
memset(penv, 0, sizeof(INSTRUMENTHEADER));
memcpy(penv->name, pmi->szName, 32);
penv->nGlobalVol = 64;
penv->nPan = 128;
for (UINT i=0; i<NOTE_MAX; i++)
for (UINT i = 0; i < NOTE_MAX; i++)
{
penv->NoteMap[i] = i+1;
penv->NoteMap[i] = i + 1;
}
}
catch (std::bad_alloc& ba) {
}
}
#ifdef MT2DEBUG
if (iIns <= pfh->wInstruments) Log(" Instrument #%d at offset %04X: %d bytes\n", iIns, dwMemPos, pmi->dwDataLen);

@ -13,6 +13,8 @@
#ifndef __SNDFILE_H
#define __SNDFILE_H
#include <new>
#ifdef UNDER_CE
int _strnicmp(const char *str1,const char *str2, int n);
#endif

Loading…
Cancel
Save