Browse Source

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
Tay Ray Chuan 14 years ago committed by Junio C Hamano
parent
commit
6f5185bd2d
  1. 16
      http-fetch.c

16
http-fetch.c

@ -14,8 +14,7 @@ int main(int argc, const char **argv) @@ -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) @@ -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) @@ -93,7 +87,7 @@ int main(int argc, const char **argv)
walker_free(walker);
http_cleanup();

free(rewritten_url);
free(url);

return rc;
}

Loading…
Cancel
Save