This is the mail archive of the
cygwin
mailing list for the Cygwin project.
cygpath and partial normalization of trailing /.
- From: Poor Yorick <com dot cygwin dot cygwin at pooryorick dot com>
- To: cygwin at cygwin dot com
- Date: Mon, 05 Oct 2015 06:29:37 -0600
- Subject: cygpath and partial normalization of trailing /.
- Authentication-results: sourceware.org; auth=none
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