[bugreport] Two slashes should not indicate remote machine or special directory
Sjors Gielen
mailinglist@dazjorz.com
Mon Jan 26 01:13:00 GMT 2009
Eric Blake schreef:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> According to Sjors Gielen on 1/25/2009 6:46 AM:
>> Hey all,
>>
>> In Cygwin (the CVS version), it seems paths starting with two slashes
>> are "special paths" for accessing remote machines or bypassing the mount
>> table.
>>
>> This however is incompatible with Linux, where i.e. //etc is a valid
>> path. See, for example: (`ls` indicators removed for readability)
>
> Not only is it perfectly compatible with Linux, but it is allowed by
> POSIX. This is a design decision that all portable programs must be aware
> of - you cannot blindly use '//' to mean '/', and not just because of cygwin.
>
> http://www.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_266
> http://www.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap04.html#tag_04_12
> "A pathname that begins with two successive <slash> characters may be
> interpreted in an implementation-defined manner, although more than two
> leading <slash> characters shall be treated as a single <slash> character."
>
>> Therefore, I'm suggesting to remove "//" as a
>> special path from conv_to_win32_path.
>
> Won't happen. We've intentionally defined it as a synonym for Windows
> \\server\share notation.
I figured this was by design, but I didn't know there was an explicit
exception in POSIX for this.
However, as I'm sure you're aware, there are a lot of Linux applications
which depend on, for example, //etc being the same as /etc. These all
have to be patched to use ///etc or /etc.
How much of Cygwin will be broken if we remove //remoteserver as an
equivalent to Windows \\remoteserver? Wouldn't it be a better solution
to provide an alternative for //remoteserver, i.e.
/cygdrive/net/remoteserver or maybe even net://remoteserver or
smb://remoteserver? This would fix both the problem with Linux
compatibility, and still leave this feature in Cygwin.
- Sjors
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
More information about the Cygwin
mailing list