rem: case 0:
add: case PRESUME_INPUT_PIPE_OPTION: presume_input_pipe = true;
context: main (int argc, char **argv){  enum header_mode header_mode = multiple_files;  int exit_status = 0;  int c;  /* Number of items to print. */  uintmax_t n_units = DEFAULT_NUMBER;  /* If nonzero, interpret the numeric argument as the number of lines.     Otherwise, interpret it as the number of bytes.  */  int count_lines = 1;  program_name = argv[0];  setlocale (LC_ALL, "");  bindtextdomain (PACKAGE, LOCALEDIR);  textdomain (PACKAGE);  atexit (close_stdout);  have_read_stdin = 0;  print_headers = 0;  if (1 < argc && argv[1][0] == '-' && ISDIGIT (argv[1][1]))    {      char *a = argv[1];      char *n_string = ++a;      char *end_n_string;      char multiplier_char = 0;      /* Old option syntax; a dash, one or more digits, and one or	 more option letters.  Move past the number. */      do ++a;      while (ISDIGIT (*a));      /* Pointer to the byte after the last digit.  */      end_n_string = a;      /* Parse any appended option letters. */      for (; *a; a++)	{	  switch (*a)	    {	    case 'c':	      count_lines = 0;	      multiplier_char = 0;	      break;	    case 'b':	    case 'k':	    case 'm':	      count_lines = 0;	      multiplier_char = *a;	      break;	    case 'l':	      count_lines = 1;	      break;	    case 'q':	      header_mode = never;	      break;	    case 'v':	      header_mode = always;	      break;	    default:	      error (0, 0, _("unrecognized option `-%c'"), *a);	      usage (EXIT_FAILURE);	    }	}      if (200112 <= posix2_version ())	{	  error (0, 0, _("`-%s' option is obsolete; use `-%c %.*s%.*s%s'"),		 n_string, count_lines ? 'n' : 'c',		 (int) (end_n_string - n_string), n_string,		 multiplier_char != 0, &multiplier_char,		 header_mode_option[header_mode]);	  usage (EXIT_FAILURE);	}      /* Append the multiplier character (if any) onto the end of	 the digit string.  Then add NUL byte if necessary.  */      *end_n_string = multiplier_char;      if (multiplier_char)	*(++end_n_string) = 0;      n_units = string_to_integer (count_lines, n_string);      /* Make the options we just parsed invisible to getopt. */      argv[1] = argv[0];      argv++;      argc--;      /* FIXME: allow POSIX options if there were obsolescent ones?  */    }  while ((c = getopt_long (argc, argv, "c:n:qv", long_options, NULL)) != -1)    {      switch (c)	{	case 0:	  break;	case 'c':	  count_lines = 0;	  n_units = string_to_integer (count_lines, optarg);	  break;	case 'n':	  count_lines = 1;	  n_units = string_to_integer (count_lines, optarg);	  break;	case 'q':	  header_mode = never;	  break;	case 'v':	  header_mode = always;	  break;	case_GETOPT_HELP_CHAR;	case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS);	default:	  usage (EXIT_FAILURE);	}    }  if (header_mode == always      || (header_mode == multiple_files && optind < argc - 1))    print_headers = 1;  if (optind == argc)    exit_status |= head_file ("-", n_units, count_lines);  for (; optind < argc; ++optind)    exit_status |= head_file (argv[optind], n_units, count_lines);  if (have_read_stdin && close (STDIN_FILENO) < 0)    error (EXIT_FAILURE, errno, "-");  exit (exit_status == 0 ? EXIT_SUCCESS : EXIT_FAILURE);}