diff options
author | cinap_lenrek <cinap_lenrek@gmx.de> | 2012-12-03 06:44:30 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@gmx.de> | 2012-12-03 06:44:30 +0100 |
commit | 84c930a07894e30804469c32d84377b15868bfce (patch) | |
tree | 641b6adc9c4593d55810d1690f45e554d46f4d08 /sys/src/ape/lib/bsd | |
parent | eb9de925c63990f6b19494698e4db1eb9682e46d (diff) |
ape: fix putenv()
writing /env in putenv() doesnt work. exec will create
new enviroment anyway. we have to modify environ array!
Diffstat (limited to 'sys/src/ape/lib/bsd')
-rw-r--r-- | sys/src/ape/lib/bsd/mkfile | 1 | ||||
-rw-r--r-- | sys/src/ape/lib/bsd/putenv.c | 32 |
2 files changed, 0 insertions, 33 deletions
diff --git a/sys/src/ape/lib/bsd/mkfile b/sys/src/ape/lib/bsd/mkfile index 44b4b05fb..3034e13a4 100644 --- a/sys/src/ape/lib/bsd/mkfile +++ b/sys/src/ape/lib/bsd/mkfile @@ -29,7 +29,6 @@ OFILES=\ ntohl.$O\ nptohl.$O\ popen.$O\ - putenv.$O\ rcmd.$O\ readv.$O\ rresvport.$O\ diff --git a/sys/src/ape/lib/bsd/putenv.c b/sys/src/ape/lib/bsd/putenv.c deleted file mode 100644 index 63695ba76..000000000 --- a/sys/src/ape/lib/bsd/putenv.c +++ /dev/null @@ -1,32 +0,0 @@ -#include <sys/types.h> -#include <unistd.h> -#include <fcntl.h> -#include <string.h> - -int -putenv(char *s) -{ - int f, n; - char *value; - char buf[300]; - - value = strchr(s, '='); - if (value) { - n = value-s; - if(n<=0 || n > sizeof(buf)-6) - return -1; - strcpy(buf, "/env/"); - strncpy(buf+5, s, n); - buf[n+5] = 0; - f = creat(buf, 0666); - if(f < 0) - return 1; - value++; - n = strlen(value); - if(write(f, value, n) != n) - return -1; - close(f); - return 0; - } else - return -1; -} |