Provided by: manpages-de-dev_1.4-1_all bug

BEZEICHNUNG

       putenv - eine Umgebungsvariable ändern oder hinzufügen

ÜBERSICHT

       #include <stdlib.h>

       int putenv(char *zeichenkette);

   Mit Glibc erforderliche Makros (siehe feature_test_macros(7)):

       putenv(): _SVID_SOURCE || _XOPEN_SOURCE

BESCHREIBUNG

       Die  Funktion  putenv() fügt Umgebungsvariablen hinzu oder ändert ihren Wert. Das Argument
       zeichenkette hat die Form Name = Wert. Wenn Name in der  Umgebung  noch  nicht  existiert,
       dann  wird  zeichenkette  zu  der Umgebung hinzugefügt. Wenn Name existiert, dann wird der
       Wert von Name in der Umgebung auf Wert geändert. Die Zeichenkette,  auf  die  zeichenkette
       zeigt, wird Teil der Umgebung, daher verändert das Abändern der Zeichenkette die Umgebung.

RÜCKGABEWERT

       Die  Funktion  putenv()  gibt bei Erfolg null zurück und einen anderen Wert als null, wenn
       ein Fehler auftritt. Im  Fehlerfall  wird  errno  gesetzt,  um  die  Ursache  des  Fehlers
       anzuzeigen.

FEHLER

       ENOMEM nicht ausreichend Speicher vorhanden, um neue Umgebung zu reservieren

KONFORM ZU

       SVr4, POSIX.1-2001, 4.3BSD.

ANMERKUNGEN

       Die  Funktion  putenv()  muss nicht ablaufinvariant sein und die in Libc4, Libc5 und Glibc
       2.0 ist es auch nicht, wohl aber die in Version in Glibc 2.1.

       Beschreibung für Libc4, Libc5 und Glibc: Falls das Argument zeichenkette die Form Name hat
       und  nicht das Zeichen »=« enthält, dann wird die Variable Name aus der Umgebung entfernt.
       Falls putenv() eine neues Feld umgebung reservieren muss und das vorherige Feld auch durch
       putenv()  reserviert  wurde,  wird  es freigegeben. Auf keinen Fall wird der alte Speicher
       freigegeben, der mit der Umgebungsvarialben selbst verbunden ist.

       Die Versionen von Libc4, Libc5 und Glibc 2.1.2 sind konform  zu  SUSv2:  Der  an  putenv()
       übergebene  Zeiger  zeichenkette wird benutzt. Insbesondere wird die Zeichenkette Teil der
       Umgebung; sie später zu ändern wird die Umgebung ändern. (Daher ist es ein Fehler putenv()
       mit  einer  automatischen  Variable  als  Argument aufzurufen und dann von der aufrufenden
       Funktion zurückzukehren, während zeichenkette noch immer Teil  der  Umgebung  ist.)  Glibc
       2.0-2.1.1  unterscheidet  sich  jedoch davon: Es wird eine Kopie der Zeichenkette benutzt.
       Einerseits verursacht dies ein Speicherleck, andererseits verstößt es  gegen  SUSv2.  Dies
       wurde in Glibc 2.1.2 behoben.

       Die 4.4BSD-Version, wie Glibc 2.0, benutzt eine Kopie.

       SUSv2 entfernt die Konstante aus dem Prototyp, daher tut dies auch Glibc 2.1.3.

SIEHE AUCH

       clearenv(3), getenv(3), setenv(3), unsetenv(3), environ(7)

KOLOPHON

       This  page  is  part  of release 3.54 of the Linux man-pages project. A description of the
       project,    and    information    about    reporting    bugs,    can    be    found     at
       http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die  deutsche  Übersetzung  dieser  Handbuchseite wurde von Patrick Rother <krd@gulu.net>,
       Martin Schulze <joey@infodrom.org> und Chris Leick <c.leick@vollbio.de> erstellt.

       Diese Übersetzung ist Freie Dokumentation;  lesen  Sie  die  GNU  General  Public  License
       Version   3  oder  neuer  bezüglich  der  Copyright-Bedingungen.  Es  wird  KEINE  HAFTUNG
       übernommen.

       Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-
       Mail an <debian-l10n-german@lists.debian.org>.