do dp[0] = dp[1]; while (*dp++);  } else ++ep;
while ((*ep)[cnt] == name[cnt] && name[cnt] != '\0') ++cnt;  if (name[cnt] == '\0' && (*ep)[cnt] == '=') {  char **dp = ep;  do dp[0] = dp[1]; while (*dp++);  } else ++ep; }
unsetenv (const char *name){  const size_t len = strlen (name);  char **ep;  ep = __environ;  while (*ep != NULL)    if (!strncmp (*ep, name, len) && (*ep)[len] == '=')      {	/* Found it.  Remove this pointer by moving later ones back.  */	char **dp = ep;	do	  dp[0] = dp[1];	while (*dp++);	/* Continue the loop in case NAME appears again.  */      }    else      ++ep;  return 0;}