Merge pull request #555 from Dmitry-Me/eliminateRepeatedFind

Eliminate repeated lookup
This commit is contained in:
Daniel Marjamäki 2015-03-19 06:45:26 +01:00
commit dbfbddb178
1 changed files with 3 additions and 2 deletions

View File

@ -2409,11 +2409,12 @@ static void setVarIdStructMembers(Token **tok1,
break;
std::map<std::string, unsigned int>& members = (*structMembers)[struct_varid];
if (members.empty() || members.find(tok->str()) == members.end()) {
const std::map<std::string, unsigned int>::iterator it = members.find(tok->str());
if (it == members.end()) {
members[tok->str()] = ++(*_varId);
tok->varId(*_varId);
} else {
tok->varId(members[tok->str()]);
tok->varId(it->second);
}
}
// tok can't be null