Path prefix //./ in Cygwin

Jeremy Drake cygwin@jdrake.com
Wed Jun 11 23:01:51 GMT 2025


While making some tests for a path parser in rust
(https://github.com/rust-lang/rust/pull/141864), an interesting corner
case in Cygwin path handling came to light:
Works:
\\.\C:
//.\C:
//./C:\foo
Doesn't work:
//./C:
//./C:/foo
It appears to be able to use the \\.\ prefix, there must be at least 1
backslash in the path. Otherwise, it seems that . and .. are being
normalized like a normal path and //./C:/foo is treated like
//C:/foo. The delay attempting to access it makes me think it is looking
for a server/share style path.
My question is whether this behavior is intentional or a bug. I don't
want to see rust codify this in their path parser and tests, only to have
it change later as a bugfix in a corner case of path handling.


More information about the Cygwin mailing list

AltStyle によって変換されたページ (->オリジナル) /