ftp range downloads make us ignore the final status message as the server
will most likely treat the download as failed as we might abort it pre-maturely
This commit is contained in:
Родитель
109cbbe9c5
Коммит
4fe252847c
12
lib/ftp.c
12
lib/ftp.c
|
@ -656,12 +656,13 @@ CURLcode Curl_ftp_done(struct connectdata *conn)
|
|||
sclose(conn->secondarysocket);
|
||||
conn->secondarysocket = -1;
|
||||
|
||||
/* now let's see what the server says about the transfer we
|
||||
just performed: */
|
||||
nread = Curl_GetFTPResponse(buf, conn, &ftpcode);
|
||||
if(nread < 0)
|
||||
return CURLE_OPERATION_TIMEOUTED;
|
||||
|
||||
if(!data->set.no_body && !conn->bits.resume_done) {
|
||||
/* now let's see what the server says about the transfer we
|
||||
just performed: */
|
||||
nread = Curl_GetFTPResponse(buf, conn, &ftpcode);
|
||||
if(nread < 0)
|
||||
return CURLE_OPERATION_TIMEOUTED;
|
||||
|
||||
/* 226 Transfer complete, 250 Requested file action okay, completed. */
|
||||
if((ftpcode != 226) && (ftpcode != 250)) {
|
||||
|
@ -1787,6 +1788,7 @@ CURLcode ftp_perform(struct connectdata *conn)
|
|||
}
|
||||
infof(data, "range-download from %d to %d, totally %d bytes\n",
|
||||
from, to, totalsize);
|
||||
conn->bits.resume_done = TRUE; /* to prevent some error due to this */
|
||||
}
|
||||
|
||||
if((data->set.ftp_list_only) || !ftp->file) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче