PUTENV(3C) SysV PUTENV(3C)
NAME
putenv - change or add value to environment
SYNOPSIS
#include <stdlib.h>
int putenv (string)
char *string;
DESCRIPTION
The putenv function sets the value of an environment variable by altering
an existing variable or by creating a new one. The string argument
points to a string of the form name=value, where name is the environment
variable and value is the new value for it.
string points to a string of the form ``name=value.'' The string pointed
to by string becomes part of the environment, so altering the string will
change the environment. The space used by string is no longer used once
a new string-defining name is passed to putenv.
SEE ALSO
exec(2), getenv(3C), malloc(3C), clearenv(3C),environ(5).
DIAGNOSTICS
putenv returns nonzero if it was unable to obtain enough space via malloc
for an expanded environment, otherwise zero.
WARNINGS
putenv manipulates the environment pointed to by environ, and can be used
in conjunction with getenv. However, envp (the third argument to main)
is not changed.
This routine uses malloc(3C) to enlarge the environment.
After putenv is called, environmental variables are not in alphabetical
order.
A potential error is to call putenv with an automatic variable as the
argument, then exit the calling function while string is still part of
the environment.