delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2000/10/18/09:27:53

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
Message-ID: <39EDA52A.296E75B9@cygnus.com>
Date: Wed, 18 Oct 2000 15:27:06 +0200
From: Corinna Vinschen <vinschen AT cygnus DOT com>
Reply-To: cygwin <cygwin AT sources DOT redhat DOT com>
X-Mailer: Mozilla 4.75 [en] (X11; U; Linux 2.2.14-SMP i686)
X-Accept-Language: de, en
MIME-Version: 1.0
To: Cygwin mailing list <Cygwin AT Sourceware DOT Cygnus DOT Com>
Subject: Re: /bin/pwd (getcwd) and symlinks
References: <20001018124405 DOT 9125 DOT qmail AT web112 DOT yahoomail DOT com>

Earnie Boyd wrote:
> 
> --- Andrej Borsenkow <Andrej DOT Borsenkow AT mow DOT siemens DOT ru> wrote:
> > If a current directory is symlink, getcwd() on Unix returns directory, to
> > which this symlink points, while on Cygwin it returns directory itself:
> >
> > mw1g017 AT MW1G17C% ls -l . sub
> > .:
> > total 0
> > drwxr-xr-x   2 mw1g017  ITS             0 Oct 18 15:40 real
> > drwxr-xr-x   2 mw1g017  ITS             0 Oct 18 15:40 sub
> >
> > sub:
> > total 1
> > lrw-r--r--   1 mw1g017  ITS            18 Oct 18 15:40 fake -> ../real
> > mw1g017 AT MW1G17C% cd sub/fake
> > mw1g017 AT MW1G17C% /bin/pwd
> > /tmp/sub/fake
> >
> > while on Unix this returns /tmp/real.
> >
> > Is it intentional?
> >
> 
> It's implementation depedant.  On my HP-UX system it returns the symbolic link
> name.  I could find no documentation stating that it should return the actual
> directory.

And it's intentional as well. In earlier versions we had problems with
`find' if you had a structure like that:

	/
	/etc
	/usr
	/usr/etc -> linked to /etc
	/usr/lib

A find in /usr resulted in some senseless warning messages due to
the way `find' examines and changes thru the directory structure.

This is solved by the current implementation of chdir()/getcwd().

Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Developer                        mailto:cygwin AT sources DOT redhat DOT com
Red Hat, Inc.
mailto:vinschen AT cygnus DOT com

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com

- Raw text -


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