while ((opt = getopt_long (argc, argv, "hH:o:V", long_options, NULL)) != -1) switch (opt) { case '\0':	 break; case 'h': do_help = 1; break; case 'H': header_name = optarg; break; case 'o': output_name = optarg; break; case 'V': do_version = 1; break; default: usage (EXIT_FAILURE); }   if (do_version) { printf ("gencat (GNU %s) %s\n", PACKAGE, VERSION); printf (_("\ Copyright (C) %s Free Software Foundation, Inc.\n\ This is free software; see the source for copying conditions.  There is NO\n\ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\ "), "1996, 1997"); printf (_("Written by %s.\n"), "Ulrich Drepper");  exit (EXIT_SUCCESS); }   if (do_help) usage (EXIT_SUCCESS);
argp_parse (&argp, argc, argv, 0, 0, NULL);
main (int argc, char *argv[]){  struct catalog *result;  const char *output_name;  const char *header_name;  int do_help;  int do_version;  int opt;  /* Set program name for messages.  */  error_print_progname = error_print;  /* Set locale via LC_ALL.  */  setlocale (LC_ALL, "");  /* Set the text message domain.  */  textdomain (PACKAGE);  /* Initialize local variables.  */  do_help = 0;  do_version = 0;  output_name = NULL;  header_name = NULL;  result = NULL;  while ((opt = getopt_long (argc, argv, "hH:o:V", long_options, NULL)) != -1)    switch (opt)      {      case '\0':	/* Long option.  */	break;      case 'h':	do_help = 1;	break;      case 'H':	header_name = optarg;	break;      case 'o':	output_name = optarg;	break;      case 'V':	do_version = 1;	break;      default:	usage (EXIT_FAILURE);      }  /* Version information is requested.  */  if (do_version)    {      printf ("gencat (GNU %s) %s\n", PACKAGE, VERSION);      printf (_("\Copyright (C) %s Free Software Foundation, Inc.\n\This is free software; see the source for copying conditions.  There is NO\n\warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\"), "1996, 1997");      printf (_("Written by %s.\n"), "Ulrich Drepper");      exit (EXIT_SUCCESS);    }  /* Help is requested.  */  if (do_help)    usage (EXIT_SUCCESS);  /* Determine output file.  */  if (output_name == NULL)    output_name = optind < argc ? argv[optind++] : "-";  /* Process all input files.  */  setlocale (LC_CTYPE, "C");  if (optind < argc)    do      result = read_input_file (result, argv[optind]);    while (++optind < argc);  else    result = read_input_file (NULL, "-");  /* Write out the result.  */  if (result != NULL)    write_out (result, output_name, header_name);  exit (EXIT_SUCCESS);}