libidav/utils.c

changeset 590
cda8093116f2
parent 578
bb1e60fada74
child 609
dc3d70848c7c
equal deleted inserted replaced
589:2514559a6367 590:cda8093116f2
527 curl_easy_setopt(handle, CURLOPT_HEADERDATA, NULL); 527 curl_easy_setopt(handle, CURLOPT_HEADERDATA, NULL);
528 } 528 }
529 } 529 }
530 530
531 char* util_resource_name(char *url) { 531 char* util_resource_name(char *url) {
532 int si = 0; 532 sstr_t urlstr = sstr(url);
533 int osi = 0; 533 if(urlstr.ptr[urlstr.length-1] == '/') {
534 int i = 0; 534 urlstr.length--;
535 int p = 0; 535 }
536 char c; 536 sstr_t resname = sstrrchr(urlstr, '/');
537 while((c = url[i]) != 0) { 537 if(resname.length > 1) {
538 if(c == '/') { 538 return resname.ptr+1;
539 osi = si; 539 } else {
540 si = i; 540 return url;
541 p = 1; 541 }
542 }
543 i++;
544 }
545
546 char *name = url + si + p;
547 if(name[0] == 0) {
548 name = url + osi + p;
549 if(name[0] == 0) {
550 return url;
551 }
552 }
553
554 return name;
555 } 542 }
556 543
557 int util_mkdir(char *path, mode_t mode) { 544 int util_mkdir(char *path, mode_t mode) {
558 #ifdef _WIN32 545 #ifdef _WIN32
559 return mkdir(path); 546 return mkdir(path);

mercurial