clearenv(3)

BEZEICHNUNG
clearenv - löscht die Liste der Umgebungsvariablen

BIBLIOTHEK
Standard-C-Bibliothek (libc, -lc)

ÜBERSICHT
#include <stdlib.h>

int clearenv(void);

    Mit Glibc erforderliche Feature-Test-Makros (siehe feature_test_macros(7)):

clearenv():
    /* Glibc >= 2.19: */ _DEFAULT_SOURCE
        || /* Glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE

BESCHREIBUNG
Die Funktion clearenv() löscht alle Name-Werte-Paare aus der Liste der Umgebungsvariablen und setzt den Wert der externen Variable environ auf NULL. Nach diesem Aufruf können mittels putenv(3) und setenv(3) neue Variablen zu der Umgebung hinzugefügt werden.

RÜCKGABEWERT
Wurde die Funktion clearenv() erfolgreich ausgeführt, gibt sie Null zurück. Ein von Null verschiedener Rückgabewert zeigt einen Fehler an.

ATTRIBUTE
Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
Schnittstelle | Attribut | Wert
clearenv() | Multithread-Fähigkeit | MT-Unsicher const:env

STANDARDS

putenv()
    POSIX.1-2008.

clearenv()
    Keine.

GESCHICHTE

putenv()
    Glibc 2.0. POSIX.1-2001.

clearenv()
    Glibc 2.0.

Verschiedenen Unix-Varianten (DG/UX, HP-UX, QNX, …). POSIX.9 (Sprachanbindung zu FORTRAN77). POSIX.1-1996 hat clearenv() und putenv(3) zunächst nicht akzeptiert, sich jedoch umentschieden und geplant, die Funktionen in einer späteren Ausgabe des Standards aufzunehmen (siehe §B4.6.1). POSIX.1-2001 hat jedoch nur putenv(3) aufgenommen und clearenv() zurückgewiesen.

ANMERKUNGEN
Auf Systemen, auf denen clearenv() nicht verfügbar ist, erfüllt die Zuweisung

    environ = NULL;

möglicherweise denselben Zweck.

Die Funktion clearenv() kann in sicherheitsbewussten Anwendungen nützlich sein, bei denen die Umgebung, die an mit exec(3) ausgeführte Programme weitergegeben wird, genau gesteuert werden soll. Die Anwendung würde dies erreichen, indem sie zuerst die Umgebung bereinigt und dann ausgewählte Umgebungsvariablen hinzufügt.

Beachten Sie, dass der Haupteffekt von clearenv() die Anpassung des Wertes des Zeigers environ(7) ist. Diese Funktion löscht nicht den Inhalt des Puffers, der die Umgebungsdefinitionen enthält.

In den Handbuchseiten von DG/UX und Tru64 steht: Falls environ von irgendetwas Anderem als den Funktionen putenv(3), getenv(3) oder clearenv() geändert wurde, wird clearenv() einen Fehler zurückgeben und die Prozessumgebung bleibt unverändert.

SIEHE AUCH
getenv(3), putenv(3), setenv(3), unsetenv(3), environ(7)

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Daniel Kobras <kobras@linux.de>, Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> und Mario Blättermann <mario.blaettermann@gmail.com> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) 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 die Mailingliste der Übersetzer: debian-l10n-german@lists.debian.org.