diff options
author | David Robillard <d@drobilla.net> | 2011-01-25 16:14:02 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2011-01-25 16:14:02 +0000 |
commit | da60fb781d5fcd4d0b3852cf9586d4f6ebed7dd9 (patch) | |
tree | 0bfce4c0c544b4765e5f1ff080af6b166e004835 /src/serdi.c | |
parent | e6b7791d17a630dc7d6d8387d627fc1d524425dc (diff) | |
download | serd-da60fb781d5fcd4d0b3852cf9586d4f6ebed7dd9.tar.gz serd-da60fb781d5fcd4d0b3852cf9586d4f6ebed7dd9.tar.bz2 serd-da60fb781d5fcd4d0b3852cf9586d4f6ebed7dd9.zip |
Fix URI resolution of absolute URIs.
Better URI test coverage.
git-svn-id: http://svn.drobilla.net/serd/trunk@64 490d8e77-9747-427b-9fa3-0b8f29cee8a0
Diffstat (limited to 'src/serdi.c')
-rw-r--r-- | src/serdi.c | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/src/serdi.c b/src/serdi.c index 451905b8..467c3275 100644 --- a/src/serdi.c +++ b/src/serdi.c @@ -107,19 +107,13 @@ event_base(void* handle, return false; } - if (!base_uri.scheme.len) { // URI has no scheme, resolve relative URI - SerdURI abs_base_uri; - if (!serd_uri_resolve(&base_uri, &state->base_uri, &abs_base_uri)) { - fprintf(stderr, "error: failed to resolve new base URI\n"); - return false; - } - base_uri_node = serd_node_new_uri(&abs_base_uri, &base_uri); - } else { - SerdURI new_base_uri; - base_uri_node = serd_node_new_uri(&base_uri, &new_base_uri); - base_uri = new_base_uri; + SerdURI abs_base_uri; + if (!serd_uri_resolve(&base_uri, &state->base_uri, &abs_base_uri)) { + fprintf(stderr, "error: failed to resolve new base URI\n"); + return false; } - + base_uri_node = serd_node_new_uri(&abs_base_uri, &base_uri); + state->base_uri_node = base_uri_node; state->base_uri = base_uri; serd_writer_set_base_uri(state->writer, &base_uri); |