Browse Source

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>
maint
Tay Ray Chuan 14 years ago committed by Junio C Hamano
parent
commit
1462d1af69
  1. 15
      http-push.c

15
http-push.c

@ -1801,7 +1801,6 @@ int main(int argc, char **argv) @@ -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) @@ -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) @@ -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) @@ -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);

Loading…
Cancel
Save