clearenv(3) löscht die Liste der Umgebungsvariablen

ÜBERSICHT

#include <stdlib.h>


int clearenv(void);

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

clearenv():
    /* Glibc seit 2.19: */ _DEFAULT_SOURCE
        || /* Glibc-Versionen <= 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.

VERSIONEN

Verfügbar seit Glibc 2.0.

ATTRIBUTE

Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
SchnittstelleAttributWert
clearenv() Multithread-FähigkeitMT-Unsafe const:env

KONFORM ZU

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 (s. B.4.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.

The clearenv() function may be useful in security-conscious applications that want to precisely control the environment that is passed to programs executed using exec(3). The application would do this by first clearing the environment and then adding select environment variables.

Note that the main effect of clearenv() is to adjust the value of the pointer environ(7); this function does not erase the contents of the buffers containing the environment definitions.

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.

KOLOPHON

Diese Seite ist Teil der Veröffentlichung 4.06 des Projekts Linux-man-pages. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden sich unter https://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Daniel Kobras <[email protected]>, Martin Eberhard Schauer <[email protected]> und Mario Blättermann <[email protected]> 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 <[email protected]>.