Browse Source

ftp download fails for certain setups. PR 49296. Based on patch by Kristof Neirynck

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@945039 13f79535-47bb-0310-9956-ffa450edef68
master
Stefan Bodewig 15 years ago
parent
commit
92663dfd6a
2 changed files with 17 additions and 2 deletions
  1. +4
    -0
      WHATSNEW
  2. +13
    -2
      src/main/org/apache/tools/ant/taskdefs/optional/net/FTP.java

+ 4
- 0
WHATSNEW View File

@@ -30,6 +30,10 @@ Fixed bugs:
name didn't occur inside more than one directory.
Bugzilla Report 36748.

* <ftp> could fail to download files from remote subdirectories under
certain circumstances.
Bugzilla Report 49296.

Other changes:
--------------



+ 13
- 2
src/main/org/apache/tools/ant/taskdefs/optional/net/FTP.java View File

@@ -834,7 +834,7 @@ public class FTP extends Task implements FTPTaskConfig {
} else if (!result) {
return;
}
this.curpwd = this.curpwd + remoteFileSep
this.curpwd = getCurpwdPlusFileSep()
+ currentPathElement;
} catch (IOException ioe) {
throw new BuildException("could not change working dir to "
@@ -895,7 +895,7 @@ public class FTP extends Task implements FTPTaskConfig {
* @return absolute path as string
*/
public String getAbsolutePath() {
return curpwd + remoteFileSep + ftpFile.getName();
return getCurpwdPlusFileSep() + ftpFile.getName();
}
/**
* find out the relative path assuming that the path used to construct
@@ -1036,6 +1036,17 @@ public class FTP extends Task implements FTPTaskConfig {
public String getCurpwd() {
return curpwd;
}
/**
* returns the path of the directory containing the AntFTPFile.
* of the full path of the file itself in case of AntFTPRootFile
* and appends the remote file separator if necessary.
* @return parent directory of the AntFTPFile
* @since Ant 1.8.2
*/
public String getCurpwdPlusFileSep() {
return curpwd.endsWith(remoteFileSep) ? curpwd
: curpwd + remoteFileSep;
}
/**
* find out if a symbolic link is encountered in the relative path of this file
* from rootPath.


Loading…
Cancel
Save