diff options
Diffstat (limited to 'lib/ftp.c')
| -rw-r--r-- | lib/ftp.c | 23 | 
1 files changed, 12 insertions, 11 deletions
| @@ -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; +      }      }    } | 
