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