1
0
mirror of https://github.com/moparisthebest/pacman synced 2024-08-13 17:03:46 -04:00

lib/dload: unlink on response code >=400

ftp and http both define >=400 as being "something bad happened"

Signed-off-by: Dave Reisner <dreisner@archlinux.org>
Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
Dave Reisner 2011-08-18 15:21:58 -04:00 committed by Dan McGee
parent 24824b54ce
commit 9934b3bd34

View File

@ -189,7 +189,7 @@ static int curl_download_internal(struct dload_payload *payload,
char hostname[256];
char error_buffer[CURL_ERROR_SIZE];
struct stat st;
long timecond, remote_time = -1;
long timecond, respcode = 0, remote_time = -1;
double remote_size, bytes_dl;
struct sigaction sig_pipe[2], sig_int[2];
/* shortcut to our handle within the payload */
@ -309,6 +309,12 @@ static int curl_download_internal(struct dload_payload *payload,
/* was it a success? */
switch(handle->curlerr) {
case CURLE_OK:
/* get http/ftp response code */
curl_easy_getinfo(handle->curl, CURLINFO_RESPONSE_CODE, &respcode);
if(respcode >=400) {
payload->unlink_on_fail = 1;
goto cleanup;
}
break;
case CURLE_ABORTED_BY_CALLBACK:
goto cleanup;