putenv - change or add value to environment


     #include <stdlib.h>

     int putenv(char *string);


     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

     After putenv() is called, environment variables are  not  in
     alphabetical order.


     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.


     The putenv() function may fail if:

           Insufficient memory was available.


     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().


     See attributes(5) for descriptions of the  following  attri-

    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    | MT-Level                    | Safe                        |


     exec(2), getenv(3C), malloc(3C), attributes(5), environ(5)


     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