rem: { int i;
add: if (optind < argc) { int i;
context: main (int argc, char **argv){  int c;  struct stat *stats IF_LINT (= 0);  int n_valid_args = 0;  program_name = argv[0];  setlocale (LC_ALL, "");  bindtextdomain (PACKAGE, LOCALEDIR);  textdomain (PACKAGE);  atexit (close_stdout);  fs_select_list = NULL;  fs_exclude_list = NULL;  inode_format = 0;  show_all_fs = 0;  show_listed_fs = 0;  human_output_opts = human_options (getenv ("DF_BLOCK_SIZE"), false,				     &output_block_size);  print_type = 0;  posix_format = 0;  exit_status = 0;  while ((c = getopt_long (argc, argv, "aB:iF:hHklmPTt:vx:", long_options, NULL))	 != -1)    {      switch (c)	{	case 0:			/* Long option. */	  break;	case 'a':	  show_all_fs = 1;	  break;	case 'B':	  human_output_opts = human_options (optarg, true, &output_block_size);	  break;	case 'i':	  inode_format = 1;	  break;	case 'h':	  human_output_opts = human_autoscale | human_SI | human_base_1024;	  output_block_size = 1;	  break;	case 'H':	  human_output_opts = human_autoscale | human_SI;	  output_block_size = 1;	  break;	case 'k':	  human_output_opts = 0;	  output_block_size = 1024;	  break;	case 'l':	  show_local_fs = 1;	  break;	case 'm': /* obsolescent */	  human_output_opts = 0;	  output_block_size = 1024 * 1024;	  break;	case 'T':	  print_type = 1;	  break;	case 'P':	  posix_format = 1;	  break;	case SYNC_OPTION:	  require_sync = 1;	  break;	case NO_SYNC_OPTION:	  require_sync = 0;	  break;	case 'F':	  /* Accept -F as a synonym for -t for compatibility with Solaris.  */	case 't':	  add_fs_type (optarg);	  break;	case 'v':		/* For SysV compatibility. */	  /* ignore */	  break;	case 'x':	  add_excluded_fs_type (optarg);	  break;	case_GETOPT_HELP_CHAR;	case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS);	default:	  usage (EXIT_FAILURE);	}    }  /* Fail if the same file system type was both selected and excluded.  */  {    int match = 0;    struct fs_type_list *fs_incl;    for (fs_incl = fs_select_list; fs_incl; fs_incl = fs_incl->fs_next)      {	struct fs_type_list *fs_excl;	for (fs_excl = fs_exclude_list; fs_excl; fs_excl = fs_excl->fs_next)	  {	    if (STREQ (fs_incl->fs_name, fs_excl->fs_name))	      {		error (0, 0,		       _("file system type %s both selected and excluded"),		       quote (fs_incl->fs_name));		match = 1;		break;	      }	  }      }    if (match)      exit (EXIT_FAILURE);  }  {    int i;    /* stat all the given entries to make sure they get automounted,       if necessary, before reading the filesystem table.  */    stats = (struct stat *)      xmalloc ((argc - optind) * sizeof (struct stat));    for (i = optind; i < argc; ++i)      {	if (stat (argv[i], &stats[i - optind]))	  {	    error (0, errno, "%s", quote (argv[i]));	    exit_status = 1;	    argv[i] = NULL;	  }	else	  {	    ++n_valid_args;	  }      }  }  mount_list =    read_filesystem_list ((fs_select_list != NULL			   || fs_exclude_list != NULL			   || print_type			   || show_local_fs));  if (mount_list == NULL)    {      /* Couldn't read the table of mounted filesystems.	 Fail if df was invoked with no file name arguments;	 Otherwise, merely give a warning and proceed.  */      const char *warning = (optind == argc ? "" : _("Warning: "));      int status = (optind == argc ? 1 : 0);      error (status, errno,	     _("%scannot read table of mounted filesystems"), warning);    }  if (require_sync)    sync ();  if (optind == argc)    {      print_header ();      show_all_entries ();    }  else    {      int i;      /* Display explicitly requested empty filesystems. */      show_listed_fs = 1;      if (n_valid_args > 0)	print_header ();      for (i = optind; i < argc; ++i)	if (argv[i])	  show_entry (argv[i], &stats[i - optind]);    }  exit (exit_status);}