diff options
author | Max Horn | 2003-08-05 00:31:00 +0000 |
---|---|---|
committer | Max Horn | 2003-08-05 00:31:00 +0000 |
commit | b96e5501e669dc7e781a780ac810963d08131477 (patch) | |
tree | 823a19aaf812d4878ca9501838c890690e04e573 | |
parent | e1ff91ea7d64a656767770a1c52d6d5eaebe398f (diff) | |
download | scummvm-rg350-b96e5501e669dc7e781a780ac810963d08131477.tar.gz scummvm-rg350-b96e5501e669dc7e781a780ac810963d08131477.tar.bz2 scummvm-rg350-b96e5501e669dc7e781a780ac810963d08131477.zip |
catch one potential problem, namely if eos is already reached when readBuffer is called ('This should never happen anyway', famous last words)
svn-id: r9472
-rw-r--r-- | sound/audiostream.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sound/audiostream.cpp b/sound/audiostream.cpp index e636e96cb2..2c92fc7916 100644 --- a/sound/audiostream.cpp +++ b/sound/audiostream.cpp @@ -70,7 +70,7 @@ public: } int readBuffer(int16 *buffer, int numSamples) { int samples = 0; - do { + while (samples < numSamples && !eosIntern()) { const int len = MIN(numSamples, (_end - _ptr) / (is16Bit ? 2 : 1)); for (; samples < len; samples++) { *buffer++ = readSample<is16Bit, isUnsigned>(_ptr); @@ -80,7 +80,7 @@ public: _ptr = _loopPtr; _end = _loopEnd; } - } while (samples < numSamples && !eosIntern()); + } return samples; } |