rem: width = (int) tmp_long;
add: width = tmp_ulong;
context: main (int argc, char **argv){  int width = 80;  int i;  int optc;  int errs = 0;  program_name = argv[0];  setlocale (LC_ALL, "");  bindtextdomain (PACKAGE, LOCALEDIR);  textdomain (PACKAGE);  atexit (close_stdout);  break_spaces = count_bytes = have_read_stdin = 0;  /* Turn any numeric options into -w options.  */  for (i = 1; i < argc; i++)    {      char const *a = argv[i];      if (a[0] == '-')	{	  if (a[1] == '-' && ! a[2])	    break;	  if (ISDIGIT (a[1]))	    {	      char *s = xmalloc (strlen (a) + 2);	      s[0] = '-';	      s[1] = 'w';	      strcpy (s + 2, a + 1);	      argv[i] = s;	      if (200112 <= posix2_version ())		{		  error (0, 0, _("`%s' option is obsolete; use `%s'"), a, s);		  usage (EXIT_FAILURE);		}	    }	}    }  while ((optc = getopt_long (argc, argv, "bsw:", longopts, NULL)) != -1)    {      switch (optc)	{	case 0:	  break;	case 'b':		/* Count bytes rather than columns. */	  count_bytes = 1;	  break;	case 's':		/* Break at word boundaries. */	  break_spaces = 1;	  break;	case 'w':		/* Line width. */	  {	    long int tmp_long;	    if (xstrtol (optarg, NULL, 10, &tmp_long, "") != LONGINT_OK		|| tmp_long <= 0 || tmp_long > INT_MAX)	      error (EXIT_FAILURE, 0,		     _("invalid number of columns: `%s'"), optarg);	    width = (int) tmp_long;	  }	  break;	case_GETOPT_HELP_CHAR;	case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS);	default:	  usage (EXIT_FAILURE);	}    }  if (argc == optind)    errs |= fold_file ("-", width);  else    for (i = optind; i < argc; i++)      errs |= fold_file (argv[i], width);  if (have_read_stdin && fclose (stdin) == EOF)    error (EXIT_FAILURE, errno, "-");  exit (errs == 0 ? EXIT_SUCCESS : EXIT_FAILURE);}