diff --git a/lib/tokenize.cpp b/lib/tokenize.cpp index d61ea782d..7754d3847 100644 --- a/lib/tokenize.cpp +++ b/lib/tokenize.cpp @@ -2409,11 +2409,12 @@ static void setVarIdStructMembers(Token **tok1, break; std::map& members = (*structMembers)[struct_varid]; - if (members.empty() || members.find(tok->str()) == members.end()) { + const std::map::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