1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
#include <stdlib.h> extern char **environ; char * getenv(const char *name) { char **p = environ; char *v, *s1, *s2; while (*p != NULL){ for(s1 = (char *)name, s2 = *p++; *s1 == *s2; s1++, s2++) continue; if(*s1 == '\0' && *s2 == '=') return s2+1; } return NULL ; }