Listing 4 (getenv.c)

/* getenv function -- in-memory version */
#include <stdlib.h>
#include <string.h>
#include "yfuns.h"

char *(getenv)(const char *name)
   {      /* search environment list for named entry */
   const char *s;
   size_t n = strlen(name);
   
   for (s = _Envp; *s; s += strlen(s) + 1)
      {                      /* look for name match */
      if (!strncmp(s, name, n) && s[n] == '=')
         return ((char *)&s[n + 1]);
      }
   return (NULL);
   }
/* End of File */