Browse Source

Avoid using of CharacterIterator for URIs that do not contain %, as suggested in pr34529.

PR: 34529


git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@278152 13f79535-47bb-0310-9956-ffa450edef68
master
Jacobus Martinus Kruithof 20 years ago
parent
commit
db20074a24
1 changed files with 14 additions and 0 deletions
  1. +14
    -0
      src/main/org/apache/tools/ant/launch/Locator.java

+ 14
- 0
src/main/org/apache/tools/ant/launch/Locator.java View File

@@ -124,6 +124,20 @@ public final class Locator {
&& Character.isLetter(uri.charAt(1)) && uri.lastIndexOf(':') > -1) {
uri = uri.substring(1);
}
String path = decodeUri(uri);
return path;
}

/**
* Decodes an Uri with % characters.
* @param uri String with the uri possibly containing % characters.
* @return The decoded Uri
*/
private static String decodeUri(String uri) {
if (uri.indexOf('%') == -1)
{
return uri;
}
StringBuffer sb = new StringBuffer();
CharacterIterator iter = new StringCharacterIterator(uri);
for (char c = iter.first(); c != CharacterIterator.DONE;


Loading…
Cancel
Save