diff options
-rw-r--r-- | serd/serd.h | 10 | ||||
-rw-r--r-- | src/n3.c | 8 | ||||
-rw-r--r-- | src/writer.c | 32 |
3 files changed, 24 insertions, 26 deletions
diff --git a/serd/serd.h b/serd/serd.h index fc5ab429..bd3b3f19 100644 --- a/serd/serd.h +++ b/serd/serd.h @@ -165,11 +165,11 @@ typedef enum { Flags indicating inline abbreviation information for a statement. */ typedef enum { - SERD_EMPTY_S = 1 << 0, /**< Empty blank node subject */ - SERD_ANON_S_BEGIN = 1 << 1, /**< Start of anonymous subject */ - SERD_ANON_O_BEGIN = 1 << 2, /**< Start of anonymous object */ - SERD_LIST_S_BEGIN = 1 << 3, /**< Start of list subject */ - SERD_LIST_O_BEGIN = 1 << 4, /**< Start of list object */ + SERD_EMPTY_S = 1 << 0, /**< Empty blank node subject */ + SERD_ANON_S = 1 << 1, /**< Start of anonymous subject */ + SERD_ANON_O = 1 << 2, /**< Start of anonymous object */ + SERD_LIST_S = 1 << 3, /**< Start of list subject */ + SERD_LIST_O = 1 << 4 /**< Start of list object */ } SerdStatementFlag; /** @@ -951,9 +951,9 @@ read_anon(SerdReader* reader, ReadContext ctx, bool subject, SerdNode** dest) bool empty = false; eat_byte_safe(reader, '['); if ((empty = peek_delim(reader, ']'))) { - *ctx.flags |= (subject) ? SERD_EMPTY_S : SERD_ANON_O_BEGIN; + *ctx.flags |= (subject) ? SERD_EMPTY_S : SERD_ANON_O; } else { - *ctx.flags |= (subject) ? SERD_ANON_S_BEGIN : SERD_ANON_O_BEGIN; + *ctx.flags |= (subject) ? SERD_ANON_S : SERD_ANON_O; if (peek_delim(reader, '=')) { if (!(*dest = read_blankName(reader)) || !eat_delim(reader, ';')) { @@ -1153,10 +1153,10 @@ read_collection(SerdReader* reader, ReadContext ctx, SerdNode** dest) *dest = end ? reader->rdf_nil : blank_id(reader); if (ctx.subject) { // subject predicate _:head - *ctx.flags |= (end ? 0 : SERD_LIST_O_BEGIN); + *ctx.flags |= (end ? 0 : SERD_LIST_O); TRY(st, emit_statement(reader, ctx, *dest)); } else { - *ctx.flags |= (end ? 0 : SERD_LIST_S_BEGIN); + *ctx.flags |= (end ? 0 : SERD_LIST_S); } if (end) { diff --git a/src/writer.c b/src/writer.c index 9ac7419e..f81f108c 100644 --- a/src/writer.c +++ b/src/writer.c @@ -477,8 +477,8 @@ is_inline_start(const SerdWriter* writer, SerdStatementFlags flags) { return (supports_abbrev(writer) && - ((field == SERD_SUBJECT && (flags & SERD_ANON_S_BEGIN)) || - (field == SERD_OBJECT && (flags & SERD_ANON_O_BEGIN)))); + ((field == SERD_SUBJECT && (flags & SERD_ANON_S)) || + (field == SERD_OBJECT && (flags & SERD_ANON_O)))); } static bool @@ -652,8 +652,8 @@ write_blank(SerdWriter* const writer, if (supports_abbrev(writer)) { if (is_inline_start(writer, field, flags)) { return write_sep(writer, SEP_ANON_BEGIN); - } else if ((field == SERD_SUBJECT && (flags & SERD_LIST_S_BEGIN)) || - (field == SERD_OBJECT && (flags & SERD_LIST_O_BEGIN))) { + } else if ((field == SERD_SUBJECT && (flags & SERD_LIST_S)) || + (field == SERD_OBJECT && (flags & SERD_LIST_O))) { return write_sep(writer, SEP_LIST_BEGIN); } else if (field == SERD_SUBJECT && (flags & SERD_EMPTY_S)) { writer->last_sep = SEP_NONE; // Treat "[]" like anode @@ -734,10 +734,8 @@ serd_writer_write_statement(SerdWriter* writer, SerdStatementFlags flags, const SerdStatement* statement) { - assert(!((flags & SERD_EMPTY_S) && (flags & SERD_ANON_S_BEGIN))); - assert(!((flags & SERD_EMPTY_S) && (flags & SERD_LIST_S_BEGIN))); - assert(!((flags & SERD_ANON_S_BEGIN) && (flags & SERD_LIST_S_BEGIN))); - assert(!((flags & SERD_ANON_O_BEGIN) && (flags & SERD_LIST_O_BEGIN))); + assert(!((flags & SERD_ANON_S) && (flags & SERD_LIST_S))); + assert(!((flags & SERD_ANON_O) && (flags & SERD_LIST_O))); const SerdNode* const subject = serd_statement_get_subject(statement); const SerdNode* const predicate = serd_statement_get_predicate(statement); @@ -802,7 +800,7 @@ serd_writer_write_statement(SerdWriter* writer, if (serd_node_equals(predicate, writer->context.predicate)) { // Abbreviate S P if (!writer->context.indented_object && - !(flags & (SERD_ANON_O_BEGIN | SERD_LIST_O_BEGIN))) { + !(flags & (SERD_ANON_O | SERD_LIST_O))) { ++writer->indent; writer->context.indented_object = true; } @@ -839,9 +837,9 @@ serd_writer_write_statement(SerdWriter* writer, if (serd_stack_is_empty(&writer->anon_stack)) { write_node(writer, subject, SERD_SUBJECT, flags); - if (!(flags & (SERD_ANON_S_BEGIN | SERD_LIST_S_BEGIN))) { + if (!(flags & (SERD_ANON_S | SERD_LIST_S))) { write_sep(writer, SEP_S_P); - } else if (flags & SERD_ANON_S_BEGIN) { + } else if (flags & SERD_ANON_S) { write_sep(writer, SEP_ANON_S_P); } } else { @@ -851,21 +849,21 @@ serd_writer_write_statement(SerdWriter* writer, reset_context(writer, false); serd_node_set(&writer->context.subject, subject); - if (!(flags & SERD_LIST_S_BEGIN)) { + if (!(flags & SERD_LIST_S)) { write_pred(writer, flags, predicate); } write_node(writer, object, SERD_OBJECT, flags); } - if (flags & SERD_LIST_S_BEGIN) { + if (flags & SERD_LIST_S) { const WriteContext ctx = {CTX_LIST, serd_node_copy(graph), serd_node_copy(subject), NULL, false}; push_context(writer, ctx); - } if (flags & SERD_LIST_O_BEGIN) { + } if (flags & SERD_LIST_O) { const WriteContext ctx = {CTX_LIST, serd_node_copy(graph), serd_node_copy(object), @@ -874,9 +872,9 @@ serd_writer_write_statement(SerdWriter* writer, push_context(writer, ctx); } - if (flags & (SERD_ANON_S_BEGIN | SERD_ANON_O_BEGIN)) { - const bool is_list = flags & (SERD_LIST_S_BEGIN | SERD_LIST_O_BEGIN); - const bool is_subject = flags & SERD_ANON_S_BEGIN; + if (flags & (SERD_ANON_S | SERD_ANON_O)) { + const bool is_list = flags & (SERD_LIST_S | SERD_LIST_O); + const bool is_subject = flags & SERD_ANON_S; const WriteContext ctx = {is_list ? CTX_LIST : CTX_BLANK, serd_node_copy(graph), |