getenv(3)
Name
getenv, setenv, unsetenv − manipulate environment variables
Syntax
char *getenv(name)
char *name;
setenv(name, value, overwrite)
char *name, value;
int overwrite;
void unsetenv(name)
char *name;
Description
The getenv subroutine searches the environment list for a string of the form name = value and returns a pointer to the string value if such a string is present, otherwise getenv returns the value 0 (NULL). For further information, see environ(.).
The setenv subroutine searches the environment list in the same manner as getenv. If the string name is not found, a string of the form name=value is added to the environment. If it is found, and overwrite is non-zero, its value is changed to value. The setenv subroutine returns 0 on success and −1 on failure, where failure is caused by an inability to allocate space for the environment.
The unsetenv subroutine removes all occurrences of the string name from the environment. There is no library provision for completely removing the current environment. It is suggested that the following code be used to do so.
static char *envinit[1];
extern char **environ;
environ = envinit;
All of these routines permit, but do not require, a trailing equals sign (=) on name or a leading equals sign on value.