4.3BSD-Reno/share/man/cat3/putenv.0
GETENV(3) 1990 GETENV(3)
NNAAMMEE
getenv, putenv, setenv, unsetenv - manipulate environmental
variables
SSYYNNOOPPSSIISS
##iinncclluuddee <<ssttddlliibb..hh>>
cchhaarr **
ggeetteennvv((ccoonnsstt cchhaarr **nnaammee));;
sseetteennvv((ccoonnsstt cchhaarr **nnaammee,, ccoonnsstt cchhaarr **vvaalluuee,, iinntt oovveerrwwrriittee));;
ppuutteennvv((ccoonnsstt cchhaarr **ssttrriinngg));;
vvooiidd
uunnsseetteennvv((ccoonnsstt cchhaarr **nnaammee));;
DDEESSCCRRIIPPTTIIOONN
_G_e_t_e_n_v searches the environment list (see _e_n_v_i_r_o_n(7)) for a
string of the form _n_a_m_e==_v_a_l_u_e and returns a pointer to the
string _v_a_l_u_e if such a string is present, and a NULL pointer
if it is not.
_S_e_t_e_n_v searches the environment list as _g_e_t_e_n_v does; if the
string _n_a_m_e is not found, a string of the form _n_a_m_e==_v_a_l_u_e is
added to the environment. If it is found, and _o_v_e_r_w_r_i_t_e is
non-zero, its value is changed to _v_a_l_u_e. _S_e_t_e_n_v returns 0
on success and -1 on failure, setting the external variable
_e_r_r_n_o.
_P_u_t_e_n_v takes an argument of the form ``_n_a_m_e=_v_a_l_u_e'' and is
the equivalent of:
setenv(name, value, 1);
_U_n_s_e_t_e_n_v removes all occurrences of the string _n_a_m_e 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 _n_a_m_e or a leading equals sign on
_v_a_l_u_e.
EERRRROORRSS
[ENOMEM]
_S_e_t_e_n_v or _p_u_t_e_n_v failed because they were unable to
allocate memory for the environment.
Printed 7/27/90 May 1
GETENV(3) 1990 GETENV(3)
SSEEEE AALLSSOO
csh(1), sh(1), execve(2), environ(7)
SSTTAANNDDAARRDDSS
GGeetteennvv conforms to ANSI X3.159-1989 (``ANSI C'').
Printed 7/27/90 May 2