From 4e72044bbd2776ccac6f8cb56fc0e744cc9730c0 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Tue, 2 May 2023 00:48:29 -0400 Subject: Fix relative URI creation with newer serd --- src/Parser.cpp | 2 +- src/URI.cpp | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/Parser.cpp b/src/Parser.cpp index c66f852d..89e23274 100644 --- a/src/Parser.cpp +++ b/src/Parser.cpp @@ -91,7 +91,7 @@ Parser::find_resources(Sord::World& world, static std::optional get_path(const URI& base, const URI& uri) { - const URI relative = uri.make_relative(base); + const URI relative = uri.make_relative(base, base); const std::string uri_str = "/" + relative.string(); return raul::Path::is_valid(uri_str) ? raul::Path(uri_str) : std::optional(); diff --git a/src/URI.cpp b/src/URI.cpp index 501b4eb9..c4020c4d 100644 --- a/src/URI.cpp +++ b/src/URI.cpp @@ -125,4 +125,14 @@ URI::make_relative(const URI& base) const return {node, uri}; } +URI +URI::make_relative(const URI& base, const URI& root) const +{ + SerdURI uri; + const SerdNode node = + serd_node_new_relative_uri(&_uri, &base._uri, &root._uri, &uri); + + return {node, uri}; +} + } // namespace ingen -- cgit v1.2.1