This is the mail archive of the
cygwin@sources.redhat.com
mailing list for the Cygwin project.
Re: /bin/pwd (getcwd) and symlinks
- To: Cygwin mailing list <Cygwin at Sourceware dot Cygnus dot Com>
- Subject: Re: /bin/pwd (getcwd) and symlinks
- From: Corinna Vinschen <vinschen at cygnus dot com>
- Date: Wed, 18 Oct 2000 15:27:06 +0200
- References: <20001018124405.9125.qmail@web112.yahoomail.com>
- Reply-To: cygwin <cygwin at sources dot redhat dot com>
Earnie Boyd wrote:
>
> --- Andrej Borsenkow <Andrej.Borsenkow@mow.siemens.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@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@MW1G17C% cd sub/fake
> > mw1g017@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@sources.redhat.com
Red Hat, Inc.
mailto:vinschen@cygnus.com
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com