From dc1cc7e7e52960cceea5514397ec33f7ffc0dd6d Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Fri, 30 Jan 2009 00:40:14 +0100 Subject: input_stream: let the implementation assign is->plugin This way, plugins can manipulate the plugin pointer during open(). --- src/input_stream.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/input_stream.c') diff --git a/src/input_stream.c b/src/input_stream.c index 234511e7f..b25f3bf40 100644 --- a/src/input_stream.c +++ b/src/input_stream.c @@ -80,7 +80,13 @@ input_stream_open(struct input_stream *is, const char *url) const struct input_plugin *plugin = input_plugins[i]; if (plugin->open(is, url)) { - is->plugin = plugin; + assert(is->plugin != NULL); + assert(is->plugin->open == NULL || + is->plugin == plugin); + assert(is->plugin->close != NULL); + assert(is->plugin->read != NULL); + assert(is->plugin->eof != NULL); + return true; } } -- cgit v1.2.3