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>2022-01-13 23:03:54 -0500
commitdd02840dcb298a63a7fadd5817a71d020786e95e (patch)
treec29261ceff41601d84dc65fd8015951b726faed3 /src/sink.c
parentbf72cc408db5244881143619236aee20156f4ffd (diff)
downloadserd-dd02840dcb298a63a7fadd5817a71d020786e95e.tar.gz
serd-dd02840dcb298a63a7fadd5817a71d020786e95e.tar.bz2
serd-dd02840dcb298a63a7fadd5817a71d020786e95e.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 959a92b3..f78a0f18 100644
--- a/src/sink.c
+++ b/src/sink.c
@@ -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