[PATCH 3/3] Return CURL error message when object transfer fails
From: Nick Hengeveld <hidden>
Date: 2016-06-15 22:42:07
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Nick Hengeveld <hidden>
Date: 2016-06-15 22:42:07
Subsystem:
the rest · Maintainer:
Linus Torvalds
Return CURL error message when object transfer fails Signed-off-by: Nick Hengeveld <redacted> --- It might be better to extend this to all places that curl_easy_perform is called, rather than just in fetch_object. http-fetch.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) 330da7634e6a707779dcc8648841f501d2a47568
diff --git a/http-fetch.c b/http-fetch.c
--- a/http-fetch.c
+++ b/http-fetch.c@@ -19,6 +19,7 @@ static CURL *curl; static struct curl_slist *no_pragma_header; static struct curl_slist *no_range_header; +static char curl_errorstr[CURL_ERROR_SIZE]; static char *initial_base;
@@ -389,6 +390,7 @@ int fetch_object(struct alt_base *repo, curl_easy_setopt(curl, CURLOPT_FILE, NULL); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, fwrite_sha1_file); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, no_pragma_header); + curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, curl_errorstr); url = xmalloc(strlen(repo->base) + 50); strcpy(url, repo->base);
@@ -448,7 +450,7 @@ int fetch_object(struct alt_base *repo, curl_result = curl_easy_perform(curl); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, no_range_header); if (curl_result != 0) { - return -1; + return error(curl_errorstr); } fchmod(local, 0444);