This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

cygpath and partial normalization of trailing /.


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}`\"])

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.

--
Poor Yorick


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]