This is the mail archive of the
cygwin
mailing list for the Cygwin project.
RE: bash: tab completion failure from (but not at) /
- From: "Dave Korn" <dk at artimi dot com>
- To: <cygwin at cygwin dot com>
- Date: Wed, 12 May 2004 16:17:03 +0100
- Subject: RE: bash: tab completion failure from (but not at) /
> -----Original Message-----
> From: cygwin-owner On Behalf Of Corinna Vinschen
> Sent: 12 May 2004 15:09
> In bash, the path "/" is accidentally converted to "//"
> before it tries
> to call opendir() on it. On any other POSIX system, that
> doesn't matter
> since "//" has no special meaning. On Cygwin (or better,
> Windows), "//"
> means the start of an SMB path. The old path conversion code
> in Cygwin
> had no problems with it, the new code uncovered both, the bug
> in Cygwin
> and this bug in bash. The Cygwin patch is already applied.
I reckon you could quote
http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap04.html#tag_0
4_11
to support the claim that what bash is doing is actually an invalid
transformation and should be considered a bug. That page says
"A pathname consisting of a single slash shall resolve to the root directory
of the process. A null pathname shall not be successfully resolved. A
pathname that begins with two successive slashes may be interpreted in an
implementation-defined manner, although more than two leading slashes shall
be treated as a single slash."
Therefore translating "/" to "//" has the effect of replacing an
unambiguous specs-defined interpretation with an implementation-defined
interpretation and is clearly invalid, even though it amounts to a null
tranformation on many *nix systems.
cheers,
DaveK
--
Can't think of a witty .sigline today....
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/