aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-06-19 01:43:01 +0000
committerDavid Robillard <d@drobilla.net>2011-06-19 01:43:01 +0000
commitbb0d97b79c2295f5ff588b1a1b81562f6598f289 (patch)
tree6c1d76f615b41a5a5fb7ca0ded60a99455ea97bb
parentf2a4b931e85438381eb56051947cef58b364c3eb (diff)
downloadserd-bb0d97b79c2295f5ff588b1a1b81562f6598f289.tar.gz
serd-bb0d97b79c2295f5ff588b1a1b81562f6598f289.tar.bz2
serd-bb0d97b79c2295f5ff588b1a1b81562f6598f289.zip
Fix abbreviation flags for blank nodes within lists (fix ticket #719).
git-svn-id: http://svn.drobilla.net/serd/trunk@206 490d8e77-9747-427b-9fa3-0b8f29cee8a0
-rw-r--r--src/reader.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/reader.c b/src/reader.c
index 67f53513..e08956ef 100644
--- a/src/reader.c
+++ b/src/reader.c
@@ -1025,7 +1025,7 @@ blank_id(SerdReader* reader)
static bool
read_blank(SerdReader* reader, ReadContext ctx, bool subject, Node* dest)
{
- const bool was_anon_subject = (*ctx.flags | SERD_ANON_CONT);
+ const bool was_anon_subject = subject && (*ctx.flags | SERD_ANON_CONT);
switch (peek_byte(reader)) {
case '_':
*dest = make_node(SERD_BLANK, read_nodeID(reader));
@@ -1062,7 +1062,7 @@ read_blank(SerdReader* reader, ReadContext ctx, bool subject, Node* dest)
const SerdNode end = public_node(reader, dest);
reader->end_sink(reader->handle, &end);
}
- if (subject && !was_anon_subject) {
+ if (!was_anon_subject) {
*ctx.flags &= ~SERD_ANON_CONT;
}
return true;