Provided by: manpages-ru-dev_4.19.0-7_all
ИМЯ
clearenv - очищает окружение
LIBRARY
Standard C library (libc, -lc)
СИНТАКСИС
#include <stdlib.h> int clearenv(void); Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)): clearenv(): /* glibc >= 2.19: */ _DEFAULT_SOURCE || /* glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE
ОПИСАНИЕ
Функция clearenv() очищает окружение от всех пар имя-значение и устанавливает значение внешней переменной environ равным NULL. После этого вызова новые переменные можно добавлять в окружение с помощью putenv(3) и setenv(3).
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Функция clearenv() возвращает ноль при успешном выполнении и ненулевое значение при ошибках.
ВЕРСИИ
Доступна в glibc с версии 2.0.
АТРИБУТЫ
Описание терминов данного раздела смотрите в attributes(7). ┌────────────────────────────────────────────┬──────────────────────┬─────────────────────┐ │Интерфейс │ Атрибут │ Значение │ ├────────────────────────────────────────────┼──────────────────────┼─────────────────────┤ │clearenv() │ Безвредность в нитях │ MT-Unsafe const:env │ └────────────────────────────────────────────┴──────────────────────┴─────────────────────┘
СТАНДАРТЫ
Есть в различных версиях UNIX (DG/UX, HP-UX, QNX, …) В POSIX.9 (привязки для FORTRAN77). В POSIX.1-1996 функции clearenv() и putenv() не приняты, но указано, что они войдут в следующие версии стандарта (смотрите §B.4.6.1). Однако, в POSIX.1-2001 добавлена только putenv(), а clearenv() — отклонена.
ЗАМЕЧАНИЯ
В системах, где clearenv() отсутствует, присваивайте environ = NULL; самостоятельно. Функция clearenv() может пригодиться в приложениях, которые для безопасности полностью контролирую окружение, передаваемое программам, запускающимся посредством exec(3). Для этого приложение сначала очищает окружение, а затем добавляет выборочные переменные окружения. Заметим, что главным свойством clearenv() является присвоение значения указателю environ(7); эта функция не стирает содержимое буферов, содержащих само окружение. В справочных страницах DG/UX и Tru64 написано: если environ изменялась не с помощью функций putenv(3), getenv(3) или clearenv(), то clearenv() возвратит ошибку и окружение процесса не будет изменено.
СМ. ТАКЖЕ
getenv(3), putenv(3), setenv(3), unsetenv(3), environ(7)
ПЕРЕВОД
Русский перевод этой страницы руководства был сделан Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitriy S. Seregin <dseregin@59.ru>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, Katrin Kutepova <blackkatelv@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com> Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на ⟨man-pages-ru-talks@lists.sourceforge.net⟩.