diff options
author | David Robillard <d@drobilla.net> | 2019-02-24 09:35:10 +0100 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2019-12-20 10:26:55 -0500 |
commit | 9301afbc10a7092994ed3868135975f6fbc6f351 (patch) | |
tree | 2ff7646cc13add25151dc8e3d7349870a09bba12 | |
parent | eb03002ae2d3692a3591e2fa0f54ec910fdfb23a (diff) | |
download | serd-9301afbc10a7092994ed3868135975f6fbc6f351.tar.gz serd-9301afbc10a7092994ed3868135975f6fbc6f351.tar.bz2 serd-9301afbc10a7092994ed3868135975f6fbc6f351.zip |
Make reader tolerant of being started several times
-rw-r--r-- | src/reader.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/reader.c b/src/reader.c index ba8bec4e..ca16d2e7 100644 --- a/src/reader.c +++ b/src/reader.c @@ -240,6 +240,7 @@ serd_reader_start_stream(SerdReader* reader, const SerdNode* name, size_t page_size) { + serd_reader_finish(reader); return serd_byte_source_open_source( &reader->source, read_func, error_func, NULL, stream, name, page_size); } @@ -247,6 +248,8 @@ serd_reader_start_stream(SerdReader* reader, SerdStatus serd_reader_start_file(SerdReader* reader, const char* uri, bool bulk) { + serd_reader_finish(reader); + char* const path = serd_file_uri_parse(uri, NULL); if (!path) { return SERD_ERR_BAD_ARG; @@ -276,6 +279,7 @@ serd_reader_start_string(SerdReader* reader, const char* utf8, const SerdNode* name) { + serd_reader_finish(reader); return serd_byte_source_open_string(&reader->source, utf8, name); } |