diff --git a/src/ftp.c b/src/ftp.c
index 39f20fa..e05d57b 100644
--- a/src/ftp.c
+++ b/src/ftp.c
@@ -1191,6 +1191,7 @@ Error in server response, closing control
connection.\n"));
if (opt.spider)
{
bool exists = false;
+ bool all_exist = true;
struct fileinfo *f;
uerr_t _res = ftp_get_listing (u, original_url, con, &f);
/* Set the DO_RETR command flag again, because it gets unset when
@@ -1206,6 +1207,8 @@ Error in server response, closing control
connection.\n"));
{
exists = true;
break;
+ } else {
+ all_exist = false;
}
f = f->next;
}
@@ -1226,7 +1229,11 @@ Error in server response, closing control
connection.\n"));
con->csock = -1;
fd_close (dtsock);
fd_close (local_sock);
- return RETRFINISHED;
+ if(all_exist) {
+ return RETRFINISHED;
+ } else {
+ return FTPNSFOD;
+ }
}
if (opt.verbose)