diff options
Diffstat (limited to 'src/n3.c')
-rw-r--r-- | src/n3.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -1114,10 +1114,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 SERD_SUCCESS; } @@ -1343,6 +1343,7 @@ read_base(SerdReader* reader, bool sparql, bool token) SerdNode* uri = NULL; TRY(st, read_IRIREF(reader, &uri)); if (reader->sink->base) { + serd_node_zero_pad(uri); TRY(st, reader->sink->base(reader->sink->handle, uri)); } @@ -1381,6 +1382,8 @@ read_prefixID(SerdReader* reader, bool sparql, bool token) TRY(st, read_IRIREF(reader, &uri)); if (reader->sink->prefix) { + serd_node_zero_pad(name); + serd_node_zero_pad(uri); st = reader->sink->prefix(reader->sink->handle, name, uri); } if (!sparql) { |