rem: environ = dummy_environ; environ[0] = NULL;  if (!ignore_environment) for (; *envp; envp++) putenv (*envp);
add: if (ignore_environment) { static char *dummy_environ[] = { NULL }; environ = dummy_environ; }
context: main (register int argc, register char **argv, char **envp){  char *dummy_environ[1];  int optc;  int ignore_environment = 0;  program_name = argv[0];  setlocale (LC_ALL, "");  bindtextdomain (PACKAGE, LOCALEDIR);  textdomain (PACKAGE);  atexit (close_stdout);  while ((optc = getopt_long (argc, argv, "+iu:", longopts, NULL)) != -1)    {      switch (optc)	{	case 0:	  break;	case 'i':	  ignore_environment = 1;	  break;	case 'u':	  break;	case_GETOPT_HELP_CHAR;	case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS);	default:	  usage (2);	}    }  if (optind != argc && !strcmp (argv[optind], "-"))    ignore_environment = 1;  environ = dummy_environ;  environ[0] = NULL;  if (!ignore_environment)    for (; *envp; envp++)      putenv (*envp);  optind = 0;			/* Force GNU getopt to re-initialize. */  while ((optc = getopt_long (argc, argv, "+iu:", longopts, NULL)) != -1)    if (optc == 'u')      putenv (optarg);		/* Requires GNU putenv. */  if (optind != argc && !strcmp (argv[optind], "-"))    ++optind;  while (optind < argc && strchr (argv[optind], '='))    putenv (argv[optind++]);  /* If no program is specified, print the environment and exit. */  if (optind == argc)    {      while (*environ)	puts (*environ++);      exit (EXIT_SUCCESS);    }  execvp (argv[optind], &argv[optind]);  {    int exit_status = (errno == ENOENT ? 127 : 126);    error (0, errno, "%s", argv[optind]);    exit (exit_status);  }}