aboutsummaryrefslogtreecommitdiffstats
path: root/src/writer.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2021-08-12 13:42:25 -0400
committerDavid Robillard <d@drobilla.net>2022-01-28 21:57:07 -0500
commitd4aec28ba8ad24d5aef3ee12beeb1b805148eab1 (patch)
treee41d1aef4e492b0f06044ad611dc6c23defef34b /src/writer.c
parentda7940afb82d8d1dd5321b311f27340f5702aea2 (diff)
downloadserd-d4aec28ba8ad24d5aef3ee12beeb1b805148eab1.tar.gz
serd-d4aec28ba8ad24d5aef3ee12beeb1b805148eab1.tar.bz2
serd-d4aec28ba8ad24d5aef3ee12beeb1b805148eab1.zip
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.
Diffstat (limited to 'src/writer.c')
-rw-r--r--src/writer.c30
1 files changed, 1 insertions, 29 deletions
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);
}