Skip to content

Commit

Permalink
http-fetch: rework url handling
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
rctay authored and gitster committed Nov 26, 2010
1 parent 1462d1a commit 6f5185b
Showing 1 changed file with 5 additions and 11 deletions.
16 changes: 5 additions & 11 deletions http-fetch.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand All @@ -93,7 +87,7 @@ int main(int argc, const char **argv)
walker_free(walker);
http_cleanup();

free(rewritten_url);
free(url);

return rc;
}

0 comments on commit 6f5185b

Please sign in to comment.