discard_locals = locals_start_L;
discard_locals = LOCALS_START_L;
strip_main (argc, argv)     int argc;     char *argv[];{  char *input_target = NULL, *output_target = NULL;  boolean show_version = false;  int c, i;  struct section_list *p;  char *output_file = NULL;  while ((c = getopt_long (argc, argv, "I:O:F:K:N:R:o:sSgxXVv",			   strip_options, (int *) 0)) != EOF)    {      switch (c)	{	case 'I':	  input_target = optarg;	  break;	case 'O':	  output_target = optarg;	  break;	case 'F':	  input_target = output_target = optarg;	  break;	case 'R':	  p = find_section_list (optarg, true);	  p->remove = true;	  sections_removed = true;	  break;	case 's':	  strip_symbols = strip_all;	  break;	case 'S':	case 'g':	  strip_symbols = strip_debug;	  break;	case OPTION_STRIP_UNNEEDED:	  strip_symbols = strip_unneeded;	  break;	case 'K':	  if (! keep_symbols && strip_specific_list != NULL)	    {	      fprintf (stderr, "%s: Can not specify both -K and -N\n",		       program_name);	      strip_usage (stderr, 1);	    }	  keep_symbols = true;	  add_strip_symbol (optarg);	  break;	case 'N':	  if (keep_symbols)	    {	      fprintf (stderr, "%s: Can not specify both -K and -N\n",		       program_name);	      strip_usage (stderr, 1);	    }	  add_strip_symbol (optarg);	  break;	case 'o':	  output_file = optarg;	  break;	case 'x':	  discard_locals = locals_all;	  break;	case 'X':	  discard_locals = locals_start_L;	  break;	case 'v':	  verbose = true;	  break;	case 'V':	  show_version = true;	  break;	case 0:	  break;		/* we've been given a long option */	case 'h':	  strip_usage (stdout, 0);	default:	  strip_usage (stderr, 1);	}    }  if (show_version)    print_version ("strip");  /* Default is to strip all symbols.  */  if (strip_symbols == strip_undef      && discard_locals == locals_undef      && strip_specific_list == NULL)    strip_symbols = strip_all;  if (output_target == (char *) NULL)    output_target = input_target;  i = optind;  if (i == argc      || (output_file != NULL && (i + 1) < argc))    strip_usage (stderr, 1);  for (; i < argc; i++)    {      int hold_status = status;      char *tmpname;      if (output_file != NULL)	tmpname = output_file;      else	tmpname = make_tempname (argv[i]);      status = 0;      copy_file (argv[i], tmpname, input_target, output_target);      if (status == 0)	{	  if (output_file == NULL)	    smart_rename (tmpname, argv[i]);	  status = hold_status;	}      else	unlink (tmpname);      if (output_file == NULL)	free (tmpname);    }  return 0;}