Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 14 Jul 2007 03:02:41 +0400
From:      Andrey Chernov <ache@nagual.pp.ru>
To:        "Sean C. Farley" <scf@FreeBSD.org>, freebsd-current <freebsd-current@FreeBSD.org>
Subject:   Re: Environment handling broken in /bin/sh with changes to t,set,put}env()
Message-ID:  <20070713230241.GA22124@nagual.pp.ru>
In-Reply-To: <20070713224053.GA21695@nagual.pp.ru>
References:  <20070707133102.C14065@thor.farley.org> <20070707191835.GA4368@nagual.pp.ru> <20070707205410.B14065@thor.farley.org> <20070708020940.GA80166@nagual.pp.ru> <20070708171727.GA90490@nagual.pp.ru> <20070713162742.GA16260@nagual.pp.ru> <20070713142545.K26096@thor.farley.org> <20070713202433.GA19856@nagual.pp.ru> <20070713152644.I26096@thor.farley.org> <20070713224053.GA21695@nagual.pp.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Jul 14, 2007 at 02:40:53AM +0400, Andrey Chernov wrote:
> > I chose #3.  Try the patch[1] again.  It creates a setenv() function
> > which is a wrapper around __setenv().  __setenv() takes the lengths of
> > name and value to allow the caller to calculate the length using pointer
> > arithmetic instead of strlen().
> > 
> > Sean
> >   1. http://www.farley.org/freebsd/tmp/setenv/clearenv/patch
> 
> The wrapper version finally looks OK for me.

BTW, since strlen(value) is common part, you may decrease one argument to 
__setenv() call just passing value and doing strlen(value) inside it like 
before, i.e.
valueLen = strlen(value);

-- 
http://ache.pp.ru/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070713230241.GA22124>