Good point, I think I better keep the "good old" loop . Second webrev containing the suggestions of Goetz :
http://cr.openjdk.java.net/~mbaesken/webrevs/8207395.1/ Best regards, Matthias > -----Original Message----- > From: Scott Palmer [mailto:[email protected]] > Sent: Mittwoch, 18. Juli 2018 15:05 > To: Baesken, Matthias <[email protected]> > Cc: Lindenmaier, Goetz <[email protected]>; core-libs- > [email protected] > Subject: Re: RFR : 8207395: jar has issues with UNC-path arguments for the > jar -C parameter [windows] > > That gives a different result. > > Original: > "///" -> “/" > > replaceAll: > "///" -> “//" > > > > On Jul 18, 2018, at 7:18 AM, Baesken, Matthias > <[email protected]> wrote: > > > > Hi Götz, thanks for the input ! > > Should we maybe use > > > > dir.replaceAll > > > > and not the while loop ? > > > >> while (dir.indexOf("//") > -1) { > >> dir = dir.replace("//", "/"); > >> } > > > > Best regards, Matthias > > > > > >> -----Original Message----- > >> From: Lindenmaier, Goetz > >> Sent: Mittwoch, 18. Juli 2018 11:32 > >> To: Baesken, Matthias <[email protected]>; core-libs- > >> [email protected] > >> Subject: RE: RFR : 8207395: jar has issues with UNC-path arguments for > the > >> jar -C parameter [windows] > >> > >> 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:[email protected]] > On > >>> Behalf Of Baesken, Matthias > >>> Sent: Dienstag, 17. Juli 2018 13:15 > >>> To: [email protected] > >>> 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 > >
