diff options
Diffstat (limited to 'src/n3.c')
-rw-r--r-- | src/n3.c | 13 |
1 files changed, 7 insertions, 6 deletions
@@ -886,8 +886,7 @@ read_PrefixedName(SerdReader* const reader, } if ((st = push_byte(reader, dest, eat_byte_safe(reader, ':'))) || - (st = read_PN_LOCAL(reader, dest, ate_dot)) > SERD_FAILURE || - (reader->flags & SERD_READ_PREFIXED)) { + (st = read_PN_LOCAL(reader, dest, ate_dot)) > SERD_FAILURE) { return st; } @@ -1012,7 +1011,7 @@ read_iri(SerdReader* const reader, SerdNode** const dest, bool* const ate_dot) return read_IRIREF(reader, dest); } - if (!(*dest = push_node(reader, SERD_CURIE, "", 0))) { + if (!(*dest = push_node(reader, SERD_LITERAL, "", 0))) { return SERD_ERR_OVERFLOW; } @@ -1104,7 +1103,7 @@ read_verb(SerdReader* reader, SerdNode** dest) /* Either a qname, or "a". Read the prefix first, and if it is in fact "a", produce that instead. */ - if (!(*dest = push_node(reader, SERD_CURIE, "", 0))) { + if (!(*dest = push_node(reader, SERD_URI, "", 0))) { return SERD_ERR_OVERFLOW; } @@ -1328,7 +1327,7 @@ read_object(SerdReader* const reader, /* Either a boolean literal, or a qname. Read the prefix first, and if it is in fact a "true" or "false" literal, produce that instead. */ - if (!(o = push_node(reader, SERD_CURIE, "", 0))) { + if (!(o = push_node(reader, SERD_URI, "", 0))) { return SERD_ERR_OVERFLOW; } @@ -1533,7 +1532,9 @@ read_subject(SerdReader* const reader, st = read_BLANK_NODE_LABEL(reader, dest, &ate_dot); break; default: - st = read_iri(reader, dest, &ate_dot); + if ((st = read_iri(reader, dest, &ate_dot))) { + return r_err(reader, st, "expected subject"); + } } if (ate_dot) { |