# HG changeset patch # User martin # Date 1518139557 28800 # Thu Feb 08 17:25:57 2018 -0800 # Node ID 9bc92b9c8fb9134a6209d74e56741255891bc7b0 # Parent 78620a10c58d2a75624c03f4f55da68e4ee05011 imported patch URLClasspath-simplify-constructor diff --git a/src/java.base/share/classes/jdk/internal/loader/URLClassPath.java b/src/java.base/share/classes/jdk/internal/loader/URLClassPath.java --- a/src/java.base/share/classes/jdk/internal/loader/URLClassPath.java +++ b/src/java.base/share/classes/jdk/internal/loader/URLClassPath.java @@ -176,23 +176,18 @@ ArrayList 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); + 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; - } - - // remaining element - String element = cp.substring(off); - if (element.length() > 0 || !skipEmptyElements) { - URL url = toFileURL(element); - if (url != null) path.add(url); - } + } while (next != -1); } this.unopenedUrls = copyToArrayDeque(path);