rem: mode = output_all_repeated;
add: output_unique = false; output_later_repeated = true;
context: main (int argc, char **argv){  int optc = 0;  bool posixly_correct = (getenv ("POSIXLY_CORRECT") != NULL);  bool obsolete_skip_fields = false;  int nfiles = 0;  char const *file[2];  file[0] = file[1] = "-";  program_name = argv[0];  setlocale (LC_ALL, "");  bindtextdomain (PACKAGE, LOCALEDIR);  textdomain (PACKAGE);  hard_LC_COLLATE = hard_locale (LC_COLLATE);  atexit (close_stdout);  skip_chars = 0;  skip_fields = 0;  check_chars = SIZE_MAX;  mode = output_all;  countmode = count_none;  delimit_groups = DM_NONE;  for (;;)    {      /* Parse an operand with leading "+" as a file after "--" was         seen; or if pedantic and a file was seen; or if not         obsolete.  */      if (optc == -1	  || (posixly_correct && nfiles != 0)	  || ((optc = getopt_long (argc, argv,				   "-0123456789Dcdf:is:uw:", longopts, NULL))	      == -1))	{	  if (optind == argc)	    break;	  if (nfiles == 2)	    {	      error (0, 0, _("extra operand `%s'"), argv[optind]);	      usage (EXIT_FAILURE);	    }	  file[nfiles++] = argv[optind++];	}      else switch (optc)	{	case 1:	  {	    unsigned long int size;	    if (optarg[0] == '+'		&& posix2_version () < 200112		&& xstrtoul (optarg, NULL, 10, &size, "") == LONGINT_OK		&& size <= SIZE_MAX)	      skip_chars = size;	    else if (nfiles == 2)	      {		error (0, 0, _("extra operand `%s'"), optarg);		usage (EXIT_FAILURE);	      }	    else	      file[nfiles++] = optarg;	  }	  break;	case '0':	case '1':	case '2':	case '3':	case '4':	case '5':	case '6':	case '7':	case '8':	case '9':	  {	    size_t s = skip_fields;	    skip_fields = s * 10 + optc - '0';	    if (SIZE_MAX / 10 < s || skip_fields < s)	      error (EXIT_FAILURE, 0, "%s",		     _("invalid number of fields to skip"));	    obsolete_skip_fields = true;	  }	  break;	case 'c':	  countmode = count_occurrences;	  break;	case 'd':	  mode = output_repeated;	  break;	case 'D':	  mode = output_all_repeated;	  if (optarg == NULL)	    delimit_groups = DM_NONE;	  else	    delimit_groups = XARGMATCH ("--all-repeated", optarg,					delimit_method_string,					delimit_method_map);	  break;	case 'f':		/* Like '-#'. */	  skip_fields = size_opt (optarg,				  N_("invalid number of fields to skip"));	  break;	case 'i':	  ignore_case = 1;	  break;	case 's':		/* Like '+#'. */	  skip_chars = size_opt (optarg,				 N_("invalid number of bytes to skip"));	  break;	case 'u':	  mode = output_unique;	  break;	case 'w':	  check_chars = size_opt (optarg,				  N_("invalid number of bytes to compare"));	  break;	case_GETOPT_HELP_CHAR;	case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS);	default:	  usage (EXIT_FAILURE);	}    }  if (obsolete_skip_fields && 200112 <= posix2_version ())    {      error (0, 0, _("`-%lu' option is obsolete; use `-f %lu'"),	     (unsigned long) skip_fields, (unsigned long) skip_fields);      usage (EXIT_FAILURE);    }  if (countmode == count_occurrences && mode == output_all_repeated)    {      error (0, 0,	   _("printing all duplicated lines and repeat counts is meaningless"));      usage (EXIT_FAILURE);    }  check_file (file[0], file[1]);  exit (EXIT_SUCCESS);}