cygpath -w for non-existent server

Andy Koppe andy.koppe@gmail.com
Mon Dec 6 11:59:00 GMT 2010


On 6 December 2010 11:34, Corinna Vinschen wrote:
> Hi Andy,
>
> On Dec  4 16:07, Corinna Vinschen wrote:
>> On Dec  4 06:35, Andy Koppe wrote:
>> > With non-existent server foo, and Cygwin 1.7.7 or the latest 1.7.8 snapshot:
>> >
>> > $ cygpath -w //foo/bar
>> > \\foo\bar
>> >
>> > $ cygpath -w //foo
>> > cygpath: error converting "//foo" - No such file or directory
>> >
>> > Is that as intended?
>> >
>> > Also, both only return after a few seconds delay, so I assume they
>> > trigger network accesses. Is that necessary?
>>
>> Probably yes, due to the way SMB works.  The "No such file or directory"
>> seems wrong though.  I'll investigate next week.
>
> Done.  The behaviour is perfectly valid.
>
> - "//foo/bar" requires to access the path, which in turn triggers an SMB
>  request on the wire.  This takes a couple of seconds within Windows
>  itself, even if the DNS request returns immediately that the server
>  doesn't exist.  NetBIOS?  Anyway, there's nothing Cygwin can do about
>  it.
>
> - "//foo" is a virtual path, valid only in Cygwin.  You can't access
>  "\\foo" in the Win32 API using file or directory access functions.  It
>  just doesn't exist as a path.  UNC paths are only valid with at least
>  two path components as in "\\server\share".  Since "//foo" is a
>  virtual path, there's no Win32 equivalent.  So, from the Windows
>  perspective there's "No such file or directory".

Weird. "\\server" works fine in Explorer and also with cygstart, so I
guess Explorer implements it as some sort of virtual directory. Is
that enough reason to support it as a special case in the Cygwin path
conversion?

Thanks for looking into this.

Andy

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list