diff options
author | Lionel Ulmer | 2002-06-02 20:28:09 +0000 |
---|---|---|
committer | Lionel Ulmer | 2002-06-02 20:28:09 +0000 |
commit | 4387c22d30298575b2c5a193d0b61a3080a9bd8c (patch) | |
tree | 2c1d0974bd01307de58c25ceea2653bc09b6b617 | |
parent | da43c14569e7d83813e65e5187041ea11fccef13 (diff) | |
download | scummvm-rg350-4387c22d30298575b2c5a193d0b61a3080a9bd8c.tar.gz scummvm-rg350-4387c22d30298575b2c5a193d0b61a3080a9bd8c.tar.bz2 scummvm-rg350-4387c22d30298575b2c5a193d0b61a3080a9bd8c.zip |
Small warning fix + double inclusion protection (can always be useful
:) ).
svn-id: r4395
-rw-r--r-- | sound.cpp | 12 | ||||
-rw-r--r-- | stdafx.h | 8 | ||||
-rw-r--r-- | system.h | 5 |
3 files changed, 21 insertions, 4 deletions
@@ -89,7 +89,7 @@ void Scumm::processSoundQues() ); #endif if ((_gameId == GID_DIG) && ((data[0] == 12) || (data[0] == 14))){ - uint32 size, rate, tag, chan, bits; + uint32 size = 0, rate = 0, tag, chan = 0, bits = 0; uint8 * ptr = getResourceAddress(rtSound, data[1]); if (ptr != NULL) { ptr+=16; /* Skip header */ @@ -125,8 +125,7 @@ void Scumm::processSoundQues() else if (chan == 2) { _mixer->play_raw(NULL, buffer, size, rate, SoundMixer::FLAG_AUTOFREE | SoundMixer::FLAG_UNSIGNED | SoundMixer::FLAG_STEREO); } - } - if (bits == 12) { + } else if (bits == 12) { uint32 s_size = (size * 4) / 3; byte * buffer = (byte*)malloc (s_size + 4); uint32 l = 0, r = 0, tmp; @@ -853,7 +852,7 @@ void Scumm::decompressBundleSound(int index) { { /* Parse decompressed data */ int rate = 22050; byte *ptr = CompFinal; - int tag, size; + int tag, size = -1; tag = READ_BE_UINT32(ptr); ptr+=4; if (tag != MKID_BE('iMUS')) { warning("Decompression of bundle sound failed"); @@ -884,6 +883,11 @@ void Scumm::decompressBundleSound(int index) { } } + if (size < 0) { + warning("Decompression of bundle sound failed (no size field)"); + free(CompFinal); + return; + } Final = (unsigned char *)malloc(size); memcpy(&Final[0], &ptr[0], size); _mixer->play_raw(NULL, Final, size, rate, SoundMixer::FLAG_UNSIGNED | SoundMixer::FLAG_AUTOFREE); @@ -2,6 +2,10 @@ * $Id$ * * $Log$ + * Revision 1.17 2002/06/02 20:28:09 bbrox + * Small warning fix + double inclusion protection (can always be useful + * :) ). + * * Revision 1.16 2002/05/05 20:04:25 fingolfin * cleaning up the mess drigo left... <sigh> * @@ -42,6 +46,9 @@ * */ +#ifndef _STDAFX_H +#define _STDAFX_H + #if defined(NONSTANDARD_PORT) #include <portdefs.h> @@ -150,3 +157,4 @@ #endif #endif +#endif @@ -20,6 +20,9 @@ * */ +#ifndef _SYSTEM_H +#define _SYSTEM_H + /* Interface to what's below ScummVM */ class OSystem { @@ -178,3 +181,5 @@ enum { GD_MAC, GD_DC }; + +#endif |