Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

 csh(1)

sh(1)

execve(2)

putenv(3)

environ(7)

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. 

See Also

 csh(1), sh(1), execve(2), putenv(3), environ(7)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026