This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Cygwin preserving filenames ending in period

Lloyd Wood wrote:

> I've just discovered that Cygwin does not preserve filenames ending in
> a period, and treats the filenames with and without the period as
> identical. This is contrary to other linux systems.
> describes the problem; a file named 'Makefile_defs.' was created by
> cvs, but eventually got packaged up as 'Makefile_defs' causing build
> errors on platforms other than Cygwin.

Because It's Windows(tm).  If I recall correctly the lowest level NT
APIs can create filenames with trailing dots on NTFS volumes, but none
of the higher level APIs (win32) can deal with a trailing dot.  The
Microsoft platform SDK in the section "Naming a File" in the Storage
reference says:

"Do not end a file or directory name with a trailing space or a period.
Although the underlying file system may support such names, the
operating system does not. "

I think that Cygwin does use the NT level API for several reasons (speed
and capability), but if it were to allow trailing-dotted filenames it
would mean that you could create a file in Cygwin that would be
undeleteable/unaccessable with normal windows tools.  It would also
create a behavior that would only work on NT kernels and NTFS
filesystem, while Cygwin in general has to support 9x, FAT, etc.

You should look into using a managed mount if you absolutely must have
files with names that are incompatible with Windows.


Unsubscribe info:
Problem reports:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]