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
nvmatch defined in line 29; used 2 times
  • in line 7, 17

Defined macros

NULL defined in line 5; used 4 times
Last modified: 1979-01-10
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 376
Valid CSS Valid XHTML 1.0 Strict