diff options
Diffstat (limited to '')
-rw-r--r-- | src/input/curl_input_plugin.c | 1 | ||||
-rw-r--r-- | src/input/file_input_plugin.c | 1 | ||||
-rw-r--r-- | src/input/mms_input_plugin.c | 1 | ||||
-rw-r--r-- | src/input/rewind_input_plugin.c | 1 | ||||
-rw-r--r-- | src/input_stream.c | 2 | ||||
-rw-r--r-- | src/input_stream.h | 6 |
6 files changed, 10 insertions, 2 deletions
diff --git a/src/input/curl_input_plugin.c b/src/input/curl_input_plugin.c index c54d994e8..1b759b4fc 100644 --- a/src/input/curl_input_plugin.c +++ b/src/input/curl_input_plugin.c @@ -195,6 +195,7 @@ input_curl_free(struct input_curl *c) g_queue_free(c->buffers); g_free(c->url); + input_stream_deinit(&c->base); g_free(c); } diff --git a/src/input/file_input_plugin.c b/src/input/file_input_plugin.c index 1c5813f88..173b7c2e8 100644 --- a/src/input/file_input_plugin.c +++ b/src/input/file_input_plugin.c @@ -136,6 +136,7 @@ input_file_close(struct input_stream *is) struct file_input_stream *fis = (struct file_input_stream *)is; close(fis->fd); + input_stream_deinit(&fis->base); g_free(fis); } diff --git a/src/input/mms_input_plugin.c b/src/input/mms_input_plugin.c index 5055eb05e..31a75fdba 100644 --- a/src/input/mms_input_plugin.c +++ b/src/input/mms_input_plugin.c @@ -103,6 +103,7 @@ input_mms_close(struct input_stream *is) struct input_mms *m = (struct input_mms *)is; mmsx_close(m->mms); + input_stream_deinit(&m->base); g_free(m); } diff --git a/src/input/rewind_input_plugin.c b/src/input/rewind_input_plugin.c index 2804dd1b2..e82d4ecb9 100644 --- a/src/input/rewind_input_plugin.c +++ b/src/input/rewind_input_plugin.c @@ -98,6 +98,7 @@ input_rewind_close(struct input_stream *is) input_stream_close(r->input); + input_stream_deinit(&r->base); g_free(r); } diff --git a/src/input_stream.c b/src/input_stream.c index 96c692176..e769adb92 100644 --- a/src/input_stream.c +++ b/src/input_stream.c @@ -99,8 +99,6 @@ input_stream_read(struct input_stream *is, void *ptr, size_t size, void input_stream_close(struct input_stream *is) { - g_free(is->mime); - is->plugin->close(is); } diff --git a/src/input_stream.h b/src/input_stream.h index e48f7eb26..05ef257f9 100644 --- a/src/input_stream.h +++ b/src/input_stream.h @@ -76,6 +76,12 @@ input_stream_init(struct input_stream *is, const struct input_plugin *plugin) is->mime = NULL; } +static inline void +input_stream_deinit(struct input_stream *is) +{ + g_free(is->mime); +} + /** * Opens a new input stream. You may not access it until the "ready" * flag is set. |