1: /*
2: * getenv(name)
3: * returns ptr to value associated with name, if any, else NULL
4: */
5: #define NULL 0
6: extern char **environ;
7: char *nvmatch();
8:
9: char *
10: getenv(name)
11: register char *name;
12: {
13: register char **p = environ;
14: register char *v;
15:
16: while (*p != NULL)
17: if ((v = nvmatch(name, *p++)) != NULL)
18: return(v);
19: return(NULL);
20: }
21:
22: /*
23: * s1 is either name, or name=value
24: * s2 is name=value
25: * if names match, return value of s2, else NULL
26: * used for environment searching: see getenv
27: */
28:
29: static char *
30: nvmatch(s1, s2)
31: register char *s1, *s2;
32: {
33:
34: while (*s1 == *s2++)
35: if (*s1++ == '=')
36: return(s2);
37: if (*s1 == '\0' && *(s2-1) == '=')
38: return(s2);
39: return(NULL);
40: }
Defined functions
getenv
defined in line
9; used 2 times
Defined macros
NULL
defined in line
5; used 4 times