xref: /plan9/sys/src/libc/9sys/putenv.c (revision 80ee5cbfe36716af62da8896207e9763b8e3d760)
1 #include <u.h>
2 #include <libc.h>
3 
4 int
putenv(char * name,char * val)5 putenv(char *name, char *val)
6 {
7 	int f;
8 	char ename[100];
9 	long s;
10 
11 	if(strchr(name, '/') != nil)
12 		return -1;
13 	snprint(ename, sizeof ename, "/env/%s", name);
14 	if(strcmp(ename+5, name) != 0)
15 		return -1;
16 	f = create(ename, OWRITE, 0664);
17 	if(f < 0)
18 		return -1;
19 	s = strlen(val);
20 	if(write(f, val, s) != s){
21 		close(f);
22 		return -1;
23 	}
24 	close(f);
25 	return 0;
26 }
27