Scroll to navigation

clearenv(3) Library Functions Manual clearenv(3)

NAZWA

clearenv - czyści środowisko

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.

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

STANDARDY

Różne warianty Uniksa (DG/UX, HP-UX, QNX, ...). POSIX.9 (przypięcia dla języka 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łównym 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 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.

5 lutego 2023 r. Linux man-pages 6.03