Start development on BSD 4
[unix-history] / .ref-5cb41021d721f4e0ac572d592613f963e495d1ff / .ref-BSD-3 / usr / src / libF77 / getenv_.c
CommitLineData
0ee0e326
BJ
1/*
2 * getenv - f77 subroutine to return environment variables
3 *
4 * called by:
5 * call getenv (ENV_NAME, char_var)
6 * where:
7 * ENV_NAME is the name of an environment variable
8 * char_var is a character variable which will receive
9 * the current value of ENV_NAME, or all blanks
10 * if ENV_NAME is not defined
11 */
12
13getenv_(fname, value, flen, vlen)
14char *value, *fname;
15long int vlen, flen;
16{
17extern char **environ;
18register char *ep, *fp, *flast;
19register char **env = environ;
20
21flast = fname + flen;
22for(fp = fname ; fp < flast ; ++fp)
23 if(*fp == ' ')
24 {
25 flast = fp;
26 break;
27 }
28
29while (ep = *env++)
30 {
31 for(fp = fname; fp<flast ; )
32 if(*fp++ != *ep++)
33 goto endloop;
34
35 if(*ep++ == '=') /* copy right hand side */
36 while( *ep && --vlen>=0 )
37 *value++ = *ep++;
38
39 goto blank;
40
41endloop: ;
42 }
43
44blank:
45 while( --vlen >= 0 )
46 *value++ = ' ';
47return(0);
48}