On 11/4/2016 11:43 AM, Mike Crowe wrote:
On Friday 04 November 2016 at 08:26:28 -0700, bch wrote:
>On Nov 4, 2016 8:18 AM, "Mike Crowe"<m...@mcrowe.com>  wrote:
> >
> >On Friday 04 November 2016 at 08:04:34 -0700, bch wrote:
> > >On Nov 4, 2016 8:01 AM, "Mike Crowe"<m...@mcrowe.com>  wrote:
> > > >The fix for this in 3bb273db7e40ebc284cff45f3ce3f0475c8339c2 appears
>to
> > > >have changed the existing behaviour offile://  URLs for me:
> > > >
> > > >On current master (9ea3a6e150dfc822ba1565f649b634848597d2d9):
> > > >  $ src/curlfile://config.log
> > > >  curl: (37) Couldn't open file /config.log
> > > >
> > > >On master with 3bb273db7e40ebc284cff45f3ce3f0475c8339c2 reverted:
> > > >  $ src/curlfile://config.log
> > > >  [contents of config.log]
> > > >
> > > >Rightly or wrongly, we've used URLs like"file://test.txt"  in many of
>our
> > > >unit tests which are now failing.:(
> > >
> > >What doesfile:///test.txt  (3 slashes) yield?
> >
> >On both:
> >  $ src/curlfile:///config.log
> >  curl: (37) Couldn't open file /config.log
>
>Is that the correct path, or is the fully qualified path something like
>/var/log/config.log (file:///var/log/config.log) ?
/config.log is not the correct path.

./config.log is the correct path.

The change in behaviour is thatfile://config.log  used to refer to
./config.log whereas after 3bb273db7e40ebc284cff45f3ce3f0475c8339c2 that
URL now refers to /config.log.

Yes now if the path doesn't start with a slash one is added [1] so it's going to be rebuilt like

* Rebuilt URL to: file:///

I'm not sure that this is a bug, it seems more correct than it was before. However if for backwards compatibility we wanted to skip that for file it should be simple

-  if(path[0] != '/') {
+  if(path[0] != '/' && !strcasecompare(protop, "file")) {


[1]: https://github.com/curl/curl/commit/3bb273db7e#diff-8fb104cR4292

-------------------------------------------------------------------
List admin: https://cool.haxx.se/list/listinfo/curl-library
Etiquette:  https://curl.haxx.se/mail/etiquette.html

Reply via email to