diff --git a/common/src/Dict.cpp b/common/src/Dict.cpp index d09f14996dcf35f89c1c83cbb3905c3b3bb1db99..c451ecd15160d1358e43f6a1b23dbd9de3e0b31f 100644 --- a/common/src/Dict.cpp +++ b/common/src/Dict.cpp @@ -63,13 +63,17 @@ void Dict::insert(const std::string & element) int Dict::getIndexOrInsert(const std::string & element) { - if (state == State::Open) - insert(element); - const auto & found = elementsToIndexes.find(element); if (found == elementsToIndexes.end()) + { + if (state == State::Open) + { + insert(element); + return elementsToIndexes[element]; + } return elementsToIndexes[unknownValueStr]; + } return found->second; }