aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/ftp.c23
1 files changed, 12 insertions, 11 deletions
diff --git a/lib/ftp.c b/lib/ftp.c
index 0347e0ccd..29f0129a5 100644
--- a/lib/ftp.c
+++ b/lib/ftp.c
@@ -656,18 +656,19 @@ 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) {
+ if(!data->set.no_body) {
+ /* 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)) {
- failf(data, "server did not report OK, got %d", ftpcode);
- return CURLE_FTP_WRITE_ERROR;
+ if(!conn->bits.resume_done) {
+ /* 226 Transfer complete, 250 Requested file action okay, completed. */
+ if((ftpcode != 226) && (ftpcode != 250)) {
+ failf(data, "server did not report OK, got %d", ftpcode);
+ return CURLE_FTP_WRITE_ERROR;
+ }
}
}