clearenv - очищает окружение
clearenv(3)
очищает окружение
ОБЗОР
#include <stdlib.h>
int clearenv(void);
Требования макроса тестирования свойств для glibc
(см. feature_test_macros(7)):
clearenv(): _SVID_SOURCE || _BSD_SOURCE
ОПИСАНИЕ
Функция
clearenv() очищает окружение от всех пар имя-значение и
устанавливает значение внешней переменной
environ равным NULL.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Функция
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() — отклонена.
ЗАМЕЧАНИЯ
Используется в приложениях, заботящихся о безопасности. Если функция
отсутствует, то присвойте
environ = NULL;
самостоятельно.
В справочных страницах DG/UX и Tru64 написано: если environ изменялась не
с помощью функций putenv(3), getenv(3) или clearenv(), то
clearenv() возвратит ошибку и окружение процесса не будет изменено.