Ignore:
Timestamp:
05/16/18 21:20:31 (6 years ago)
Author:
Maciej Komosinski
Message:

Removed the unused "info" field and fixed a bug with incorrect pointers to content stored in a vector

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cpp/frams/genetics/genoconv.cpp

    r732 r783  
    5050        tab[0].name = "gkparam:";
    5151        gcnames.clear();
     52        gcnames.reserve(gcm->converters.size()); //avoid reallocations in the loop below, since we externally store pointers to objects saved in this vector
    5253        for (i = 0, pe = tab + 1; gk = (GenoConverter *)gcm->converters(i); pe++, i++)
    5354        {
     
    5758                std::string descr = "f";
    5859                descr += gk->in_format;
    59                 descr += " -> f";
     60                descr += " --> f";
    6061                descr += gk->out_format;
    61                 descr += " : ";
     62                descr += "  : ";
    6263                descr += gk->name;
    6364                gcnames.push_back(descr);
    64                 pe->name = descr.c_str();
     65                pe->name = gcnames.back().c_str(); //externally store a pointer to the object just saved in the vector
    6566                pe->type = "d 0 1";
    66                 pe->help = gk->info;
    6767        }
    6868        pe->id = 0;
Note: See TracChangeset for help on using the changeset viewer.