diff options
author | Sven Gothel <[email protected]> | 2014-02-15 02:52:29 +0100 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2014-02-15 02:52:29 +0100 |
commit | 167b92184dfbe512d5095d017e6057280f5e9c8b (patch) | |
tree | c0957de971c402fd2b72887374a7c821ae40a219 /Alc/midi/sf2load.c | |
parent | 4b0fce521472bc30a539a252f83289dd1c32cb9e (diff) | |
parent | 29e0af5ef052a3602f9b7935d6002c6d2ae5e8cb (diff) |
Merge branch 'UPSTREAM' into UPSTREAM_MERGE
Diffstat (limited to 'Alc/midi/sf2load.c')
-rw-r--r-- | Alc/midi/sf2load.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/Alc/midi/sf2load.c b/Alc/midi/sf2load.c index 5bba345f..169a5189 100644 --- a/Alc/midi/sf2load.c +++ b/Alc/midi/sf2load.c @@ -1192,15 +1192,18 @@ ALboolean loadSf2(Reader *stream, ALsoundfont *soundfont, ALCcontext *context) READ(stream, ptr, smpl.mSize); else { - while(smpl.mSize > 0) + ALuint total = 0; + while(total < smpl.mSize) { ALbyte buf[4096]; - ALuint todo = minu(smpl.mSize, sizeof(buf)); + ALuint todo = minu(smpl.mSize-total, sizeof(buf)); ALuint i; READ(stream, buf, todo); for(i = 0;i < todo;i++) - ptr[i] = buf[i^1]; + ptr[total+i] = buf[i^1]; + + total += todo; } } list.mSize -= smpl.mSize; |