diff options
author | Chris Robinson <[email protected]> | 2010-03-20 21:49:02 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2010-03-20 21:49:02 -0700 |
commit | 49db3bf9166ccf5193e032acf1d810758fab267f (patch) | |
tree | dd05506256813e2dcceb2eb531707cec7ca69478 /OpenAL32/alBuffer.c | |
parent | 99f28f25b07e28415ce58fd552dcadf2a187c3e3 (diff) |
Cleanup and fixup Release* functions
Diffstat (limited to 'OpenAL32/alBuffer.c')
-rw-r--r-- | OpenAL32/alBuffer.c | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/OpenAL32/alBuffer.c b/OpenAL32/alBuffer.c index eaf508af..b4fc3158 100644 --- a/OpenAL32/alBuffer.c +++ b/OpenAL32/alBuffer.c @@ -1274,21 +1274,18 @@ static void ConvertDataMULawRear(ALfloat *dst, const ALvoid *src, ALsizei len) */ ALvoid ReleaseALBuffers(ALCdevice *device) { - ALbuffer *ALBuffer; - ALbuffer *ALBufferTemp; - - ALBuffer = device->BufferList; - while(ALBuffer) + while(device->BufferList) { + ALbuffer *temp = device->BufferList; + device->BufferList = temp->next; + // Release sample data - free(ALBuffer->data); + free(temp->data); // Release Buffer structure - ALBufferTemp = ALBuffer; - ALBuffer = ALBuffer->next; - memset(ALBufferTemp, 0, sizeof(ALbuffer)); - free(ALBufferTemp); + ALTHUNK_REMOVEENTRY(temp->buffer); + memset(temp, 0, sizeof(ALbuffer)); + free(temp); } - device->BufferList = NULL; device->BufferCount = 0; } |