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);
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()
- Brak.
HISTORIA
- putenv()
- glibc 2.0. POSIX.1-2001.
- clearenv()
- glibc 2.0.
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
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.
2 maja 2024 r. | Linux man-pages 6.8 |