375 } |
375 } |
376 |
376 |
377 return url.ptr; |
377 return url.ptr; |
378 } |
378 } |
379 |
379 |
380 void util_set_url(DavSession *sn, char *href) { |
380 char* util_get_url(DavSession *sn, char *href) { |
381 sstr_t base = sstr(sn->base_url); |
381 sstr_t base = sstr(sn->base_url); |
382 sstr_t href_str = sstr(href); |
382 sstr_t href_str = sstr(href); |
383 |
383 |
384 char *base_path = util_url_path(sn->base_url); |
384 char *base_path = util_url_path(sn->base_url); |
385 base.length -= strlen(base_path); |
385 base.length -= strlen(base_path); |
386 |
386 |
387 sstr_t url = sstrcat(2, base, href_str); |
387 sstr_t url = sstrcat(2, base, href_str); |
388 |
388 return url.ptr; |
389 curl_easy_setopt(sn->handle, CURLOPT_URL, url.ptr); |
389 } |
390 free(url.ptr); |
390 |
|
391 void util_set_url(DavSession *sn, char *href) { |
|
392 char *url = util_get_url(sn, href); |
|
393 curl_easy_setopt(sn->handle, CURLOPT_URL, url); |
|
394 free(url); |
391 } |
395 } |
392 |
396 |
393 char* util_path_to_url(DavSession *sn, char *path) { |
397 char* util_path_to_url(DavSession *sn, char *path) { |
394 char *space = malloc(256); |
398 char *space = malloc(256); |
395 UcxBuffer *url = ucx_buffer_new(space, 256, UCX_BUFFER_AUTOEXTEND); |
399 UcxBuffer *url = ucx_buffer_new(space, 256, UCX_BUFFER_AUTOEXTEND); |