X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=http-walker.c;h=8ca76d0507bdc1d95283e1f5fee3f88180cdce26;hb=831244bd0df6871c618fc8becbb5c0f1fb8f5459;hp=3a726dea0864878644d34fdc5f0afa8e6e633c95;hpb=0da8b2e7c80a6dd9743e5233cdc5acd836c9a8d3;p=git.git diff --git a/http-walker.c b/http-walker.c index 3a726dea0..8ca76d050 100644 --- a/http-walker.c +++ b/http-walker.c @@ -543,17 +543,30 @@ static int fetch_ref(struct walker *walker, struct ref *ref) static void cleanup(struct walker *walker) { - http_cleanup(); + struct walker_data *data = walker->data; + struct alt_base *alt, *alt_next; + + if (data) { + alt = data->alt; + while (alt) { + alt_next = alt->next; + + free(alt->base); + free(alt); + + alt = alt_next; + } + free(data); + walker->data = NULL; + } } -struct walker *get_http_walker(const char *url, struct remote *remote) +struct walker *get_http_walker(const char *url) { char *s; struct walker_data *data = xmalloc(sizeof(struct walker_data)); struct walker *walker = xmalloc(sizeof(struct walker)); - http_init(remote); - data->alt = xmalloc(sizeof(*data->alt)); data->alt->base = xmalloc(strlen(url) + 1); strcpy(data->alt->base, url);