# HG changeset patch # User mbaesken # Date 1531825123 -7200 # Tue Jul 17 12:58:43 2018 +0200 # Node ID c115e694a09f2b96c8a2c4aa67465b2cb35b35ba # Parent 695dff91a99779cb00615566cc1f62e98d3b3eff 8207395: jar has issues with UNC-path arguments for the jar -C parameter [windows] diff --git a/src/jdk.jartool/share/classes/sun/tools/jar/Main.java b/src/jdk.jartool/share/classes/sun/tools/jar/Main.java --- a/src/jdk.jartool/share/classes/sun/tools/jar/Main.java +++ b/src/jdk.jartool/share/classes/sun/tools/jar/Main.java @@ -633,8 +633,17 @@ dir = (dir.endsWith(File.separator) ? dir : (dir + File.separator)); dir = dir.replace(File.separatorChar, '/'); - while (dir.indexOf("//") > -1) { - dir = dir.replace("//", "/"); + + if (dir.startsWith("//") && (File.separatorChar == '\\') ) { + while (dir.indexOf("//") > -1) { + dir = dir.replace("//", "/"); + } + // restore the leading / to fix the Win UNC path + dir = "/" + dir; + } else { + while (dir.indexOf("//") > -1) { + dir = dir.replace("//", "/"); + } } pathsMap.get(version).add(dir.replace(File.separatorChar, '/')); nameBuf[k++] = dir + args[++i];