diff options
author | David Robillard <d@drobilla.net> | 2021-08-08 20:00:43 -0400 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2022-01-28 21:57:07 -0500 |
commit | 9547c806dbf76d6afd1e324fc924abdf944c4bda (patch) | |
tree | 012ecf59cac892711d5bcf8f717f0ca579bbf7cd /tools | |
parent | dc01b7e301e91d0d7bfc358f569f4f3849471c52 (diff) | |
download | serd-9547c806dbf76d6afd1e324fc924abdf944c4bda.tar.gz serd-9547c806dbf76d6afd1e324fc924abdf944c4bda.tar.bz2 serd-9547c806dbf76d6afd1e324fc924abdf944c4bda.zip |
Add a close function to SerdByteSink
This simplifies everything by replacing special cases with a more general close
function. A type is no longer stored in the structure, so the other
constructors are now essentially syntactic sugar for the universal
serd_byte_sink_new_function().
Diffstat (limited to 'tools')
-rw-r--r-- | tools/console.c | 3 | ||||
-rw-r--r-- | tools/serdi.c | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/tools/console.c b/tools/console.c index 339aca29..235d15d0 100644 --- a/tools/console.c +++ b/tools/console.c @@ -168,7 +168,8 @@ serd_open_output(const char* const filename, const size_t block_size) { if (!filename || !strcmp(filename, "-")) { serd_set_stream_utf8_mode(stdout); - return serd_byte_sink_new_function((SerdWriteFunc)fwrite, stdout, 1); + return serd_byte_sink_new_function( + (SerdWriteFunc)fwrite, (SerdStreamCloseFunc)fclose, stdout, 1); } return serd_byte_sink_new_filename(filename, block_size); diff --git a/tools/serdi.c b/tools/serdi.c index db1cfde0..db4a016f 100644 --- a/tools/serdi.c +++ b/tools/serdi.c @@ -527,7 +527,7 @@ main(int argc, char** argv) serd_node_free(base); serd_world_free(world); - if (serd_byte_sink_close(byte_sink) || (!out_filename && fclose(stdout))) { + if (serd_byte_sink_close(byte_sink)) { perror("serdi: write error"); st = SERD_ERR_UNKNOWN; } |