ABCDEFGHIJKLMNOPQRSTUVWXYZ

clearenv

CLEARENV(3)                                                        CLEARENV(3)



NAME
       clearenv - clear the environment

SYNOPSIS
       #include <stdlib.h>

       int clearenv(void);

DESCRIPTION
       The  clearenv() function clears the environment of all name-value pairs
       and sets the value of the external variable environ to NULL.


RETURN VALUE
       The clearenv() function returns zero on success, and a  non-zero  value
       on failure.


AVAILABILITY
       Not in libc4, libc5. In glibc since glibc 2.0.


CONFORMING TO
       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 clearenv().


NOTES
       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 any-
       thing  other than the putenv(), getenv(), or clearenv() functions, then
       clearenv() will return an error and the process environment will remain
       unchanged.

SEE ALSO
       getenv(3), putenv(3), setenv(3), unsetenv(3), environ(5)




Linux Programmer's Manual         2001-10-17                       CLEARENV(3)