Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Jul 2007 12:47:56 +0400
From:      Andrey Chernov <ache@nagual.pp.ru>
To:        "Daniel O'Connor" <doconnor@gsoft.com.au>, sergei@FreeBSD.org, scf@FreeBSD.org
Cc:        freebsd-current@FreeBSD.org
Subject:   Re: zsh oddities with recent -current
Message-ID:  <20070725084755.GA75871@nagual.pp.ru>
In-Reply-To: <200707251733.12658.doconnor@gsoft.com.au>
References:  <200707251733.12658.doconnor@gsoft.com.au>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
On Wed, Jul 25, 2007 at 05:33:05PM +0930, Daniel O'Connor wrote:
> I updated my -current box (laptop) on the 18th and I have 2 strange 
> issues with zsh.
> 
> 1) I can't unset environmental variables set before the shell started, 
> eg..

zsh uses system's putenv() but home-rolled delete from environment 
(instead of unsetenv()). It clearly violates POSIX since it forbids to mix 
putenv/setenv/unsetenv with direct environ manipulations:

"Conforming applications are required not to modify environ directly, but 
to use only the functions described here to manipulate the process 
environment as an abstract object. Thus, the implementation of the 
environment access functions has complete control over the data structure 
used to represent the environment (subject to the requirement that environ 
be maintained as a list of strings with embedded equal signs for 
applications that wish to scan the environment). This constraint allows 
the implementation to properly manage the memory it allocates, either by 
using allocated storage for all variables (copying them on the first 
invocation of setenv() or unsetenv()), or keeping track of which strings 
are currently in allocated space and which are not, via a separate table 
or some other means."

Quick fix will be just to disable HAVE_PUTENV config option. It gains 
nothing in the code but makes troubles.

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

[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.4 (FreeBSD)

iD8DBQFGpw47Vg5YK5ZEdN0RAgqTAKCDzLpnu6bRVhuPr4FSb9eH9pxVpgCeIWcc
Nqq3g83PVR7wmPNnDzPoqdw=
=pcfA
-----END PGP SIGNATURE-----

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