RFR : 8207395: jar has issues with UNC-path arguments for the jar -C parameter [windows]

Baesken, Matthias matthias.baesken at sap.com
Fri Jul 20 08:08:21 UTC 2018


Thanks !
Sherman - are you fine with the latest version , if so I would push it  .

Best regards, Matthias


> -----Original Message-----
> From: Lindenmaier, Goetz
> Sent: Freitag, 20. Juli 2018 09:38
> To: Baesken, Matthias <matthias.baesken at sap.com>; core-libs-
> dev at openjdk.java.net; xueming.shen at oracle.com
> Subject: RE: RFR : 8207395: jar has issues with UNC-path arguments for the
> jar -C parameter [windows]
> 
> Looks good.
> 
> Best regards,
>   Goetz.
> 
> > -----Original Message-----
> > From: Baesken, Matthias
> > Sent: Donnerstag, 19. Juli 2018 11:15
> > To: core-libs-dev at openjdk.java.net; xueming.shen at oracle.com
> > Cc: Lindenmaier, Goetz <goetz.lindenmaier at 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.shen at oracle.com>
> > > To: core-libs-dev at openjdk.java.net
> > > Subject: Re: RFR : 8207395: jar has issues with UNC-path arguments for
> > > 	the jar -C parameter [windows]
> > > Message-ID: <5B4F88EE.8080608 at 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-
> bounces at openjdk.java.net]
> > > On
> > > >>> Behalf Of Baesken, Matthias
> > > >>> Sent: Dienstag, 17. Juli 2018 13:15
> > > >>> To: core-libs-dev at 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
> > > >



More information about the core-libs-dev mailing list