aboutsummaryrefslogtreecommitdiffstats
path: root/src/input
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/input/curl_input_plugin.c1
-rw-r--r--src/input/file_input_plugin.c1
-rw-r--r--src/input/mms_input_plugin.c1
-rw-r--r--src/input/rewind_input_plugin.c1
-rw-r--r--src/input_stream.c2
-rw-r--r--src/input_stream.h6
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.