aboutsummaryrefslogtreecommitdiffstats
path: root/OpenAL32/alDatabuffer.c
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2010-03-20 21:49:02 -0700
committerChris Robinson <[email protected]>2010-03-20 21:49:02 -0700
commit49db3bf9166ccf5193e032acf1d810758fab267f (patch)
treedd05506256813e2dcceb2eb531707cec7ca69478 /OpenAL32/alDatabuffer.c
parent99f28f25b07e28415ce58fd552dcadf2a187c3e3 (diff)
Cleanup and fixup Release* functions
Diffstat (limited to 'OpenAL32/alDatabuffer.c')
-rw-r--r--OpenAL32/alDatabuffer.c21
1 files changed, 9 insertions, 12 deletions
diff --git a/OpenAL32/alDatabuffer.c b/OpenAL32/alDatabuffer.c
index f13bc34e..df31e6f7 100644
--- a/OpenAL32/alDatabuffer.c
+++ b/OpenAL32/alDatabuffer.c
@@ -650,21 +650,18 @@ ALvoid AL_APIENTRY alUnmapDatabufferEXT(ALuint uiBuffer)
*/
ALvoid ReleaseALDatabuffers(ALCdevice *device)
{
- ALdatabuffer *ALBuffer;
- ALdatabuffer *ALBufferTemp;
-
- ALBuffer = device->DatabufferList;
- while(ALBuffer)
+ while(device->DatabufferList)
{
- // Release sample data
- free(ALBuffer->data);
+ ALdatabuffer *temp = device->DatabufferList;
+ device->DatabufferList = temp->next;
+
+ // Release buffer data
+ free(temp->data);
// Release Buffer structure
- ALBufferTemp = ALBuffer;
- ALBuffer = ALBuffer->next;
- memset(ALBufferTemp, 0, sizeof(ALdatabuffer));
- free(ALBufferTemp);
+ ALTHUNK_REMOVEENTRY(temp->databuffer);
+ memset(temp, 0, sizeof(ALdatabuffer));
+ free(temp);
}
- device->DatabufferList = NULL;
device->DatabufferCount = 0;
}