From d4aec28ba8ad24d5aef3ee12beeb1b805148eab1 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Thu, 12 Aug 2021 13:42:25 -0400 Subject: Make blank node prefixing automatic Though potentially useful, I don't think the complexity cost of the old interface (both to the implementation and to the user) is worth it. A special tool to transform blank node labels (for example with regular expressions) would be a better approach to this if it's ever needed in the future. --- src/writer.c | 30 +----------------------------- 1 file changed, 1 insertion(+), 29 deletions(-) (limited to 'src/writer.c') diff --git a/src/writer.c b/src/writer.c index 5f178a6f..5f9fdaab 100644 --- a/src/writer.c +++ b/src/writer.c @@ -130,8 +130,6 @@ struct SerdWriterImpl { size_t anon_stack_size; SerdByteSink* byte_sink; WriteContext context; - char* bprefix; - size_t bprefix_len; Sep last_sep; int indent; bool empty; @@ -893,15 +891,7 @@ write_blank(SerdWriter* const writer, SerdStatus st = SERD_SUCCESS; TRY(st, esink("_:", 2, writer)); - if (!st && writer->bprefix && - !strncmp(node_str, writer->bprefix, writer->bprefix_len)) { - TRY(st, - esink(node_str + writer->bprefix_len, - node->length - writer->bprefix_len, - writer)); - } else { - TRY(st, esink(node_str, node->length, writer)); - } + TRY(st, esink(node_str, node->length, writer)); writer->last_sep = SEP_NONE; return st; @@ -1344,23 +1334,6 @@ serd_writer_new(SerdWorld* world, return writer; } -void -serd_writer_chop_blank_prefix(SerdWriter* writer, const char* prefix) -{ - assert(writer); - - free(writer->bprefix); - writer->bprefix_len = 0; - writer->bprefix = NULL; - - const size_t prefix_len = prefix ? strlen(prefix) : 0; - if (prefix_len) { - writer->bprefix_len = prefix_len; - writer->bprefix = (char*)malloc(writer->bprefix_len + 1); - memcpy(writer->bprefix, prefix, writer->bprefix_len + 1); - } -} - SerdStatus serd_writer_set_base_uri(SerdWriter* writer, const SerdNode* uri) { @@ -1445,7 +1418,6 @@ serd_writer_free(SerdWriter* writer) serd_writer_finish(writer); free(writer->anon_stack); - free(writer->bprefix); serd_node_free(writer->root_node); free(writer); } -- cgit v1.2.1