Subject: Re: CVS commit: src/lib/libc/gen
To: Elad Efrat <>
From: Quentin Garnier <>
List: source-changes
Date: 12/31/2005 01:09:31
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu, Dec 22, 2005 at 11:29:23PM +0000, Elad Efrat wrote:
> Module Name:	src
> Committed By:	elad
> Date:		Thu Dec 22 23:29:23 UTC 2005
> Modified Files:
> 	src/lib/libc/gen: getcwd.c
> Log Message:
> Allow last component to be non-existing again. I broke this behavior for
> no apparent good reason in revision 1.39.
> This is what broke systrace's filename normalization.
> Go back to original behavior as in revision 1.35: return resolved name,
> but also set errno to ENOENT.

So you reverted realpath(3) to a broken state.

What's your point here?  Now we should always check errno, even when the
function returns a non-error value?  That's crazy.

If systrace needs a realpath with a specific behaviour, then special
case it, but don't gratuitiously break standard compliance (and, shall I
add, usual practice from what Linux and Solaris do) for the sake of your
own code.  I say that's a rather apparent good reason.

Please re-re-re-revert (or whatever) that change.

Quentin Garnier - -
"When I find the controls, I'll go where I like, I'll know where I want
to be, but maybe for now I'll stay right here on a silent sea."
KT Tunstall, Silent Sea, Eye to the Telescope, 2004.

Content-Type: application/pgp-signature
Content-Disposition: inline

Version: GnuPG v1.2.6 (NetBSD)