Filenames with Win32 special characters (or: Interix filename compatibility)

Brian Dessent
Tue Mar 11 10:41:00 GMT 2008

Corinna Vinschen wrote:

> In Cygwin you would suddenly have transparent POSIX filenames, plus the
> additional advantage of filename compatibility with Interix.  It would
> also remove the requirement for managed mounts.

It sounds like there is no serious downside, and a very real upside. 
But wouldn't we still need to keep managed mounts for case sensitivity
and reserved DOS device names?

Although, for a while there we accidently allowed creating the reserved
word filenames and nothing seemed to break, other than the fact that
Cygwin could create files that were utterly undeleteable using normal
methods.  But if I recall correctly that was only because at the time we
were only using NtCreateFile to open files, the rest was standard Win32
ANSI.  Now that we've switched to the wide functions does that mean that
there's a chance that we could also unlink("CON")/rename("CON")
successfully as well?  If so I'm all for re-enabling the ability to
create those again.

The only potential conflict I can think of is that someone might
actually want the current behavior of ':' in order to access alternate
streams.  Perhaps it should be conditionalized on a flag (default on) so
that those that want it can:

$ CYGWIN=noposixnames echo "secret" >file.txt:ads


More information about the Cygwin-developers mailing list