Scroll to navigation

CLEARENV(3) Podręcznik programisty Linuksa CLEARENV(3)

NAZWA

clearenv - czyszczenie środowiska

SKŁADNIA

#include <stdlib.h>

int clearenv(void);


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

clearenv(): /* Glibc od 2.19: */ _DEFAULT_SOURCE || /* Glibc w wersji <= 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.

WERSJE

Dostępne od glibc 2.0.

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-Unsafe const:env

ZGODNE Z

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 (por. 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)

O STRONIE

Angielska wersja tej strony pochodzi z wydania 4.07 projektu Linux man-pages. Opis projektu, informacje dotyczące zgłaszania błędów oraz najnowszą wersję oryginału można znaleźć pod adresem https://www.kernel.org/doc/man-pages/.

TŁUMACZENIE

Autorami polskiego tłumaczenia niniejszej strony podręcznika man są: Andrzej Krzysztofowicz (PTM) <ankry@mif.pg.gda.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>.

Polskie tłumaczenie jest częścią projektu manpages-pl; uwagi, pomoc, zgłaszanie błędów na stronie http://sourceforge.net/projects/manpages-pl/. Jest zgodne z wersją 4.07 oryginału.

2016-03-15 Linux