HEADS UP: getenv() and family API change

Andrey Chernov ache at nagual.pp.ru
Tue Jul 10 22:46:22 UTC 2007


On Wed, Jul 11, 2007 at 07:36:02AM +1000, Peter Jeremy wrote:
> On 2007-Jul-10 19:41:48 +0400, Andrey Chernov <ache at nagual.pp.ru> wrote:
> >To say strictly, copying somewhere is not neccessary since this way works 
> >too:
> >
> >static char *s = "PATH=/bin";
> >
> >putenv(s);
> 
> I thought the C compiler was still free to place the string into RO
> memory and/or coalesce it with other strings in that case.
> 
> Wouldn't the following be clearer (s is forced to be writable):
> 
> static char s[] = "PATH=/bin";
> 
> putenv(s);

This two are the same, since there is no "const", so compiler can't put 
static char *s
into RO memory.

-- 
http://ache.pp.ru/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20070710/4d28c8ca/attachment.pgp


More information about the freebsd-current mailing list