diff options
-rw-r--r-- | lib/ftp.c | 4 | ||||
-rw-r--r-- | tests/data/test1225 | 1 |
2 files changed, 3 insertions, 2 deletions
@@ -877,7 +877,9 @@ static CURLcode ftp_state_cwd(struct connectdata *conn) if((conn->data->set.ftp_filemethod == FTPFILE_NOCWD) && !ftpc->cwdcount) /* No CWD necessary */ result = ftp_state_mdtm(conn); - else if(conn->bits.reuse && ftpc->entrypath) { + else if(conn->bits.reuse && ftpc->entrypath && + /* no need to go to entrypath when we have an absolute path */ + !(ftpc->dirdepth && ftpc->dirs[0][0] == '/')) { /* This is a re-used connection. Since we change directory to where the transfer is taking place, we must first get back to the original dir where we ended up after login: */ diff --git a/tests/data/test1225 b/tests/data/test1225 index 2b2519c94..09a1abb79 100644 --- a/tests/data/test1225 +++ b/tests/data/test1225 @@ -45,7 +45,6 @@ TYPE I SIZE 1225
RETR 1225
CWD /
-CWD /
CWD foo
CWD bar
EPSV
|