warn(cp);
warn("%s", cp);
source(v)	void *v;{	char **arglist = v;	FILE *fi;	char *cp;	if ((cp = expand(*arglist)) == NULL)		return(1);	if ((fi = Fopen(cp, "r")) == NULL) {		warn(cp);		return(1);	}	if (ssp >= NOFILE - 1) {		puts("Too much \"sourcing\" going on.");		(void)Fclose(fi);		return(1);	}	sstack[ssp].s_file = input;	sstack[ssp].s_cond = cond;	sstack[ssp].s_loading = loading;	ssp++;	loading = 0;	cond = CANY;	input = fi;	sourcing++;	return(0);}