aboutsummaryrefslogtreecommitdiffstats
path: root/src/uri.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2018-05-11 15:28:43 +0200
committerDavid Robillard <d@drobilla.net>2018-05-27 18:23:15 +0200
commit1f4990c7d2e297dc0252ff193e66339d8db38837 (patch)
tree75bd7f48b02bcbeba0ce4ecb991a957b3ac4aaaa /src/uri.c
parentca7747e16dbcf7395d73f5292394cf37a4748604 (diff)
downloadserd-1f4990c7d2e297dc0252ff193e66339d8db38837.tar.gz
serd-1f4990c7d2e297dc0252ff193e66339d8db38837.tar.bz2
serd-1f4990c7d2e297dc0252ff193e66339d8db38837.zip
Fix rooted relative URI serialisation
Diffstat (limited to 'src/uri.c')
-rw-r--r--src/uri.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/uri.c b/src/uri.c
index b254bea6..096a45e4 100644
--- a/src/uri.c
+++ b/src/uri.c
@@ -437,8 +437,10 @@ serd_uri_serialise_relative(const SerdURI* uri,
SerdSink sink,
void* stream)
{
- size_t len = 0;
- const bool relative = uri_is_under(uri, root ? root : base);
+ size_t len = 0;
+ const bool relative =
+ root ? uri_is_under(uri, root) : uri_is_related(uri, base);
+
if (relative) {
len = write_rel_path(sink, stream, uri, base);
}