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;
|
int commits;
|
||||||
const char **write_ref = NULL;
|
const char **write_ref = NULL;
|
||||||
char **commit_id;
|
char **commit_id;
|
||||||
const char *url;
|
char *url = NULL;
|
||||||
char *rewritten_url = NULL;
|
|
||||||
int arg = 1;
|
int arg = 1;
|
||||||
int rc = 0;
|
int rc = 0;
|
||||||
int get_tree = 0;
|
int get_tree = 0;
|
||||||
|
@ -57,19 +56,14 @@ int main(int argc, const char **argv)
|
||||||
commit_id = (char **) &argv[arg++];
|
commit_id = (char **) &argv[arg++];
|
||||||
commits = 1;
|
commits = 1;
|
||||||
}
|
}
|
||||||
url = argv[arg];
|
|
||||||
|
if (argv[arg])
|
||||||
|
str_end_url_with_slash(argv[arg], &url);
|
||||||
|
|
||||||
prefix = setup_git_directory();
|
prefix = setup_git_directory();
|
||||||
|
|
||||||
git_config(git_default_config, NULL);
|
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);
|
http_init(NULL);
|
||||||
walker = get_http_walker(url);
|
walker = get_http_walker(url);
|
||||||
walker->get_tree = get_tree;
|
walker->get_tree = get_tree;
|
||||||
|
@ -93,7 +87,7 @@ int main(int argc, const char **argv)
|
||||||
walker_free(walker);
|
walker_free(walker);
|
||||||
http_cleanup();
|
http_cleanup();
|
||||||
|
|
||||||
free(rewritten_url);
|
free(url);
|
||||||
|
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue