putenv(3C)
NAME
putenv - change or add value to environment
SYNOPSIS
#include <stdlib.h>
int putenv(char *string);
DESCRIPTION
The putenv() function makes the value of the environment
variable name equal to value by altering an existing vari-
able or creating a new one. In either case, the string
pointed to by string becomes part of the environment, so
altering the string will change the environment.
The string argument points to a string of the form
name=value. The space used by string is no longer used once
a new string-defining name is passed to putenv().
The putenv() function uses malloc(3C) to enlarge the
environment.
After putenv() is called, environment variables are not in
alphabetical order.
RETURN VALUES
The putenv() functions returns a non-zero value if it was
unable to obtain enough space using malloc(3C) for an
expanded environment. Otherwise, 0 is returned.
ERRORS
The putenv() function may fail if:
ENOMEM
Insufficient memory was available.
USAGE
The putenv() function can be safely called from mul-
tithreaded programs. Caution must be exercised when using
this function and getenv(3C) in multithreaded programs.
These functions examine and modify the environment list,
which is shared by all threads in a program. The system
prevents the list from being accessed simultaneously by two
different threads. It does not, however, prevent two
threads from successively accessing the environment list
using putenv() or getenv().
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| MT-Level | Safe |
|_____________________________|_____________________________|
SEE ALSO
exec(2), getenv(3C), malloc(3C), attributes(5), environ(5)
WARNINGS
The string argument should not be an automatic variable. It
should be declared static if it is declared within a func-
tion because it cannot be automatically declared. A poten-
tial error is to call putenv() with a pointer to an
automatic variable as the argument and to then exit the cal-
ling function while string is still part of the environment.
Man(1) output converted with
man2html