} else return false;
}
bool GetOptions(int argc, char ** argv){  int option_index = 0;  static struct option long_options[] = {    {"conf",  1, 0, 'c'},    {"C",     1, 0, 'c'},    {"help",  0, 0, 'h'},    {"h",     0, 0, 'h'},    {"start", 1, 0, 's'},    {"s",     1, 0, 's'},    {"end",   1, 0, 'e'},    {"e",     1, 0, 'e'},    {"clean", 0, 0, 'x'},    {"ocd",   0, 0, 'o'},    {"D",     1, 0, 'D'},    {0, 0, 0, 0}  };  bool helpRequested = false;  bool confFile = false;  int c;  while ((c = getopt_long_only(argc, argv, "", long_options, &option_index))!= -1){    switch (c){    case 'c':      confFile = true;      globals["conffile"] = string(optarg);      break;    case 'h':      //      printHelpText();      helpRequested = true;      break;    case 's':      globals["start"] = string(optarg);      break;    case 'e':      globals["end"] = string(optarg);      break;    case 'x':      globals["clean"] = "";      break;    case 'o':      globals["ocd"] = "";      break;    case 'D':      processDefn(string(optarg));      break;    case '?':      return false;    }  } // while each parameter  if (helpRequested && confFile){    ifstream conf(globals["conffile"].c_str());    if (! conf.is_open()){      cerr << "Could not open config file " << confFile << endl;      finish(1);    }        string line;    while (getline(conf, line))      if (line.length() > 1 && line[0] == '#' && line[1] == '?') //help	cout << line.substr(2) << endl;;    exit(0);  } // if help and conf    if (helpRequested){    printHelpText();    exit(0);  } // if help  if (optind < argc){    variables["PREFIX"] = string(argv[optind]);    for (;optind < argc; optind++)      cmdLnVars.push_back(string(argv[optind]));  } else     return false;  return true;} // GetOptions