X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=http-walker.c;h=ef99ae647ae02995495c71455eef785bdeca1789;hb=c5ce1836719dc77e3c8495206653037cb5c4e511;hp=700bc13112d65dfe8cf89af17522e28cf0d76e26;hpb=61c6457e893f568524155b4197a6be076a27ce3d;p=git.git diff --git a/http-walker.c b/http-walker.c index 700bc1311..ef99ae647 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);