-.TH GETENV 3 ""
-.AT 3
-.SH NAME
-getenv, putenv, setenv, unsetenv \- manipulate environmental variables
-.SH SYNOPSIS
-.nf
-.ft B
-#include <stdlib.h>
-
-char *
-getenv(const char *name);
-
-setenv(const char *name, const char *value, int overwrite);
-
-putenv(const char *string);
-
-void
-unsetenv(const char *name);
-.ft R
-.fi
-.SH DESCRIPTION
-.I Getenv
-searches the environment list (see
-.IR environ (7))
-for a string of the form \fIname\fP\fB=\fP\fIvalue\fP and returns
-a pointer to the string
-.I value
-if such a string is present, and a NULL pointer if it is not.
-.PP
-.I Setenv
-searches the environment list as
-.I getenv
-does; if the string
-.I name
-is not found, a string of the form \fIname\fP\fB=\fP\fIvalue\fP is
-added to the environment.
-If it is found, and
-.I overwrite
-is non-zero, its value is changed to
-.IR value .
-.I Setenv
-returns 0 on success and -1 on failure, setting the external variable
-.IR errno .
-.PP
-.I Putenv
-takes an argument of the form ``\fIname\fR=\fIvalue\fR'' and is the
-equivalent of:
-.sp
-.RS
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)getenv.3 6.11 (Berkeley) 6/29/91
+.\"
+.Dd June 29, 1991
+.Dt GETENV 3
+.Os
+.Sh NAME
+.Nm getenv ,
+.Nm putenv ,
+.Nm setenv ,
+.Nm unsetenv
+.Nd environment variable functions
+.Sh SYNOPSIS
+.Fd #include <stdlib.h>
+.Ft char *
+.Fn getenv "const char *name"
+.Ft int
+.Fn setenv "const char *name" "const char *value" "int overwrite"
+.Ft int
+.Fn putenv "const char *string"
+.Ft void
+.Fn unsetenv "const char *name"
+.Sh DESCRIPTION
+These functions set, unset and fetch environment variables from the
+host
+.Em environment list .
+For compatibility with differing environment conventions,
+the given arguments
+.Ar name
+and
+.Ar value
+may be appended and prepended,
+respectively,
+with an equal sign
+.Dq Li \&= .
+.Pp
+The
+.Fn getenv
+function obtains the current value of the environment variable,
+.Ar name .
+If the variable
+.Ar name
+is not in the current environment ,
+a null pointer is returned.
+.Pp
+The
+.Fn setenv
+function inserts or resets the environment variable
+.Ar name
+in the current environment list.
+If the variable
+.Ar name
+does not exist in the list,
+it is inserted with the given
+.Ar value.
+If the variable does exist, the argument
+.Ar overwrite
+is tested; if
+.Ar overwrite is
+zero, the
+variable is not reset, otherwise it is reset
+to the given
+.Ar value .
+.Pp
+The
+.Fn putenv
+function
+performs the equivalent of:
+.Bd -literal -offset indent