Various Unix variants (DGUX, HPUX, QNX, ...). POSIX.9 (bindings for FORTRAN77).
POSIX.1-1996 did not accept clearenv() and putenv(), but changed
its mind and scheduled these functions for some later issue of this standard
(cf. B.4.6.1). However, SUSv3 only adds putenv(), and rejected
Used in security-conscious applications. If it is unavailable the assignment
environ = NULL;
will probably do.
The DGUX and Tru64 manpages write: If environ has been modified by
anything other than the putenv(), getenv(), or clearenv()
functions, then clearenv() will return an error and the process
environment will remain unchanged.