Re: [RFA] Fix cygwin compilation failure due to nameless LOAD_DLL_DEBUG_EVENT causes ntdll.dll to be missing

Eli Zaretskii
2013-12-18T18:19:43Z

> Date: Wed, 18 Dec 2013 18:31:55 +0100
> From: Corinna Vinschen <vinschen@redhat.com>
>
> > So lifting the 260-char limit means both go to Unicode _and_ use the
> > \\?\ format of file names, is that right?
>
> Right.
>
> > If so, it probably means
> > that CRT functions that accept wchar_t arrays as file names (_wfopen
> > etc.) cannot be used with such long file names, and one needs to call
> > the Win32 APIs directly. Correct?
>
> I don't know, but I doubt it. The filenames in case of calling the
> _wfopen functions are probably sent directly to the underlying WIn32
> functions.

I don't think they can do that, because it would mean that relative
file names, "../foo", etc. are forbidden for _wfopen. The CRT
functions must go through file-name normalization, so unless they
detect \\?\ file names up front and refrain from any processing, the
long file names will not work, because the normalization routines are
where these limitations live, AFAIK.

Anyway, thanks for your insights.