Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-developers-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin-developers AT sources DOT redhat DOT com Date: Mon, 30 Apr 2001 14:24:43 +0200 From: Corinna Vinschen To: cygwin-developers AT cygwin DOT com Subject: PATCH [was Re: difficult problem with symbolic link handling] Message-ID: <20010430142443.H24200@cygbert.vinschen.de> Reply-To: cygdev Mail-Followup-To: cygwin-developers AT cygwin DOT com References: <20010428130748 DOT A20706 AT redhat DOT com> <20010430001845 DOT A24200 AT cygbert DOT vinschen DOT de> <20010429201700 DOT A24130 AT redhat DOT com> <20010430115525 DOT E24200 AT cygbert DOT vinschen DOT de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20010430115525.E24200@cygbert.vinschen.de>; from vinschen@redhat.com on Mon, Apr 30, 2001 at 11:55:25AM +0200 On Mon, Apr 30, 2001 at 11:55:25AM +0200, Corinna Vinschen wrote: > Further behaviour is related to "check_case=relaxed". > I think that's actually the same bug but just for > clearness I send both problems: > > - TAB-completion doesn't work correctly. Example > $ cd src/openssh/ > shows the contents of src/, not of src/openssh/. > > - chdir doesn't work correctly. > Example bash: > $ cd src/openssh/src > $ pwd > /home/corinna/src/openssh/src > $ ls > > Example tcsh: > $ cd src/openssh/src > $ pwd > /src > > $ cd src > $ cd openssh > $ cd src > $ pwd > /src/openssh/src > $ cd .. > $ pwd > /src That problem can be solved by the following patch: * path.cc (path_conv::check): Update tail to actual pinched off path tail. Index: path.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/path.cc,v retrieving revision 1.130 diff -u -p -r1.130 path.cc --- path.cc 2001/04/30 01:46:31 1.130 +++ path.cc 2001/04/30 12:22:10 @@ -559,7 +559,7 @@ path_conv::check (const char *src, unsig else { *headptr++ = '/'; - strcpy (headptr, tail); + strcpy (headptr, ++tail); } src = tmp_buf; Corinna