Looks good. Best regards, Goetz.
> -----Original Message----- > From: Baesken, Matthias > Sent: Donnerstag, 19. Juli 2018 11:15 > To: core-libs-dev@openjdk.java.net; xueming.s...@oracle.com > Cc: Lindenmaier, Goetz <goetz.lindenma...@sap.com> > Subject: Re: RFR : 8207395: jar has issues with UNC-path arguments for the > jar -C parameter [windows] > > Hi Sherman , I like your proposal , I prepared this webrev : > > http://cr.openjdk.java.net/~mbaesken/webrevs/8207395.2/ > > > (and looking forward to your future move of jar to a complete nio > implementation !) > > Best regards, Matthias > > > > > > Message: 2 > > Date: Wed, 18 Jul 2018 11:37:34 -0700 > > From: Xueming Shen <xueming.s...@oracle.com> > > To: core-libs-dev@openjdk.java.net > > Subject: Re: RFR : 8207395: jar has issues with UNC-path arguments for > > the jar -C parameter [windows] > > Message-ID: <5b4f88ee.8080...@oracle.com> > > Content-Type: text/plain; charset=UTF-8; format=flowed > > > > > > Ideally it would be preferred to move jar to a complete nio > > implementation and we then > > can leave the WindowsPath to take care of this stuff. That said that > > would be a relative > > big change. I do have a version on my disk but need clean up, test, > > performance measurement > > and review to get it. > > > > So for now I think it's fine to add this small fix to support the unc. > > > > now sure if the following is better? > > > > 637 boolean hasUNC = File.separatorChar == '\\'&& > > dir.startsWith("//"); > > 638 while (dir.indexOf("//")> -1) { > > 639 dir = dir.replace("//", "/"); > > 640 } > > 641 if (isUNC) // Restore Windows UNC path. > > 642 dir = "/" + dir; > > > > -Sherman > > > > > > On 7/18/18, 6:44 AM, Roger Riggs wrote: > > > Hi, > > > > > > Is there any chance that just using java.nio.file.Path.of will do the > > > needed cleanup? (or Paths.get) > > > It seems a shame to spread this kind of adhoc fixup around? > > > > > > $0.02, Roger > > > > > > On 7/18/2018 5:31 AM, Lindenmaier, Goetz wrote: > > >> Hi Matthias, > > >> > > >> thanks for doing this fix. > > >> > > >> I think this can be noted down a bit better, avoiding duplicating the > > >> loop. > > >> Also, please remove the redundant dir.replace(File.separatorChar, '/'). > > >> > > >> dir = dir.replace(File.separatorChar, '/'); > > >> + String unc = (dir.startsWith("//") && > > >> (File.separatorChar == '\\')) ? "/" : ""; > > >> while (dir.indexOf("//") > -1) { > > >> dir = dir.replace("//", "/"); > > >> } > > >> - > > >> pathsMap.get(version).add(dir.replace(File.separatorChar, '/')); > > >> + // Restore the second leading '/' needed for > > >> the Windows UNC path. > > >> + dir = unc + dir; > > >> + pathsMap.get(version).add(dir); > > >> nameBuf[k++] = dir + args[++i]; > > >> > > >> Best regards, > > >> Goetz. > > >> > > >>> -----Original Message----- > > >>> From: core-libs-dev [mailto:core-libs-dev-boun...@openjdk.java.net] > > On > > >>> Behalf Of Baesken, Matthias > > >>> Sent: Dienstag, 17. Juli 2018 13:15 > > >>> To: core-libs-dev@openjdk.java.net > > >>> Subject: [CAUTION] RFR : 8207395: jar has issues with UNC-path > > >>> arguments > > >>> for the jar -C parameter [windows] > > >>> > > >>> Please review this small fix for allowing windows UNC paths in > > >>> the jar -C > > >>> parameter. > > >>> Currently passing a UNC path to a directory with -C <dir> fails : > > >>> > > >>> c:\testdir>c:\tools\jdk10\bin\jar.exe test.jar -C \\MYMACHINE\subdir > > >>> README.txt > > >>> Illegal option: s > > >>> Try `jar --help' for more information. > > >>> > > >>> With the patch it works . > > >>> > > >>> webrev > > >>> > > >>> http://cr.openjdk.java.net/~mbaesken/webrevs/8207395/ > > >>> > > >>> bug > > >>> > > >>> https://bugs.openjdk.java.net/browse/JDK-8207395 > > >>> > > >>> > > >>> > > >>> > > >>> Thanks, Matthias > > >