Annotation of 42BSD/lib/libc/gen/getenv.c, revision 1.1.1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.