aboutsummaryrefslogtreecommitdiffstats
path: root/src/reader.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2017-08-28 12:42:50 +0200
committerDavid Robillard <d@drobilla.net>2017-08-28 12:43:18 +0200
commit91650728254f98e5949b28e3ad7bdac29047d2ae (patch)
tree087001506a78e952e33c3b3fefff8446d4b8233a /src/reader.c
parent1cd321825c52eddd4175cb4ec58ae8d7ad2da48d (diff)
downloadserd-91650728254f98e5949b28e3ad7bdac29047d2ae.tar.gz
serd-91650728254f98e5949b28e3ad7bdac29047d2ae.tar.bz2
serd-91650728254f98e5949b28e3ad7bdac29047d2ae.zip
Report errors for prematurely terminated statements
Diffstat (limited to 'src/reader.c')
-rw-r--r--src/reader.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/reader.c b/src/reader.c
index b224979b..f1b445b9 100644
--- a/src/reader.c
+++ b/src/reader.c
@@ -1599,7 +1599,7 @@ read_statement(SerdReader* reader)
ReadContext ctx = { 0, 0, 0, 0, 0, 0, &flags };
Ref subj = 0;
bool ate_dot = false;
- char s_type = false;
+ char s_type = 0;
bool ret = true;
read_ws_star(reader);
switch (peek_byte(reader)) {
@@ -1641,7 +1641,9 @@ read_statement(SerdReader* reader)
} else if (!subj) {
ret = r_err(reader, SERD_ERR_BAD_SYNTAX, "bad subject\n");
} else if (!read_triples(reader, ctx, &ate_dot)) {
- ret = (s_type == '[');
+ if (!(ret = (s_type == '['))) {
+ r_err(reader, SERD_ERR_BAD_SYNTAX, "expected predicate\n");
+ }
} else if (!ate_dot) {
read_ws_star(reader);
ret = (eat_byte_check(reader, '.') == '.');