Signed-off-by: Mike Hommey <mh@glandium.org>
---
http-walker.c | 31 ++++++++-----------------------
1 files changed, 8 insertions(+), 23 deletions(-)
diff --git a/http-walker.c b/http-walker.c
index 0139d1e..edcb779 100644
--- a/http-walker.c
+++ b/http-walker.c
@@ -648,9 +648,6 @@ static int fetch_indices(struct walker *walker, struct alt_base *repo)
int i = 0;
int ret = 0;
- struct active_request_slot *slot;
- struct slot_results results;
-
if (repo->got_indices)
return 0;
@@ -660,27 +657,15 @@ static int fetch_indices(struct walker *walker, struct alt_base *repo)
url = xmalloc(strlen(repo->base) + 21);
sprintf(url, "%s/objects/info/packs", repo->base);
- slot = get_active_slot();
- slot->results = &results;
- curl_easy_setopt(slot->curl, CURLOPT_FILE, &buffer);
- curl_easy_setopt(slot->curl, CURLOPT_WRITEFUNCTION, fwrite_buffer);
- curl_easy_setopt(slot->curl, CURLOPT_URL, url);
- curl_easy_setopt(slot->curl, CURLOPT_HTTPHEADER, NULL);
- if (start_active_slot(slot)) {
- run_active_slot(slot);
- if (results.curl_result != CURLE_OK) {
- if (missing_target(&results)) {
- repo->got_indices = 1;
- goto cleanup;
- } else {
- repo->got_indices = 0;
- ret = error("%s", curl_errorstr);
- goto cleanup;
- }
- }
- } else {
+ switch (http_get_strbuf(url, &buffer, HTTP_NO_CACHE)) {
+ case HTTP_OK:
+ break;
+ case HTTP_MISSING_TARGET:
+ repo->got_indices = 1;
+ goto cleanup;
+ default:
repo->got_indices = 0;
- ret = error("Unable to start request");
+ ret = -1;
goto cleanup;
}
--
1.6.1.141.gb32a
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html