ref: 2aee89298cbbf5c1b4d50e70733b52ae75c706fd
dir: /libnpe/setenv.c/
#include <u.h>
#include <libc.h>
int
setenv(char *name, char *value, int overwrite)
{
char *s;
if(overwrite == 0 && (s = getenv(name)) != nil){
free(s);
return 0;
}
return putenv(name, value);
}
int
unsetenv(char *name)
{
char ename[100];
if(name[0]=='\0' || strcmp(name, ".")==0 || strcmp(name, "..")==0 || strchr(name, '/')!=nil
|| strlen(name) >= sizeof(ename)-5){
werrstr("bad env name: %s", name);
return -1;
}
snprint(ename, sizeof(ename), "/env/%s", name);
return remove(ename);
}