clearenv(3) limpia el entorno

SINOPSIS

#include <stdlib.h>


int clearenv(void);

DESCRIPCIÓN

La función clearenv() borra todos los pares nombre-valor del entorno y establece el valor de la variable externa environ a NULL.

VALOR DEVUELTO

La función clearenv() devuelve cero en caso de éxito, y un valor distinto de cero en caso de fallo.

DISPONIBILIDAD

No está presente en libc4, libc5. En glibc está presente desde la versión 2.0.

CONFORME A

Varias variantes Unix (DGUX, HPUX, QNX, ...). POSIX.9 (enlaces para FORTRAN77). POSIX.1-1996 no aceptaba clearenv() ni putenv(), pero más tarde recapacitó y planificó estas funciones para ser incluidas en una versión posterior de su estándar (cf. B.4.6.1). Sin embargo, SUSv3 solo incorpora putenv(), y rechaza clearenv().

OBSERVACIONES

Utilizada en aplicaciones conscientes de la importancia de la seguridad. Si la asignación
        environ = NULL;
no está disponible probablemente lo estará.

En las páginas de manual de DGUX y Tru64 se puede leer: Si environ ha sido modificado por cualquier otro medio que no sea las funciones putenv(), getenv(), o clearenv() entonces clearenv() devolverá un error y el entorno del proceso permanecerá intacto.