Man page - clearenv(3)

Packages contains this manual

Available languages:

en fr pl ja ru ro de

Manual

clearenv

НАИМЕНОВАНИЕ
БИБЛИОТЕКА
ОБЗОР
ОПИСАНИЕ
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
АТРИБУТЫ
СТАНДАРТЫ
ИСТОРИЯ
ПРИМЕЧАНИЯ
СМОТРИТЕ ТАКЖЕ
ПЕРЕВОД

НАИМЕНОВАНИЕ

clearenv - очищает окружение

БИБЛИОТЕКА

Стандартная библиотека языка C ( 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 () возвращает ноль при успешном выполнении и ненулевое значение при ошибках.

АТРИБУТЫ

Описание терминов данного раздела смотрите в attributes (7).

Image grohtml-608278-1.png

СТАНДАРТЫ

putenv ()

POSIX.1-2008.

clearenv ()

Отсутствуют.

ИСТОРИЯ

putenv ()

glibc 2.0. POSIX.1-2001.

clearenv ()

glibc 2.0.

Есть в различных версиях 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> и Kirill Rekhov <krekhov.dev@gmail.com>

Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков .