cygpath and partial normalization of trailing /.

Andrey Repin anrdaemon@yandex.ru
Mon Oct 5 14:35:00 GMT 2015


Greetings, Poor Yorick!

> Currently, in a sh shell,

>     cygpath 'c:\windows'

> returns

>      /cygdrive/c/windows

> and

>      cygpath 'c:\windows\.'

> returns

>     /cygdrive/c/windows/

> .  With the -m switch, the same pattern is followed, and in the case of 
> a
> trailing, \. sequence, the dot is removed but the backslash is retained. 
>   This
> led to a bug (https://sourceforge.net/p/tkimg/bugs/84/) in a build 
> process
> where the  autoconf script looked something like this:

>     TEA_ADD_INCLUDES([-I\"`\${CYGPATH} \${tkimg_SRC_PATH}`\"])

cygpath is not a normalization tool. Use readlink, if you need normalized
paths.

> Because of the trailing backslash in the output of cygpath, the final 
> double
> quote ended up getting escaped.

> Rather than normalizing half of it away and leaving half of it, Wouldn't 
> it be
> better to either not normalize the trailing slash-dot sequence at all, 
> or to
> completely normalize it away?  If that which is delimited is removed, it 
> would
> seem to make sense to removed the delimiter as well.

> The case that the incoming pathname already has a trailing delimiter is 
> one
> that I think is already recognized and differentiated.



-- 
With best regards,
Andrey Repin
Monday, October 5, 2015 17:20:20

Sorry for my terrible english...


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