aboutsummaryrefslogtreecommitdiffstats
path: root/src/sink.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2018-06-03 19:24:59 +0200
committerDavid Robillard <d@drobilla.net>2021-03-08 23:23:05 -0500
commit846553f8894264d64cdd1dfb08df56fe08189dac (patch)
tree6ca8d42da04999851491edcf6811d05d4962bcac /src/sink.c
parent7c6c3159d1804f4855d9a4e0cd52486f61fcbab6 (diff)
downloadserd-846553f8894264d64cdd1dfb08df56fe08189dac.tar.gz
serd-846553f8894264d64cdd1dfb08df56fe08189dac.tar.bz2
serd-846553f8894264d64cdd1dfb08df56fe08189dac.zip
Add SerdStatement
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 b62af23a..6f8cc734 100644
--- a/src/sink.c
+++ b/src/sink.c
@@ -16,6 +16,8 @@
#include "sink.h"
+#include "statement.h"
+
#include "serd/serd.h"
#include <stdlib.h>
@@ -86,6 +88,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,
@@ -93,10 +104,8 @@ serd_sink_write(const SerdSink* sink,
const SerdNode* object,
const SerdNode* graph)
{
- 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