diff options
Diffstat (limited to 'src/sink.c')
-rw-r--r-- | src/sink.c | 17 |
1 files changed, 13 insertions, 4 deletions
@@ -16,6 +16,8 @@ #include "sink.h" +#include "statement.h" + #include "serd/serd.h" #include <assert.h> @@ -87,6 +89,15 @@ serd_sink_write_prefix(const SerdSink* sink, } SerdStatus +serd_sink_write_statement(const SerdSink* sink, + const SerdStatementFlags flags, + const SerdStatement* statement) +{ + return sink->statement ? sink->statement(sink->handle, flags, statement) + : SERD_SUCCESS; +} + +SerdStatus serd_sink_write(const SerdSink* sink, const SerdStatementFlags flags, const SerdNode* subject, @@ -99,10 +110,8 @@ serd_sink_write(const SerdSink* sink, assert(predicate); assert(object); - return sink->statement - ? sink->statement( - sink->handle, flags, graph, subject, predicate, object) - : SERD_SUCCESS; + const SerdStatement statement = {{subject, predicate, object, graph}, NULL}; + return serd_sink_write_statement(sink, flags, &statement); } SerdStatus |