aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2008-04-12 04:18:38 +0000
committerEric Wong <normalperson@yhbt.net>2008-04-12 04:18:38 +0000
commitf2cdac6ee7a338ace92c6e884f65b9f89841970e (patch)
treeccd66e5181ab8d9ad0c95dcc91df1572247bf848 /src
parentb6881345860b7ea1465e746b33d15c8e9be3e505 (diff)
downloadmpd-f2cdac6ee7a338ace92c6e884f65b9f89841970e.tar.gz
mpd-f2cdac6ee7a338ace92c6e884f65b9f89841970e.tar.xz
mpd-f2cdac6ee7a338ace92c6e884f65b9f89841970e.zip
added output_buffer_free()
To do proper cleanup before exiting, we have to provide a destructor for OutputBuffer. One day, valgrind will not complain about memory leaks! git-svn-id: https://svn.musicpd.org/mpd/trunk@7315 09075e82-0dd4-0310-85a5-a0d7c8717e4f
Diffstat (limited to '')
-rw-r--r--src/outputBuffer.c6
-rw-r--r--src/outputBuffer.h2
-rw-r--r--src/playerData.c1
3 files changed, 9 insertions, 0 deletions
diff --git a/src/outputBuffer.c b/src/outputBuffer.c
index 8e2780eb2..de649e0c7 100644
--- a/src/outputBuffer.c
+++ b/src/outputBuffer.c
@@ -36,6 +36,12 @@ void initOutputBuffer(OutputBuffer * cb, unsigned int size)
cb->currentChunk = -1;
}
+void output_buffer_free(OutputBuffer * cb)
+{
+ assert(cb->chunks != NULL);
+ free(cb->chunks);
+}
+
void clearOutputBuffer(OutputBuffer * cb)
{
cb->end = cb->begin;
diff --git a/src/outputBuffer.h b/src/outputBuffer.h
index 6ca073836..9f5a996bb 100644
--- a/src/outputBuffer.h
+++ b/src/outputBuffer.h
@@ -62,6 +62,8 @@ typedef struct _OutputBuffer {
void initOutputBuffer(OutputBuffer * cb, unsigned int size);
+void output_buffer_free(OutputBuffer * cb);
+
void clearOutputBuffer(OutputBuffer * cb);
void flushOutputBuffer(OutputBuffer * cb);
diff --git a/src/playerData.c b/src/playerData.c
index 91a7ef661..6cc98ccc6 100644
--- a/src/playerData.c
+++ b/src/playerData.c
@@ -116,5 +116,6 @@ void freePlayerData(void)
* access playerData_pd and we need to keep it available for them */
waitpid(-1, NULL, 0);
+ output_buffer_free(&playerData_pd.buffer);
free(playerData_pd.audioDeviceStates);
}