http-fetch: rework url handling
Do away with a second url variable, rewritten_url, and make url non-const. This is safe because the functions called with url (ie. get_http_walker() and walker_fetch()) do not modify it (ie. marked with const char *). Also, replace code that adds a trailing slash with a call to str_end_url_with_slash(). Signed-off-by: Tay Ray Chuan <rctay89@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
parent
1462d1af69
commit
6f5185bd2d
16
http-fetch.c
16
http-fetch.c
|
@ -14,8 +14,7 @@ int main(int argc, const char **argv)
|
|||
int commits;
|
||||
const char **write_ref = NULL;
|
||||
char **commit_id;
|
||||
const char *url;
|
||||
char *rewritten_url = NULL;
|
||||
char *url = NULL;
|
||||
int arg = 1;
|
||||
int rc = 0;
|
||||
int get_tree = 0;
|
||||
|
@ -57,19 +56,14 @@ int main(int argc, const char **argv)
|
|||
commit_id = (char **) &argv[arg++];
|
||||
commits = 1;
|
||||
}
|
||||
url = argv[arg];
|
||||
|
||||
if (argv[arg])
|
||||
str_end_url_with_slash(argv[arg], &url);
|
||||
|
||||
prefix = setup_git_directory();
|
||||
|
||||
git_config(git_default_config, NULL);
|
||||
|
||||
if (url && url[strlen(url)-1] != '/') {
|
||||
rewritten_url = xmalloc(strlen(url)+2);
|
||||
strcpy(rewritten_url, url);
|
||||
strcat(rewritten_url, "/");
|
||||
url = rewritten_url;
|
||||
}
|
||||
|
||||
http_init(NULL);
|
||||
walker = get_http_walker(url);
|
||||
walker->get_tree = get_tree;
|
||||
|
@ -93,7 +87,7 @@ int main(int argc, const char **argv)
|
|||
walker_free(walker);
|
||||
http_cleanup();
|
||||
|
||||
free(rewritten_url);
|
||||
free(url);
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue