summaryrefslogtreecommitdiffstats
path: root/man3/clearenv.3
diff options
context:
space:
mode:
Diffstat (limited to 'man3/clearenv.3')
-rw-r--r--man3/clearenv.383
1 files changed, 83 insertions, 0 deletions
diff --git a/man3/clearenv.3 b/man3/clearenv.3
new file mode 100644
index 000000000..f800ff47e
--- /dev/null
+++ b/man3/clearenv.3
@@ -0,0 +1,83 @@
+.\" Copyright 2001 John Levon <moz@compsoc.man.ac.uk>
+.\"
+.\" Permission is granted to make and distribute verbatim copies of this
+.\" manual provided the copyright notice and this permission notice are
+.\" preserved on all copies.
+.\"
+.\" Permission is granted to copy and distribute modified versions of this
+.\" manual under the conditions for verbatim copying, provided that the
+.\" entire resulting derived work is distributed under the terms of a
+.\" permission notice identical to this one.
+.\"
+.\" Since the Linux kernel and libraries are constantly changing, this
+.\" manual page may be incorrect or out-of-date. The author(s) assume no
+.\" responsibility for errors or omissions, or for damages resulting from
+.\" the use of the information contained herein. The author(s) may not
+.\" have taken the same level of care in the production of this manual,
+.\" which is licensed free of charge, as they might when working
+.\" professionally.
+.\"
+.\" Formatted or processed versions of this manual, if unaccompanied by
+.\" the source, must acknowledge the copyright and authors of this work.
+.\"
+.\" Additions, aeb, 2001-10-17.
+.TH CLEARENV 3 2001-10-17 "Linux Programmer's Manual"
+.SH NAME
+clearenv \- clear the environment
+.SH SYNOPSIS
+.nf
+.B #include <stdlib.h>
+.sp
+.BI "int clearenv(void);"
+.fi
+.SH DESCRIPTION
+The \fBclearenv()\fP function clears the environment of all name-value
+pairs and sets the value of the external variable
+.I environ
+to NULL.
+
+.SH "RETURN VALUE"
+The \fBclearenv()\fP function returns zero on success, and a non-zero
+value on failure.
+.\" Most versions of Unix return -1 on error, or do not even have errors.
+.\" Glibc info and the Watcom C library document "a nonzero value".
+
+.SH AVAILABILITY
+Not in libc4, libc5. In glibc since glibc 2.0.
+
+.SH "CONFORMING TO"
+Various Unix variants (DGUX, HPUX, QNX, ...).
+POSIX.9 (bindings for FORTRAN77).
+POSIX.1-1996 did not accept \fBclearenv()\fP and \fIputenv()\fP,
+but changed its mind and scheduled these functions for some
+later issue of this standard (cf. B.4.6.1). However, SUSv3
+only adds \fIputenv()\fP, and rejected \fBclearenv()\fP.
+
+.SH NOTES
+Used in security-conscious applications. If it is unavailable
+the assignment
+.RS
+.nf
+ environ = NULL;
+.fi
+.RE
+will probably do.
+.LP
+The DGUX and Tru64 manpages write: If
+.I environ
+has been modified by anything other than the
+.IR putenv() ,
+.IR getenv() ,
+or
+.IR clearenv()
+functions, then
+.BR clearenv()
+will return an error and the process environment will remain unchanged.
+.\" .LP
+.\" HPUX has a ENOMEM error return.
+.SH "SEE ALSO"
+.BR getenv (3),
+.BR putenv (3),
+.BR setenv (3),
+.BR unsetenv (3),
+.BR environ (5)