Provided by: manpages-ru-dev_4.18.1-1_all bug

ИМЯ

       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⟩.