aboutsummaryrefslogtreecommitdiffstats
path: root/src/node_syntax.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/node_syntax.c')
-rw-r--r--src/node_syntax.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/node_syntax.c b/src/node_syntax.c
index b1d10a5d..0c45e33a 100644
--- a/src/node_syntax.c
+++ b/src/node_syntax.c
@@ -99,8 +99,12 @@ serd_node_to_syntax_in(const SerdNode* const node,
SerdWriter* const writer = serd_writer_new(world, syntax, 0, env, out);
char* result = NULL;
- if (!serd_writer_write_node(writer, node) && !serd_writer_finish(writer)) {
- result = serd_buffer_sink_finish(&buffer);
+ if (!serd_writer_write_node(writer, node) && !serd_writer_finish(writer) &&
+ !serd_byte_sink_close(out)) {
+ result = (char*)buffer.buf;
+ } else {
+ serd_byte_sink_close(out);
+ free(buffer.buf);
}
serd_writer_free(writer);