avoid setting up a transfer when the state machine failed previously
authorDaniel Stenberg <daniel@haxx.se>
Fri, 2 Nov 2007 23:34:00 +0000 (23:34 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Fri, 2 Nov 2007 23:34:00 +0000 (23:34 +0000)
lib/ftp.c

index d138351..91a346b 100644 (file)
--- a/lib/ftp.c
+++ b/lib/ftp.c
@@ -3525,10 +3525,10 @@ static CURLcode Curl_ftp_nextconnect(struct connectdata *conn)
     result = ftp_easy_statemach(conn);
   }
 
-  if(ftp->transfer != FTPTRANSFER_BODY)
+  if((result == CURLE_OK) && (ftp->transfer != FTPTRANSFER_BODY))
     /* no data to transfer. FIX: it feels like a kludge to have this here
        too! */
-    result=Curl_setup_transfer(conn, -1, -1, FALSE, NULL, -1, NULL);
+    result = Curl_setup_transfer(conn, -1, -1, FALSE, NULL, -1, NULL);
 
   /* end of transfer */
   DEBUGF(infof(data, "DO-MORE phase ends with %d\n", result));