1 #include "f2c.h"
2
3 /*
4 * getenv - f77 subroutine to return environment variables
5 *
6 * called by:
7 * call getenv (ENV_NAME, char_var)
8 * where:
9 * ENV_NAME is the name of an environment variable
10 * char_var is a character variable which will receive
11 * the current value of ENV_NAME, or all blanks
12 * if ENV_NAME is not defined
13 */
14
15 #ifdef KR_headers
getenv_(fname,value,flen,vlen)16 VOID getenv_(fname, value, flen, vlen) char *value, *fname; ftnlen vlen, flen;
17 #else
18 void getenv_(char *fname, char *value, ftnlen flen, ftnlen vlen)
19 #endif
20 {
21 extern char **environ;
22 register char *ep, *fp, *flast;
23 register char **env = environ;
24
25 flast = fname + flen;
26 for(fp = fname ; fp < flast ; ++fp)
27 if(*fp == ' ')
28 {
29 flast = fp;
30 break;
31 }
32
33 while (ep = *env++)
34 {
35 for(fp = fname; fp<flast ; )
36 if(*fp++ != *ep++)
37 goto endloop;
38
39 if(*ep++ == '=') { /* copy right hand side */
40 while( *ep && --vlen>=0 )
41 *value++ = *ep++;
42
43 goto blank;
44 }
45 endloop: ;
46 }
47
48 blank:
49 while( --vlen >= 0 )
50 *value++ = ' ';
51 }
52