aboutsummaryrefslogtreecommitdiffstats
path: root/src/sink.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sink.c')
-rw-r--r--src/sink.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/sink.c b/src/sink.c
index 5e04ced6..51b23ea5 100644
--- a/src/sink.c
+++ b/src/sink.c
@@ -3,6 +3,8 @@
#include "sink.h"
+#include "statement.h"
+
#include "serd/node.h"
#include "serd/sink.h"
#include "serd/statement.h"
@@ -77,6 +79,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,
@@ -89,10 +100,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