1 /* 2 char id_getenv[] = "@(#)getenv_.c 1.1"; 3 * 4 * return environment variables 5 * 6 * calling sequence: 7 * character*20 evar 8 * call getenv (ENV_NAME, evar) 9 * where: 10 * ENV_NAME is the name of an environment variable 11 * evar is a character variable which will receive 12 * the current value of ENV_NAME, 13 * or all blanks if ENV_NAME is not defined 14 */ 15 16 extern char **environ; 17 18 getenv_(fname, value, flen, vlen) 19 char *value, *fname; 20 long int vlen, flen; 21 { 22 register char *ep, *fp; 23 register char **env = environ; 24 int i; 25 26 while (ep = *env++) { 27 for (fp=fname, i=0; i <= flen; i++) { 28 if (i == flen || *fp == ' ') { 29 if (*ep++ == '=') { 30 b_char(ep, value, vlen); 31 return(0); 32 } 33 else break; 34 } 35 else if (*ep++ != *fp++) break; 36 } 37 } 38 b_char(" ", value, vlen); 39 return(0); 40 } 41