aboutsummaryrefslogtreecommitdiffstats
path: root/src/n3.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2018-05-13 00:48:31 +0200
committerDavid Robillard <d@drobilla.net>2019-12-19 20:52:42 -0500
commit8892afbf7aca85acb37fdc5fda2e6de333d95bb1 (patch)
treeb1298fe69e625ee37cf6a7ecb3544ff869ab828f /src/n3.c
parenta3459a9ec4c25ad699791f549f5f450549e88e6f (diff)
downloadserd-8892afbf7aca85acb37fdc5fda2e6de333d95bb1.tar.gz
serd-8892afbf7aca85acb37fdc5fda2e6de333d95bb1.tar.bz2
serd-8892afbf7aca85acb37fdc5fda2e6de333d95bb1.zip
Zero node padding before passing to reader sinks
Diffstat (limited to 'src/n3.c')
-rw-r--r--src/n3.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/n3.c b/src/n3.c
index f4f296c5..6d778b1d 100644
--- a/src/n3.c
+++ b/src/n3.c
@@ -1066,10 +1066,10 @@ read_object(SerdReader* reader, ReadContext* ctx, bool emit, bool* ate_dot)
o->flags = flags;
}
- if (ret && emit && simple) {
+ if (ret && emit && simple && o) {
ret = emit_statement(reader, *ctx, o);
} else if (ret && !emit) {
- ctx->object = o;
+ ctx->object = o;
return true;
}
@@ -1277,6 +1277,7 @@ read_base(SerdReader* reader, bool sparql, bool token)
if (!uri) {
return false;
} else if (reader->sink->base) {
+ serd_node_zero_pad(uri);
reader->sink->base(reader->sink->handle, uri);
}
@@ -1311,12 +1312,14 @@ read_prefixID(SerdReader* reader, bool sparql, bool token)
}
read_ws_star(reader);
- const SerdNode* uri = read_IRIREF(reader);
+ SerdNode* uri = read_IRIREF(reader);
if (!uri) {
return false;
}
if (reader->sink->prefix) {
+ serd_node_zero_pad(name);
+ serd_node_zero_pad(uri);
ret = !reader->sink->prefix(reader->sink->handle, name, uri);
}
if (!sparql) {