Subject: Re: CVS commit: src/lib/libc/gen
To: Elad Efrat <elad@netbsd.org>
From: Quentin Garnier <cube@cubidou.net>
List: source-changes
Date: 12/31/2005 01:09:31
--m5R8f+g8StfRwQ/I
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:
>=20
> Module Name:	src
> Committed By:	elad
> Date:		Thu Dec 22 23:29:23 UTC 2005
>=20
> Modified Files:
> 	src/lib/libc/gen: getcwd.c
>=20
> Log Message:
> Allow last component to be non-existing again. I broke this behavior for
> no apparent good reason in revision 1.39.
>=20
> This is what broke systrace's filename normalization.
>=20
> 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.

--=20
Quentin Garnier - cube@cubidou.net - cube@NetBSD.org
"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.

--m5R8f+g8StfRwQ/I
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (NetBSD)

iQEVAwUBQ7XMO9goQloHrPnoAQLZqAf/VfGkCl/brGW9eYWUpxFczFyPSPb12j7F
BYvNwFuBvmkQStC1XvM0izg13/Xd6JCIQBWfb90wipKhsjIDS4PxYhELvP5NKfol
dlWNm3T6dJ1ztc+jzjXqRA4VQNNUHt/L9Kiw3zM9t4CO6Td8lifMkqvdbrHuZcPJ
o2UFuU9z4TrBIlkfVkaqsIWattQU9crI7Hk28MLORIqjL05k9SuosZShMWj7O7jz
9hSgzlU2BI3JhEeEuTGmE6xh46hdNu40FX5tdSPyeh3VBnr57WEMwG5vyx4/3qZj
dJ6xS8Ms9VK/mEFYB8vIhE1Qsd32mityAvIkv6piJ6t+4q9S8tRDQA==
=i+4a
-----END PGP SIGNATURE-----

--m5R8f+g8StfRwQ/I--