This patch series applies on pu. The major differences between this series and the 11-patch long one (dated May 15, 2009) are: *check 'preq' pointer before using it (for fetching packs) [1] *moved free(url) before 'abort' label to stop -Wuninitialized warning (for fetching loose objects) [2] *use unlink_or_warn, after 691f1a2 ("replace direct calls to unlink (2) with unlink_or_warn") Junio: I've rebased the patch series on pu, hopefully this stops the attribute warnings for patch 3. Tay Ray Chuan (3): http*: add helper methods for fetching packs http*: add helper methods for fetching objects/info/packs http*: add helper methods for fetching objects (loose) http-push.c | 378 ++++++++-------------------------------------------- http-walker.c | 407 +++++++++++--------------------------------------------- http.c | 415 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++- http.h | 72 ++++++++++- 4 files changed, 616 insertions(+), 656 deletions(-) Footnotes: [1] @@ -595,17 +595,21 @@ static void finish_request(struct transfer_request *request) start_fetch_packed(request); } else if (request->state == RUN_FETCH_PACKED) { + int fail = 1; if (request->curl_result != CURLE_OK) { fprintf(stderr, "Unable to get pack file %s\n%s", request->url, curl_errorstr); - repo->can_update_info_refs = 0; } else { preq = (struct http_pack_request *)request->userData; - if (finish_http_pack_request(preq)) - repo->can_update_info_refs = 0; + if (preq) { + if (finish_http_pack_request(preq) > 0) + fail = 0; + release_http_pack_request(preq); + } } - release_http_pack_request(preq); + if (fail) + repo->can_update_info_refs = 0; release_request(request); } } [2] @@ -1167,9 +1167,9 @@ struct http_object_request *new_http_object_request(const char *base_url, return freq; + free(url); abort: free(filename); - free(url); free(freq); return NULL; } -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html