when no FTP transfer was done, don't attempt to read the download transfer
authorDaniel Stenberg <daniel@haxx.se>
Wed, 12 Jun 2002 22:05:28 +0000 (22:05 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Wed, 12 Jun 2002 22:05:28 +0000 (22:05 +0000)
thing. The 'resumed' flag is also causing confusions. I'll deal with that
tomorrow.

lib/ftp.c

index 0347e0c..29f0129 100644 (file)
--- 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;
+      }
     }
   }