Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <43094F28.70405@nc.rr.com> Date: Mon, 22 Aug 2005 00:06:00 -0400 From: Joe Krahn User-Agent: Mozilla Thunderbird 1.0.2 (Windows/20050317) MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: Path processing bug References: <082120052231 DOT 12264 DOT 430900D300063BF300002FE822007601800A050E040D0C079D0A AT comcast DOT net> In-Reply-To: <082120052231.12264.430900D300063BF300002FE822007601800A050E040D0C079D0A@comcast.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit 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 "/..". 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/