*IDENT WMCSETENVC */ */ Now the C routine to do the SETENV's */ *DECLARE PORTIO2A.dk *I GBC0C402.296 void fort_set_env_ (env_var_name,ev_len,ev_contents,cont_len,ret_code) char *env_var_name; /* Name of environment variable */ integer *ev_len; /* length of name */ char *ev_contents; /* contents of environment variable */ integer *cont_len; /* length of contents */ integer *ret_code; /* return code: 0=OK -1=problems */ { integer minus_one=-1; char *c_env_var_name; char *value; int len,i; c_env_var_name = calloc(*ev_len + 1, 1); the_unit=&minus_one; strncpy(c_env_var_name,env_var_name,*ev_len); c_env_var_name[*ev_len]='\0'; ev_contents[*cont_len]='\0'; sscanf(c_env_var_name,"%s",c_env_var_name); /* int setenv(const char *name, const char *value, int overwrite); */ setenv(c_env_var_name,ev_contents,1); if (value==NULL){ *ret_code=-1; free( c_env_var_name ); return;} else{ *ret_code=0;} free( c_env_var_name ); }