35 lines · 811 B · C
RawDownload
/*  * This file is part of the UCB release of Plan 9. It is subject to the license * terms in the LICENSE file found in the top-level directory of this * distribution and at http://akaros.cs.berkeley.edu/files/Plan9License. No * part of the UCB release of Plan 9, including this file, may be copied, * modified, propagated, or distributed except according to the terms contained * in the LICENSE file. */ #include <u.h>#include <libc.h> intputenv(char *name, char *val){	int f;	char ename[100];	long s; 	if(strchr(name, '/') != nil)		return -1;	snprint(ename, sizeof ename, "/env/%s", name);	if(strcmp(ename+5, name) != 0)		return -1;	f = create(ename, OWRITE, 0664);	if(f < 0)		return -1;	s = strlen(val);	if(write(f, val, s) != s){		close(f);		return -1;	}	close(f);	return 0;}