diff options
Diffstat (limited to 'src/name_from_url.c')
| -rw-r--r-- | src/name_from_url.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/name_from_url.c b/src/name_from_url.c index 121fddd..0140e1a 100644 --- a/src/name_from_url.c +++ b/src/name_from_url.c @@ -6,17 +6,18 @@ char* name_from_url(const char *url) { size_t len = strlen(url); - const char *end = url + len; - while (end > url && *(end-1) == '/') { + char* after_git = strdup(url); + const char *end = after_git + len; + while (end > after_git && *(end-1) == '/') { end--; } const char *last_slash = end; - while (last_slash > url && *(last_slash-1) != '/') { + while (last_slash > after_git && *(last_slash-1) != '/') { last_slash--; } if (last_slash < end) { return strndup(last_slash, end - last_slash); } else { - return strndup(url, end - url); + return strndup(after_git, end - after_git); } } |
