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 еще является частью окружения.