From 63edb5d1665e7b7a9a4750c063d27a8ae7d75a77 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 3 Jun 2018 19:47:07 +0200 Subject: Make statement sink take a statement rather than nodes This makes the interface more extensible, towards associating more information with statements. The serd_sink_write_nodes wrapper remains so that user code does not need to allocate in order to write statement. --- src/sink.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) (limited to 'src/sink.c') diff --git a/src/sink.c b/src/sink.c index eb31bbf6..1c5c500f 100644 --- a/src/sink.c +++ b/src/sink.c @@ -16,6 +16,8 @@ #include "serd/serd.h" +#include "statement.h" + SerdStatus serd_sink_write_base(const SerdSink* sink, const SerdNode* uri) { @@ -35,12 +37,7 @@ serd_sink_write_statement(const SerdSink* sink, const SerdStatementFlags flags, const SerdStatement* statement) { - return sink->statement(sink->handle, - flags, - serd_statement_get_graph(statement), - serd_statement_get_subject(statement), - serd_statement_get_predicate(statement), - serd_statement_get_object(statement)); + return sink->statement(sink->handle, flags, statement); } SerdStatus @@ -51,8 +48,8 @@ serd_sink_write(const SerdSink* sink, const SerdNode* object, const SerdNode* graph) { - return sink->statement( - sink->handle, flags, graph, subject, predicate, object); + const SerdStatement statement = { { subject, predicate, object, graph } }; + return sink->statement(sink->handle, flags, &statement); } SerdStatus -- cgit v1.2.1