|
|
1.1 root 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: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.