diff -r 008c75a5e08d -r 8e4bf84a7bb8 librazor/util.c --- a/librazor/util.c Mon Jul 04 10:48:18 2016 +0100 +++ b/librazor/util.c Thu Jul 07 11:04:10 2016 +0100 @@ -269,6 +269,33 @@ return concat; } +RAZOR_EXPORT char * +razor_resolve_relative_uri(const char *base_uri, const char *relative_uri, + struct razor_error **error) +{ + char *result; + struct razor_uri ru, base, ref; + + if (razor_uri_parse_uri(&base, base_uri, 1, error)) + return NULL; + + if (razor_uri_parse_relative_ref(&ref, relative_uri, error)) { + razor_uri_destroy(&base); + return NULL; + } + + razor_uri_resolve(&ru, &base, &ref); + + razor_uri_destroy(&base); + razor_uri_destroy(&ref); + + result = razor_uri_recompose(&ru); + + razor_uri_destroy(&ru); + + return result; +} + RAZOR_EXPORT const char *razor_system_arch(void) { #ifdef MSWIN_API