Please don't resolve native symbolic links in cygwin_conv_path

Reini Urban rurban@x-ray.at
Mon Jan 10 07:32:00 GMT 2011


2011/1/7 Daniel Colascione:
> On Fri, Jan 7, 2011 at 7:29 AM, Eric Blake  wrote:
>> On 01/06/2011 06:39 PM, Daniel Colascione wrote:
>>> If a POSIX path supplied to cygwin_conv_path ends in a symbolic link,
>>> the returned path refers to the target of that link. Normally, that's
>>> a good thing because native programs can't understand Cygwin links.
>>> But this behavior is unwanted when we're looking at a *native*
>>> symbolic link that all programs can understand. It's needlessly
>>> specific and rather surprising, and is causing trouble with a program
>>> I'm writing that manipulates native symbolic links.
>>
>> Is this something where we should add a new CCP_ flag to
>> cygwin_conv_path's what argument that allows the user the choice between
>> following or stopping at native symlinks?
>
> I don't see why --- if the caller wants a fully-resolved path, he can
> call realpath() on it before converting it. The Cygwin conversion
> functions should only resolve paths to the minimum extent required for
> interoperability --- the facility is more general and useful that way.

It might be slower but I tend to agree with Dan here.
Current behaviour is annoying. esp. when I use
native symlinks to avoid spaces in paths and then I get them in again.

But I could live also with a new option, which I would use as default in perl.
-- 
Reini Urban

--
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