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>
This commit is contained in:
Tay Ray Chuan 2010-11-25 16:21:09 +08:00 committed by Junio C Hamano
parent dfc2dcd9ac
commit 1462d1af69

View File

@ -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);