int cmd_ap_create_environment()

in tcl_cmds.c [2206:2229]


int cmd_ap_create_environment(ClientData cd, Tcl_Interp *ixx, int objc, Tcl_Obj *CONST objv[])
{
	char **env, *nm_env;
	int i;
	
	asprintf(&nm_env, "::%s::env", _r->filename);
	
	ap_add_cgi_vars(_r);
	ap_add_common_vars(_r);
	
	env = ap_create_environment(_r->pool, _r->subprocess_env);
	
	for (i = 0; env[i]; i++) {
		char *sptr = strchr(env[i], '=');
		
		*sptr = '\0';
		set_var(interp, nm_env, env[i], "%s", sptr + 1);
		*sptr = '=';
	}
	
	free(nm_env);
	
	return TCL_OK;
}