diff -r 5b58389ab9dd -r a8f8cdbf85df libidav/utils.c --- a/libidav/utils.c Fri Oct 23 22:15:12 2015 +0200 +++ b/libidav/utils.c Tue Jan 12 19:17:46 2016 +0100 @@ -377,7 +377,7 @@ return url.ptr; } -void util_set_url(DavSession *sn, char *href) { +char* util_get_url(DavSession *sn, char *href) { sstr_t base = sstr(sn->base_url); sstr_t href_str = sstr(href); @@ -385,9 +385,13 @@ base.length -= strlen(base_path); sstr_t url = sstrcat(2, base, href_str); - - curl_easy_setopt(sn->handle, CURLOPT_URL, url.ptr); - free(url.ptr); + return url.ptr; +} + +void util_set_url(DavSession *sn, char *href) { + char *url = util_get_url(sn, href); + curl_easy_setopt(sn->handle, CURLOPT_URL, url); + free(url); } char* util_path_to_url(DavSession *sn, char *path) {