rem: exit (err == 0 ? EXIT_SUCCESS : EXIT_FAILURE);
add: exit (ok ? EXIT_SUCCESS : EXIT_FAILURE);
context: main (int argc, char **argv){  int err = 0;  int optc;  enum Shell_syntax syntax = SHELL_SYNTAX_UNKNOWN;  int print_database = 0;  program_name = argv[0];  setlocale (LC_ALL, "");  bindtextdomain (PACKAGE, LOCALEDIR);  textdomain (PACKAGE);  atexit (close_stdout);  while ((optc = getopt_long (argc, argv, "bcp", long_options, NULL)) != -1)    switch (optc)      {      case 'b':	/* Bourne shell syntax.  */	syntax = SHELL_SYNTAX_BOURNE;	break;      case 'c':	/* C shell syntax.  */	syntax = SHELL_SYNTAX_C;	break;      case 'p':	print_database = 1;	break;      case_GETOPT_HELP_CHAR;      case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS);      default:	usage (EXIT_FAILURE);      }  argc -= optind;  argv += optind;  /* It doesn't make sense to use --print with either of     --bourne or --c-shell.  */  if (print_database && syntax != SHELL_SYNTAX_UNKNOWN)    {      error (0, 0,	     _("the options to output dircolors' internal database and\n\to select a shell syntax are mutually exclusive"));      usage (EXIT_FAILURE);    }  if (print_database && argc > 0)    {      error (0, 0,	     _("no FILE arguments may be used with the option to output\n\dircolors' internal database"));      usage (EXIT_FAILURE);    }  if (!print_database && argc > 1)    {      error (0, 0, _("too many arguments"));      usage (EXIT_FAILURE);    }  if (print_database)    {      int i;      for (i = 0; i < G_N_LINES; i++)	{	  fwrite (G_line[i], 1, G_line_length[i], stdout);	  fputc ('\n', stdout);	}    }  else    {      /* If shell syntax was not explicitly specified, try to guess it. */      if (syntax == SHELL_SYNTAX_UNKNOWN)	{	  syntax = guess_shell_syntax ();	  if (syntax == SHELL_SYNTAX_UNKNOWN)	    {	      error (EXIT_FAILURE, 0,	 _("no SHELL environment variable, and no shell type option given"));	    }	}      obstack_init (&lsc_obstack);      if (argc == 0)	err = dc_parse_stream (NULL, NULL);      else	err = dc_parse_file (argv[0]);      if (!err)	{	  size_t len = obstack_object_size (&lsc_obstack);	  char *s = obstack_finish (&lsc_obstack);	  const char *prefix;	  const char *suffix;	  if (syntax == SHELL_SYNTAX_BOURNE)	    {	      prefix = "LS_COLORS='";	      suffix = "';\nexport LS_COLORS\n";	    }	  else	    {	      prefix = "setenv LS_COLORS '";	      suffix = "'\n";	    }	  fputs (prefix, stdout);	  fwrite (s, 1, len, stdout);	  fputs (suffix, stdout);	}    }  if (have_read_stdin && fclose (stdin) == EOF)    error (EXIT_FAILURE, errno, _("standard input"));  exit (err == 0 ? EXIT_SUCCESS : EXIT_FAILURE);}