Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/builder.cpp

    r99fcaf r4eb4fe  
    14941494 */
    14951495static int ParseCommandLineOptions(int argc, char **argv, MoleculeListClass *&molecules, periodentafel *&periode,
    1496                                    config& configuration, char *&ConfigFileName, list<int> &ArgcList)
     1496                                   config& configuration, char *&ConfigFileName, set<int> &ArgcList)
    14971497{
    14981498  Vector x,y,z,n;  // coordinates for absolute point in cell volume
     
    15251525          case 'H':
    15261526          case '?':
    1527             ArgcList.push_back(argptr-1);
     1527            ArgcList.insert(argptr-1);
    15281528            return(1);
    15291529            break;
    15301530          case 'v':
    1531             ArgcList.push_back(argptr-1);
     1531            ArgcList.insert(argptr-1);
    15321532            return(1);
    15331533            break;
    15341534          case 'V':
    1535             ArgcList.push_back(argptr-1);
    1536             ArgcList.push_back(argptr);
     1535            ArgcList.insert(argptr-1);
     1536            ArgcList.insert(argptr);
    15371537            argptr++;
    15381538            break;
     
    24992499    char **Arguments = NULL;
    25002500    int ArgcSize = 0;
    2501     int ExitFlag = 0;
    25022501    bool ArgumentsCopied = false;
    25032502
     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
    25052510
    25062511    setVerbosity(0);
     
    25102515    // Parse command line options and if present create respective UI
    25112516    {
    2512       list<int> ArgcList;
    2513       ArgcList.push_back(0); // push back program!
    2514       ArgcList.push_back(1); // push back config file name
     2517      set<int> ArgcList;
     2518      ArgcList.insert(0); // push back program!
     2519      ArgcList.insert(1); // push back config file name
    25152520      char ConfigFileName[MAXSTRINGSIZE];
    25162521      // handle arguments by ParseCommandLineOptions()
    2517       ExitFlag = ParseCommandLineOptions(argc,argv,World::getInstance().getMolecules(),World::getInstance().getPeriode(),*World::getInstance().getConfig(), (char *&)ConfigFileName, ArgcList);
     2522      ParseCommandLineOptions(argc,argv,World::getInstance().getMolecules(),World::getInstance().getPeriode(),*World::getInstance().getConfig(), (char *&)ConfigFileName, ArgcList);
    25182523      // copy all remaining arguments to a new argv
    25192524      Arguments = Malloc<char *>(ArgcList.size(), "main - **Arguments");
    25202525      cout << "The following arguments are handled by CommandLineParser: ";
    2521       for (list<int>::iterator ArgcRunner = ArgcList.begin(); ArgcRunner != ArgcList.end(); ++ArgcRunner) {
     2526      for (set<int>::iterator ArgcRunner = ArgcList.begin(); ArgcRunner != ArgcList.end(); ++ArgcRunner) {
    25222527        Arguments[ArgcSize] = Malloc<char>(strlen(argv[*ArgcRunner])+2, "main - *Arguments[]");
    25232528        strcpy(Arguments[ArgcSize], argv[*ArgcRunner]);
     
    25602565  cleanUp();
    25612566  Memory::getState();
    2562   return (ExitFlag == 1 ? 0 : ExitFlag);
     2567  return (0);
    25632568}
    25642569
Note: See TracChangeset for help on using the changeset viewer.