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: 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/


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