On 04/19/2014 08:40 PM, Ray Donnelly wrote:
> Windows does a short-circuit lookup of paths containing
> ../ which means that:
> 
> exists/doesnotexist/../file
> 
> is considered to exist, while on Posix it is considered
> not to. The Posix semantics are relied upon when building
> glibc so any paths containing "../" are checked component
> wise.

This looks like to me the sort of thing that potentially can
break Windows build systems that might rely on the Windows
semantics.

If one's running a native Windows program (such as a native
Windows GCC build), I'd expect that native Windows semantics are
followed (lest we end up reinventing Cygwin within GCC).
At least by default.  IMHO.

On 04/19/2014 08:40 PM, Ray Donnelly wrote:
...
> +     Only do these slow checks if "../" appears in file->path.
> +     Cygwin also suffers from the same problem (but doesn't need
> +     a new stat function):
> +     http://cygwin.com/ml/cygwin/2013-05/msg00222.html

That looks like a bug in Cygwin itself, and thus not appropriate to
fix or reference here.

> +  */
> +  if (file->fd > 0)
> +    {

-- 
Pedro Alves

Reply via email to