clearenv(3)

NAZWA
clearenv - czyszczenie środowiska

BIBLIOTEKA
Standardowa biblioteka C (libc, -lc)

SKŁADNIA
#include <stdlib.h>

int clearenv(void);

    Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)):

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

OPIS
Funkcja clearenv() czyści środowisko z wszystkich par nazwa-wartość i nadaje zewnętrznej zmiennej environ wartość NULL. Po tym wywołaniu nowe zmienne można dodać do środowiska za pomocą putenv(3) i setenv(3).

WARTOŚĆ ZWRACANA
Funkcja clearenv() zwraca zero przy pomyślnym zakończeniu, a wartość niezerową w przypadku błędu.

ATRYBUTY
Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7).
Interfejs | Atrybut | Wartość
clearenv() | Bezpieczeństwo wątkowe | MT-niebezpieczne const:env

STANDARDY

putenv()
    POSIX.1-2008.

clearenv()
    None.

HISTORIA

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

clearenv()
    glibc 2.0.

Różne warianty Uniksa (DG/UX, HP-UX, QNX, ...). POSIX.9 (bindings for FORTRAN77). POSIX.1-1996 nie akceptował clearenv() ani putenv(3), ale zmienił zdanie i ujął te funkcje w wykazie w jednym z późniejszych wydań standardu (patrz §B.4.6.1). Jednakże, POSIX.1-2001 dodaje jedynie putenv(3) i odrzuca clearenv().

UWAGI
Na systemach na których clearenv() jest niedostępne, przypisanie

    environ = NULL;

prawdopodobnie zrobi to samo.

Funkcja clearenv() może być przydatna w aplikacjach dbających o bezpieczeństwo, które chcą dokładnie kontrolować środowisko przekazywane do programów wykonywanych za pomocą exec(3). Aplikacje mogą to uczynić zaczynając od wyczyszczenia środowiska, a następnie dodawania wybranych zmiennych środowiskowych.

Proszę zauważyć, że głównych efektem działania clearenv() jest dostosowanie wartości wskaźnika environ(7); funkcja ta nie usuwa zawartości buforów zawierających definicje środowiska.

Na stronach podręcznika dla DG/UX i Tru64 jest napisane: Jeśli environ zostało zmodyfikowane przez cokolwiek innego niż funkcje putenv(3), getenv(3) lub clearenv(), to clearenv() zwróci błąd, pozostawiając niezmienione środowisko procesu.

ZOBACZ TAKŻE
getenv(3), putenv(3), setenv(3), unsetenv(3), environ(7)

TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 (https://www.gnu.org/licenses/gpl-3.0.html) lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.