# HG changeset patch # User Mike Becker # Date 1557336126 -7200 # Node ID cda8093116f22661a6f0aaa399ff6580a6fad9ae # Parent 2514559a63670cc9611b84491cb1da1f5a319b8c reduces code complexity of util_resource_name() diff -r 2514559a6367 -r cda8093116f2 libidav/utils.c --- a/libidav/utils.c Mon Apr 22 14:04:37 2019 +0200 +++ b/libidav/utils.c Wed May 08 19:22:06 2019 +0200 @@ -529,29 +529,16 @@ } char* util_resource_name(char *url) { - int si = 0; - int osi = 0; - int i = 0; - int p = 0; - char c; - while((c = url[i]) != 0) { - if(c == '/') { - osi = si; - si = i; - p = 1; - } - i++; + sstr_t urlstr = sstr(url); + if(urlstr.ptr[urlstr.length-1] == '/') { + urlstr.length--; } - - char *name = url + si + p; - if(name[0] == 0) { - name = url + osi + p; - if(name[0] == 0) { - return url; - } + sstr_t resname = sstrrchr(urlstr, '/'); + if(resname.length > 1) { + return resname.ptr+1; + } else { + return url; } - - return name; } int util_mkdir(char *path, mode_t mode) {