aboutsummaryrefslogtreecommitdiffstats
path: root/src/serdi.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2018-07-13 21:04:54 +0200
committerDavid Robillard <d@drobilla.net>2018-12-31 11:37:48 -0500
commit8e5dbd1d5b62f66888dbf74929240da0b7ab465b (patch)
tree51183805ec41f5acb2c07ec17a64d189687c389a /src/serdi.c
parent87a1b30968d422831615ffb2fce33603a3e24e84 (diff)
downloadserd-8e5dbd1d5b62f66888dbf74929240da0b7ab465b.tar.gz
serd-8e5dbd1d5b62f66888dbf74929240da0b7ab465b.tar.bz2
serd-8e5dbd1d5b62f66888dbf74929240da0b7ab465b.zip
Separate ByteSink from Writer
Diffstat (limited to 'src/serdi.c')
-rw-r--r--src/serdi.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/serdi.c b/src/serdi.c
index 515d547e..fddf746a 100644
--- a/src/serdi.c
+++ b/src/serdi.c
@@ -193,15 +193,17 @@ main(int argc, char** argv)
SerdWorld* world = serd_world_new();
SerdEnv* env = serd_env_new(base);
- const SerdStyleFlags output_style = ((ascii ? SERD_STYLE_ASCII : 0) |
- (bulk_write ? SERD_STYLE_BULK : 0));
+ const SerdStyleFlags output_style = (ascii ? SERD_STYLE_ASCII : 0);
+
+ SerdByteSink* byte_sink = serd_byte_sink_new(
+ (SerdWriteFunc)fwrite, out_fd, bulk_write ? 4096 : 1);
SerdWriter* writer = serd_writer_new(world,
output_syntax,
output_style,
env,
- (SerdWriteFunc)fwrite,
- out_fd);
+ (SerdWriteFunc)serd_byte_sink_write,
+ byte_sink);
SerdReader* reader = serd_reader_new(
world, input_syntax, serd_writer_get_sink(writer), stack_size);
@@ -242,8 +244,8 @@ main(int argc, char** argv)
serd_reader_finish(reader);
serd_reader_free(reader);
- serd_writer_finish(writer);
serd_writer_free(writer);
+ serd_byte_sink_free(byte_sink);
serd_env_free(env);
serd_node_free(base);
serd_world_free(world);