diff options
Diffstat (limited to 'src/describe.c')
-rw-r--r-- | src/describe.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/describe.c b/src/describe.c index 9bd9d3ae..718eaf1c 100644 --- a/src/describe.c +++ b/src/describe.c @@ -204,7 +204,7 @@ write_range_statement(const SerdSink* const sink, // First write inline list subject, which this statement will follow if (zix_hash_insert(list_subjects, subject) != ZIX_STATUS_EXISTS) { st = write_list( - sink, model, list_subjects, 2, SERD_LIST_S, subject, graph); + sink, model, list_subjects, 2, flags | SERD_LIST_S, subject, graph); } } } @@ -226,9 +226,12 @@ write_range_statement(const SerdSink* const sink, serd_cursor_free(iter); } else if (object_style == LIST_O) { // Write list object like "( ... )" - flags |= SERD_LIST_O; - if (!(st = serd_sink_write_statement(sink, flags, statement))) { - st = write_list(sink, model, list_subjects, depth + 1, 0, object, graph); + if (!(st = + serd_sink_write_statement(sink, flags | SERD_LIST_O, statement))) { + flags = flags & ~((unsigned)SERD_LIST_S); + + st = + write_list(sink, model, list_subjects, depth + 1, flags, object, graph); } } else { |