Annotation of 42BSD/lib/libc/gen/getenv.c, revision 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.