diff options
author | Tay Ray Chuan <rctay89@gmail.com> | 2010-11-25 16:21:09 +0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-11-26 14:50:46 -0800 |
commit | 1462d1af69247af5fa2b43f7b4fe61ec3c71b55a (patch) | |
tree | a4a8fc6e3ad08fda137ffe4988493092096fba2e /http-push.c | |
parent | dfc2dcd9acf95794788f9471028485c2d2cc78ef (diff) | |
download | git-1462d1af69247af5fa2b43f7b4fe61ec3c71b55a.tar.gz |
http-push: add trailing slash at arg-parse time, instead of later on
That way, we don't have to update repo->path and repo->path_len again
after adding the trailing slash.
Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'http-push.c')
-rw-r--r-- | http-push.c | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/http-push.c b/http-push.c index bfa1fe7c05..ff41a0e183 100644 --- a/http-push.c +++ b/http-push.c @@ -1801,7 +1801,6 @@ int main(int argc, char **argv) int new_refs; struct ref *ref, *local_refs; struct remote *remote; - char *rewritten_url = NULL; git_extract_argv0_path(argv[0]); @@ -1847,8 +1846,8 @@ int main(int argc, char **argv) } if (!repo->url) { char *path = strstr(arg, "//"); - repo->url = arg; - repo->path_len = strlen(arg); + str_end_url_with_slash(arg, &repo->url); + repo->path_len = strlen(repo->url); if (path) { repo->path = strchr(path+2, '/'); if (repo->path) @@ -1884,15 +1883,6 @@ int main(int argc, char **argv) remote->url[remote->url_nr++] = repo->url; http_init(remote); - if (repo->url && repo->url[strlen(repo->url)-1] != '/') { - rewritten_url = xmalloc(strlen(repo->url)+2); - strcpy(rewritten_url, repo->url); - strcat(rewritten_url, "/"); - repo->path = rewritten_url + (repo->path - repo->url); - repo->path_len++; - repo->url = rewritten_url; - } - #ifdef USE_CURL_MULTI is_running_queue = 0; #endif @@ -2100,7 +2090,6 @@ int main(int argc, char **argv) } cleanup: - free(rewritten_url); if (info_ref_lock) unlock_remote(info_ref_lock); free(repo); |