Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/builder.cpp

    r4eb4fe r99fcaf  
    14941494 */
    14951495static int ParseCommandLineOptions(int argc, char **argv, MoleculeListClass *&molecules, periodentafel *&periode,
    1496                                    config& configuration, char *&ConfigFileName, set<int> &ArgcList)
     1496                                   config& configuration, char *&ConfigFileName, list<int> &ArgcList)
    14971497{
    14981498  Vector x,y,z,n;  // coordinates for absolute point in cell volume
     
    15251525          case 'H':
    15261526          case '?':
    1527             ArgcList.insert(argptr-1);
     1527            ArgcList.push_back(argptr-1);
    15281528            return(1);
    15291529            break;
    15301530          case 'v':
    1531             ArgcList.insert(argptr-1);
     1531            ArgcList.push_back(argptr-1);
    15321532            return(1);
    15331533            break;
    15341534          case 'V':
    1535             ArgcList.insert(argptr-1);
    1536             ArgcList.insert(argptr);
     1535            ArgcList.push_back(argptr-1);
     1536            ArgcList.push_back(argptr);
    15371537            argptr++;
    15381538            break;
     
    24992499    char **Arguments = NULL;
    25002500    int ArgcSize = 0;
     2501    int ExitFlag = 0;
    25012502    bool ArgumentsCopied = false;
    25022503
    2503     // print version check whether arguments are present at all
    25042504    cout << ESPACKVersion << endl;
    2505     if (argc < 2) {
    2506       cout << "Obtain help with " << argv[0] << " -h." << endl;
    2507       return(1);
    2508     }
    2509 
    25102505
    25112506    setVerbosity(0);
     
    25152510    // Parse command line options and if present create respective UI
    25162511    {
    2517       set<int> ArgcList;
    2518       ArgcList.insert(0); // push back program!
    2519       ArgcList.insert(1); // push back config file name
     2512      list<int> ArgcList;
     2513      ArgcList.push_back(0); // push back program!
     2514      ArgcList.push_back(1); // push back config file name
    25202515      char ConfigFileName[MAXSTRINGSIZE];
    25212516      // handle arguments by ParseCommandLineOptions()
    2522       ParseCommandLineOptions(argc,argv,World::getInstance().getMolecules(),World::getInstance().getPeriode(),*World::getInstance().getConfig(), (char *&)ConfigFileName, ArgcList);
     2517      ExitFlag = ParseCommandLineOptions(argc,argv,World::getInstance().getMolecules(),World::getInstance().getPeriode(),*World::getInstance().getConfig(), (char *&)ConfigFileName, ArgcList);
    25232518      // copy all remaining arguments to a new argv
    25242519      Arguments = Malloc<char *>(ArgcList.size(), "main - **Arguments");
    25252520      cout << "The following arguments are handled by CommandLineParser: ";
    2526       for (set<int>::iterator ArgcRunner = ArgcList.begin(); ArgcRunner != ArgcList.end(); ++ArgcRunner) {
     2521      for (list<int>::iterator ArgcRunner = ArgcList.begin(); ArgcRunner != ArgcList.end(); ++ArgcRunner) {
    25272522        Arguments[ArgcSize] = Malloc<char>(strlen(argv[*ArgcRunner])+2, "main - *Arguments[]");
    25282523        strcpy(Arguments[ArgcSize], argv[*ArgcRunner]);
     
    25652560  cleanUp();
    25662561  Memory::getState();
    2567   return (0);
     2562  return (ExitFlag == 1 ? 0 : ExitFlag);
    25682563}
    25692564
Note: See TracChangeset for help on using the changeset viewer.