Eric Blake wrote:
Cygwin will accept the path "dir/../file" as being the same as "file",
regardless of whether "dir" exists. Apprently, someone decided that a
simple path-trimming rule would speed things up, but it is wrong. For
example, it breaks building of xedit/lisp, where "lisp/../xedit.h" is
not the same as "xedit.h".
This occurs from bash and tcsh, so it must be in some low-level
unix-to-win32 path name processing.
I've raised the issue of this bug in the past, and the response
was that fixing it would likely slow down the normal case. I too
would like to see it fixed, because it is contrary to POSIX.
Well, it is obvious that supporting an invalid path is just plain wrong,
and not a matter of opinion. However, I just checked in a DOS prompt and
found that DOS/Windows allows removal of "<bogus_dir>/..". So, the real
bug apparently comes from MS (big surprise?)
I can see where path validation could be a significant slow-down, but
"dir/.." is not part of most path names, so doing it 'right' should have
a minimal performance impact.
Joe Krahn
--
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/