diff options
Diffstat (limited to 'src/reader.c')
-rw-r--r-- | src/reader.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/reader.c b/src/reader.c index 59e0dd2e..0cfa1575 100644 --- a/src/reader.c +++ b/src/reader.c @@ -1245,6 +1245,7 @@ read_predicateObjectList(SerdReader* reader, ReadContext ctx, bool* ate_dot) return true; } + bool ate_semi = false; do { read_ws_star(reader); switch (c = peek_byte(reader)) { @@ -1254,8 +1255,13 @@ read_predicateObjectList(SerdReader* reader, ReadContext ctx, bool* ate_dot) return true; case ';': eat_byte_safe(reader, c); + ate_semi = true; } } while (c == ';'); + + if (!ate_semi) { + return r_err(reader, SERD_ERR_BAD_SYNTAX, "missing ';' or '.'\n"); + } } pop_node(reader, ctx.predicate); |