aboutsummaryrefslogtreecommitdiff
path: root/src/name_from_url.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/name_from_url.c')
-rw-r--r--src/name_from_url.c9
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);
}
}