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;
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.