PUTENV(3C) PUTENV(3C)
НАЗВАНИЕ
putenv - изменение или расширение окружения
СИНТАКСИС
int putenv (string)
char *string;
ОПИСАНИЕ
Аргумент string указывает на цепочку символов вида
имя=значение. Функция putenv используется для присвое-
ния переменной окружения имя заданного значения, при
этом изменяется существующая переменная или создается
новая. В любом случае цепочка, указанная аргументом
string, становится частью окружения; таким образом, из-
менение этой цепочки приводит к изменению окружения.
Область памяти, на которую указывает string, становится
ненужной после нового обращения к putenv с тем же име-
нем.
СМ. ТАКЖЕ
exec(2), getenv(3C), malloc(3C), environ(5).
ДИАГНОСТИКА
Функция putenv возвращает ненулевое значение, если по-
пытка получить дополнительное пространство памяти [пос-
редством malloc(3C)] для расширенного окружения окончи-
лась неудачей. Иначе возвращается ноль.
ПРЕДОСТЕРЕЖЕНИЯ
Функция putenv работает с окружением, указанным с по-
мощью environ, и может быть использована вместе с функ-
цией getenv. Однако envp (третий аргумент main) не из-
меняется.
При расширении окружения используется функция
malloc(3C).
После вызова функции putenv алфавитная упорядоченность
переменных окружения вообще говоря, нарушается.
Потенциальной ошибкой является вызов putenv с автомати-
ческой переменной в качестве аргумента, и последующий
выход из вызывающей функции в то время, когда string
еще является частью окружения.
|