stat(2) wierdness

Conrad Scott
Sun Jun 2 07:58:00 GMT 2002

This started out looking at the /proc filesystem, in particular XEmacs's
handling of the file /proc/registry/HKEY_CLASSES_ROOT/* but I got

Basically: the handling of filenames consisting of exactly one of these
win32 reserved characters, * ? " < >, is broken in the current CVS cygwin.
This has changed between 1.3.10-1 and the current release. (nb this is in
the standard filesystem, not the /proc filesystem.)

For example, stat(2) succeeds for filenames containing of a single * ? " <
or >, claiming that they are directories. (It correctly rejects filenames of
a single | and I'm ignoring \ and : since I'm unclear what should happen
with these anyhow.) These were all rejected in 1.3.10-1.

This gives lovely wierdness if you try something like:
$ cp /etc/passwd '*'
cp: cannot create regular file `*/passwd': No such file or directory

After this little diversion, back to XEmacs wierdness.

// Conrad

More information about the Cygwin-developers mailing list