diff --git a/indra/llcommon/llerror.cpp b/indra/llcommon/llerror.cpp index 84b3ab8ce5f3ed65854108b2469a9a1b6e65ac41..dc9cffb94e8c5f8c5b0242fcac99261a8ff62e7f 100644 --- a/indra/llcommon/llerror.cpp +++ b/indra/llcommon/llerror.cpp @@ -451,7 +451,7 @@ namespace } - typedef std::map<std::string, LLError::ELevel> LevelMap; + typedef absl::flat_hash_map<std::string, LLError::ELevel> LevelMap; typedef std::vector<LLError::RecorderPtr> Recorders; typedef std::vector<LLError::CallSite*> CallSiteVector; @@ -900,10 +900,9 @@ namespace LLError namespace { void setLevels(LevelMap& map, const LLSD& list, LLError::ELevel level) { - LLSD::array_const_iterator i, end; - for (i = list.beginArray(), end = list.endArray(); i != end; ++i) + for (const auto& i : list.array()) { - map[*i] = level; + map[i.asString()] = level; } } }