libidav/utils.c

changeset 181
a8f8cdbf85df
parent 177
3c0734eeab33
child 184
7ba3c97b31ff
equal deleted inserted replaced
180:5b58389ab9dd 181:a8f8cdbf85df
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);

mercurial