aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/reader.c3
-rw-r--r--src/sink.c5
-rw-r--r--src/statement.c6
-rw-r--r--src/statement.h3
4 files changed, 14 insertions, 3 deletions
diff --git a/src/reader.c b/src/reader.c
index e57f5bd9..f8cd27be 100644
--- a/src/reader.c
+++ b/src/reader.c
@@ -120,7 +120,8 @@ emit_statement(SerdReader* reader, ReadContext ctx, SerdNode* o)
serd_node_zero_pad(o);
const SerdStatement statement = {
- { ctx.subject, ctx.predicate, o, graph }
+ { ctx.subject, ctx.predicate, o, graph },
+ &reader->source.cur
};
const SerdStatus st = !reader->sink->statement
diff --git a/src/sink.c b/src/sink.c
index 1c5c500f..40071d72 100644
--- a/src/sink.c
+++ b/src/sink.c
@@ -18,6 +18,8 @@
#include "statement.h"
+#include <stddef.h>
+
SerdStatus
serd_sink_write_base(const SerdSink* sink, const SerdNode* uri)
{
@@ -48,7 +50,8 @@ serd_sink_write(const SerdSink* sink,
const SerdNode* object,
const SerdNode* graph)
{
- const SerdStatement statement = { { subject, predicate, object, graph } };
+ const SerdStatement statement = { { subject, predicate, object, graph },
+ NULL };
return sink->statement(sink->handle, flags, &statement);
}
diff --git a/src/statement.c b/src/statement.c
index 8d9c3f72..c9c9dca1 100644
--- a/src/statement.c
+++ b/src/statement.c
@@ -45,3 +45,9 @@ serd_statement_graph(const SerdStatement* statement)
{
return statement->nodes[SERD_GRAPH];
}
+
+const SerdCursor*
+serd_statement_cursor(const SerdStatement* statement)
+{
+ return statement->cursor;
+}
diff --git a/src/statement.h b/src/statement.h
index 19b4a91f..1cb5345c 100644
--- a/src/statement.h
+++ b/src/statement.h
@@ -27,7 +27,8 @@
typedef const SerdNode* SerdQuad[4];
struct SerdStatementImpl {
- SerdQuad nodes;
+ SerdQuad nodes;
+ SerdCursor* cursor;
};
#endif // SERD_STATEMENT_H