< prev index next >
src/java.base/share/classes/jdk/internal/loader/URLClassPath.java
Print this page
imported patch URLClasspath-simplify-constructor
*** 174,200 ****
*/
URLClassPath(String cp, boolean skipEmptyElements) {
ArrayList<URL> path = new ArrayList<>();
if (cp != null) {
// map each element of class path to a file URL
! int off = 0;
! int next;
! while ((next = cp.indexOf(File.pathSeparator, off)) != -1) {
! String element = cp.substring(off, next);
if (element.length() > 0 || !skipEmptyElements) {
URL url = toFileURL(element);
if (url != null) path.add(url);
}
off = next + 1;
! }
!
! // remaining element
! String element = cp.substring(off);
! if (element.length() > 0 || !skipEmptyElements) {
! URL url = toFileURL(element);
! if (url != null) path.add(url);
! }
}
this.unopenedUrls = copyToArrayDeque(path);
this.path = path;
this.jarHandler = null;
--- 174,195 ----
*/
URLClassPath(String cp, boolean skipEmptyElements) {
ArrayList<URL> path = new ArrayList<>();
if (cp != null) {
// map each element of class path to a file URL
! int off = 0, next;
! do {
! next = cp.indexOf(File.pathSeparator, off);
! String element = (next == -1)
! ? cp.substring(off)
! : cp.substring(off, next);
if (element.length() > 0 || !skipEmptyElements) {
URL url = toFileURL(element);
if (url != null) path.add(url);
}
off = next + 1;
! } while (next != -1);
}
this.unopenedUrls = copyToArrayDeque(path);
this.path = path;
this.jarHandler = null;
< prev index next >