From 4fe252847cfce391ccd83df097ff6c5dddc34754 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Tue, 11 Jun 2002 12:35:03 +0000 Subject: 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 --- lib/ftp.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'lib') diff --git a/lib/ftp.c b/lib/ftp.c index 388bba399..b9bf38f34 100644 --- a/lib/ftp.c +++ b/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) { -- cgit v1.2.3