diff options
-rw-r--r-- | include/serd/serd.h | 3 | ||||
-rw-r--r-- | src/serdi.c | 4 | ||||
-rw-r--r-- | src/writer.c | 6 |
3 files changed, 5 insertions, 8 deletions
diff --git a/include/serd/serd.h b/include/serd/serd.h index f9a60354..790dfde0 100644 --- a/include/serd/serd.h +++ b/include/serd/serd.h @@ -2556,8 +2556,7 @@ serd_writer_set_base_uri(SerdWriter* SERD_NONNULL writer, */ SERD_API SerdStatus -serd_writer_set_root_uri(SerdWriter* SERD_NONNULL writer, - const SerdNode* SERD_NULLABLE uri); +serd_writer_set_root_uri(SerdWriter* SERD_NONNULL writer, SerdStringView uri); /** Finish a write. diff --git a/src/serdi.c b/src/serdi.c index ef5a7633..2de41ce7 100644 --- a/src/serdi.c +++ b/src/serdi.c @@ -478,9 +478,7 @@ main(int argc, char** argv) } if (root_uri) { - SerdNode* const root = serd_new_uri(SERD_STRING(root_uri)); - serd_writer_set_root_uri(writer, root); - serd_node_free(root); + serd_writer_set_root_uri(writer, SERD_STRING(root_uri)); } serd_writer_chop_blank_prefix(writer, chop_prefix); diff --git a/src/writer.c b/src/writer.c index e56f0b75..968d1a9f 100644 --- a/src/writer.c +++ b/src/writer.c @@ -1389,7 +1389,7 @@ serd_writer_set_base_uri(SerdWriter* writer, const SerdNode* uri) } SerdStatus -serd_writer_set_root_uri(SerdWriter* writer, const SerdNode* uri) +serd_writer_set_root_uri(SerdWriter* writer, const SerdStringView uri) { assert(writer); @@ -1397,8 +1397,8 @@ serd_writer_set_root_uri(SerdWriter* writer, const SerdNode* uri) writer->root_node = NULL; writer->root_uri = SERD_URI_NULL; - if (uri) { - writer->root_node = serd_node_copy(uri); + if (uri.len) { + writer->root_node = serd_new_uri(uri); writer->root_uri = serd_node_uri_view(writer->root_node); } |