aboutsummaryrefslogtreecommitdiffstats
path: root/src/reader.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2018-12-29 17:36:15 -0500
committerDavid Robillard <d@drobilla.net>2019-12-19 20:57:55 -0500
commitb1e79af3188b1caf2051fca20fba6464e4ce62d4 (patch)
tree9c8d230bd6392440c7779aebdb8e133b0a6f4faa /src/reader.c
parenta20bfec928afe3be17765f7b044ecd7244502689 (diff)
downloadserd-b1e79af3188b1caf2051fca20fba6464e4ce62d4.tar.gz
serd-b1e79af3188b1caf2051fca20fba6464e4ce62d4.tar.bz2
serd-b1e79af3188b1caf2051fca20fba6464e4ce62d4.zip
Add Env to Sink
This isn't technically necessary for any sink, but is a pattern common to every sink implementation in serd, so having it here reduces boilerplate and parameters in user code.
Diffstat (limited to 'src/reader.c')
-rw-r--r--src/reader.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/reader.c b/src/reader.c
index 778616d2..44117a20 100644
--- a/src/reader.c
+++ b/src/reader.c
@@ -20,7 +20,6 @@
#include "node.h"
#include "serd/serd.h"
#include "serd_internal.h"
-#include "sink.h"
#include "stack.h"
#include "statement.h"
#include "system.h"
@@ -121,9 +120,6 @@ SerdStatus
emit_statement(SerdReader* reader, ReadContext ctx, SerdNode* o)
{
SerdNode* graph = ctx.graph;
- if (!reader->sink->statement) {
- return SERD_SUCCESS;
- }
/* Zero the pad of the object node on the top of the stack. Lower nodes
(subject and predicate) were already zeroed by subsequent pushes. */
@@ -134,8 +130,9 @@ emit_statement(SerdReader* reader, ReadContext ctx, SerdNode* o)
&reader->source.cur
};
- const SerdStatus st = reader->sink->statement(
- reader->sink->handle, *ctx.flags, &statement);
+ const SerdStatus st = serd_sink_write_statement(
+ reader->sink, *ctx.flags, &statement);
+
*ctx.flags = 0;
return st;
}