Переменные окружения. Как избавиться?
язык СИ
ОС UNIX
Имеется сервер (самодельный).
При переносе на другую машину возникла трудность.
(FreeBSD 6.3-RC2 --> FreeBSD 7.2-RELEASE (GENERIC))
Требуется избавиться от переменных окружения
для того, что бы сформировать новые и передать их
execl-ом другим программам.
Использую функции
void unsetenv(const char *name);
int setenv(const char *имя, const char *значение, int overwrite);
Фрагмент кода:
//--- очищаем переменные окружения ---
n=0;
while(envp[0]!=NULL && n<50){
strncpy(buf,envp[0],sizeof(buf));
j=0;
while(buf[j]!=0 && buf[j]!='='){ j++;}
buf[j]=0;
unsetenv(buf);
//printf(«unsetenv(%s)\n»,buf);
n++;
}
...
//--- новые переменные окружения ---
n=setenv(«REMOTE_ADDR»,ip,1);
n=setenv(«REMOTE_PORT»,port,1);
Конец фрагмента.
На другой машине функция
unsetenv();
не срабатывает, и новые переменные окружения
добавляются к старым.
В чём тут дело?
Кто знает прошу ответить.
Похожие темы
- Форум ошибка сегментирования (2010)
- Форум Ошибка: undefined reference to 'shm_unlink' (2010)
- Форум Переменные окружения (2013)
- Форум Переменные окружения. (2020)
- Форум Переменные окружения! (2014)
- Форум Переменные окружения (2009)
- Форум переменная окружения (2004)
- Форум переменные окружения (2005)
- Форум переменная окружения (2002)
- Форум Eclipse переменная окружения (2012)