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