https://issues.apache.org/bugzilla/show_bug.cgi?id=54301

            Bug ID: 54301
           Summary: more efficient (and shorter) method call in
                    FTP.FTPDirectoryScanner.AntFTPFile.getFastRelativePath
           Product: Ant
           Version: 1.8.4
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Core
          Assignee: [email protected]
          Reporter: [email protected]
    Classification: Unclassified

Created attachment 29762
  --> https://issues.apache.org/bugzilla/attachment.cgi?id=29762&action=edit
patch

The problem appears in version 1.8.4 and in revision 1421898.  I
attached a one-line patch that fixes it.

In method "FTP.FTPDirectoryScanner.AntFTPFile.getFastRelativePath",
the call "absPath.indexOf(rootPath + remoteFileSep) == 0" should be
"absPath.startsWith(rootPath + remoteFileSep)".  The intent of the
call is more explicit with "startsWith" than with "indexOf(..) == 0".
"startsWith" is also more efficient than "indexOf", because
"startsWith" tries to match only the start of the string, while
"indexOf" searches until the first occurrence.

There are many calls to "String.startsWith" in Ant (just like in the
proposed patch), for example, in methods "AntlibDefinition.setURI",
"AntClassLoader.isParentFirst", "ComponentHelper.checkNamespace",
"Execute.getVMSLogicals", "ExecTask.isPath", "Jar.writeIndexLikeList",
"Definer.makeResourceFromURI", "PathTokenizer.nextToken", etc.

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to