Commit | Line | Data |
---|---|---|
d1b03754 DW |
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 | } |