delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2004/05/12/11:17:30

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
From: "Dave Korn" <dk AT artimi DOT com>
To: <cygwin AT cygwin DOT com>
Subject: RE: bash: tab completion failure from (but not at) /
Date: Wed, 12 May 2004 16:17:03 +0100
MIME-Version: 1.0
In-Reply-To: <20040512140835.GJ12030@cygbert.vinschen.de>
Message-ID: <NUTMEGf3ednHM3SOlbp000000a6@NUTMEG.CAM.ARTIMI.COM>
X-OriginalArrivalTime: 12 May 2004 15:17:03.0507 (UTC) FILETIME=[2E09DE30:01C43834]

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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019