putenv(3C) putenv(3C)
NAME
putenv - Umgebungsvariablen ändern/hinzufügen
SYNTAX
#include <stdlib.h>
int putenv(const char *string);
BESCHREIBUNG
string weist auf eine Zeichenkette der Form Name=Wert. putenv() setzt
durch Ändern einer vorhandenen Variablen oder Erstellung einer neuen
den Wert der Umgebungsvariablen Name gleich dem Wert Wert. In beiden
Fällen wird die Zeichenkette, auf die string zeigt, Teil der Umgebung,
so daß das Ändern der Zeichenkette zu einer Änderung der Umgebung
führt. putenv() legt keine Kopie von string an. Die Zeichenkette
string sollte als static deklariert werden, wenn sie innerhalb einer
Funktion deklariert wird. Der von string belegte Speicherplatz wird
nicht mehr benötigt, nachdem eine neue Zeichenkette, die Name defi-
niert, an putenv() übergeben wurde.
ERGEBNIS
putenv() gibt einen Wert ungleich Null zurück, wenn es über malloc()
nicht ausreichend Speicherplatz für eine erweiterte Umgebung bereit-
stellen konnte. Andernfalls wird Null zurückgegeben.
HINWEISE
putenv() bearbeitet die Umgebung, auf die environ zeigt, und kann in
Verbindung mit getenv() verwendet werden. Jedoch wird envp (das dritte
Argument für main) nicht geändert.
Diese Funktion verwendet malloc(3C) zur Erweiterung der Umgebung.
Nach Aufruf von putenv() sind die Umgebungsvariablen nicht in alphabe-
tischer Reihenfolge. Eine mögliche Fehlerquelle ist der Aufruf von
putenv() mit einem Zeiger auf eine auto-Variable als Argument und eine
anschließende Rückkehr von der aufrufenden Funktion, während string
noch Teil der Umgebung ist.
SIEHE AUCH
exec(2), getenv(3C), malloc(3C), environ(5).
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98