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