diff options
author | David Robillard <d@drobilla.net> | 2021-08-14 01:51:55 -0400 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2022-01-28 21:57:07 -0500 |
commit | b3892cb6e4963e1bbeb346a8124101b7c3cf379b (patch) | |
tree | 4800918b6f4db5ce0d0f4802988c1935996d6ba3 /src/reader.c | |
parent | 0e739f34801ff6810064a8fac570f6be2b61ae70 (diff) | |
download | serd-b3892cb6e4963e1bbeb346a8124101b7c3cf379b.tar.gz serd-b3892cb6e4963e1bbeb346a8124101b7c3cf379b.tar.bz2 serd-b3892cb6e4963e1bbeb346a8124101b7c3cf379b.zip |
Simplify input stream API
More or less the same rationale as the previous commit, but for reading. This
makes for nice symmetry with writing, at the cost of a slightly more annoying
reader interface since the source doesn't know its block size or name.
Diffstat (limited to 'src/reader.c')
-rw-r--r-- | src/reader.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/reader.c b/src/reader.c index c8a66c42..d051c34a 100644 --- a/src/reader.c +++ b/src/reader.c @@ -310,14 +310,17 @@ skip_bom(SerdReader* const me) } SerdStatus -serd_reader_start(SerdReader* const reader, SerdByteSource* const byte_source) +serd_reader_start(SerdReader* const reader, + SerdInputStream* const input, + const SerdNode* const input_name, + const size_t block_size) { assert(reader); - assert(byte_source); + assert(input); serd_reader_finish(reader); - reader->source = byte_source; + reader->source = serd_byte_source_new_input(input, input_name, block_size); return reader->source ? SERD_SUCCESS : SERD_ERR_BAD_ARG; } @@ -358,6 +361,7 @@ serd_reader_finish(SerdReader* const reader) { assert(reader); + serd_byte_source_free(reader->source); reader->source = NULL; return SERD_SUCCESS; } |