@matheusbsbs / matheus-bagliano / commits / 6f5185bd2d
Fork 0

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>

Tay Ray Chuan committed Nov 25, 2010 at 16:21 UTC 6f5185bd2d87dff587e4900aa022f6f9bd088f20
1 file changed +5 -11
http-fetch.c
+5 -11
@@ -14,8 +14,7 @@ int main(int argc, const char **argv)
14 int commits;
15 const char **write_ref = NULL;
16 char **commit_id;
17 - const char *url;
18 - char *rewritten_url = NULL;
17 + char *url = NULL;
18 int arg = 1;
19 int rc = 0;
20 int get_tree = 0;
@@ -57,19 +56,14 @@ int main(int argc, const char **argv)
56 commit_id = (char **) &argv[arg++];
57 commits = 1;
58 }
60 - url = argv[arg];
59 +
60 + if (argv[arg])
61 + str_end_url_with_slash(argv[arg], &url);
62
63 prefix = setup_git_directory();
64
65 git_config(git_default_config, NULL);
66
66 - if (url && url[strlen(url)-1] != '/') {
67 - rewritten_url = xmalloc(strlen(url)+2);
68 - strcpy(rewritten_url, url);
69 - strcat(rewritten_url, "/");
70 - url = rewritten_url;
71 - }
72 -
67 http_init(NULL);
68 walker = get_http_walker(url);
69 walker->get_tree = get_tree;
@@ -93,7 +87,7 @@ int main(int argc, const char **argv)
87 walker_free(walker);
88 http_cleanup();
89
96 - free(rewritten_url);
90 + free(url);
91
92 return rc;
93 }