libidav/utils.c

changeset 609
dc3d70848c7c
parent 590
cda8093116f2
child 611
a7c48e0dca88
equal deleted inserted replaced
608:3e4c0285a868 609:dc3d70848c7c
319 path = url + i; 319 path = url + i;
320 break; 320 break;
321 } 321 }
322 } 322 }
323 } 323 }
324 if(!path) {
325 path = url + len; // empty string
326 }
324 return path; 327 return path;
325 } 328 }
326 329
327 char* util_url_decode(DavSession *sn, char *url) { 330 char* util_url_decode(DavSession *sn, char *url) {
328 char *unesc = curl_easy_unescape(sn->handle, url, strlen(url), NULL); 331 char *unesc = curl_easy_unescape(sn->handle, url, strlen(url), NULL);
677 66,66,66,66,66,66 680 66,66,66,66,66,66
678 }; 681 };
679 char* util_base64decode_len(const char* in, int *outlen) { 682 char* util_base64decode_len(const char* in, int *outlen) {
680 /* code is mostly from wikibooks */ 683 /* code is mostly from wikibooks */
681 684
685 if(!in) {
686 *outlen = 0;
687 return NULL;
688 }
689
682 size_t inlen = strlen(in); 690 size_t inlen = strlen(in);
683 size_t bufsize = (inlen*3) / 4; 691 size_t bufsize = (inlen*3) / 4;
684 char *outbuf = malloc(bufsize+1); 692 char *outbuf = malloc(bufsize+1);
685 *outlen = -1; 693 *outlen = -1;
686 694

mercurial