Example #1
0
/// Uses getopt to read in arguments.
void get_args(int *argc, char ***argv) {
  int c;
  char *err;
  ifstream vdata;

  while ((c = getopt(*argc, *argv, "mwxrfhos:e:l:")) != -1) {
    switch (c) {
    case 'm':
      stage |= metadata;
      break;
    case 'w':
      stage |= wt_coeff;
      break;
    case 'x':
      stage |= reconstruct;
      break;
    case 'l':
      iwt_level = strtol(optarg, &err, 10);
      if (*err) usage();
      break;
    case 'r':
      reduce = true;
      break;
    case 's':
      fields = string(optarg);
      break;
    case 'o':
      one_line=true;
      break;
    case 'f':
      translate = true;
      break;
    case 'e':
      {
        translate = true;
        string exe(optarg);
        if (!exists(exe)) {
          cerr << exe << ": No such file or directory." << endl;
          exit(1);
        }
        translator.set_executable(exe);
      }
      break;
    case 'h':
    default:
      usage();
      break;
    }
  }

  // adjust params
  *argc -= optind;
  *argv += optind;
}