diff options
author | sfan5 <sfan5@live.de> | 2020-04-19 19:07:54 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-19 19:07:54 +0200 |
commit | 338195ff250bd7552ef8167348de2eb05e421c29 (patch) | |
tree | bb19ba9dfbf8cc72ceb351f12025718eb05d747b /src/itemdef.cpp | |
parent | cdbe3c5e5784b34e548c58b08579ff55b3096fb9 (diff) | |
download | minetest-338195ff250bd7552ef8167348de2eb05e421c29.tar.gz minetest-338195ff250bd7552ef8167348de2eb05e421c29.tar.bz2 minetest-338195ff250bd7552ef8167348de2eb05e421c29.zip |
Fix alias handling of get_content_id (#9712)
fixes #9632
Diffstat (limited to 'src/itemdef.cpp')
-rw-r--r-- | src/itemdef.cpp | 34 |
1 files changed, 13 insertions, 21 deletions
diff --git a/src/itemdef.cpp b/src/itemdef.cpp index a13b3f7d4..8e0492827 100644 --- a/src/itemdef.cpp +++ b/src/itemdef.cpp @@ -270,17 +270,16 @@ public: // Convert name according to possible alias std::string name = getAlias(name_); // Get the definition - std::map<std::string, ItemDefinition*>::const_iterator i; - i = m_item_definitions.find(name); - if(i == m_item_definitions.end()) + auto i = m_item_definitions.find(name); + if (i == m_item_definitions.cend()) i = m_item_definitions.find("unknown"); - assert(i != m_item_definitions.end()); + assert(i != m_item_definitions.cend()); return *(i->second); } virtual const std::string &getAlias(const std::string &name) const { - StringMap::const_iterator it = m_aliases.find(name); - if (it != m_aliases.end()) + auto it = m_aliases.find(name); + if (it != m_aliases.cend()) return it->second; return name; } @@ -300,8 +299,7 @@ public: // Convert name according to possible alias std::string name = getAlias(name_); // Get the definition - std::map<std::string, ItemDefinition*>::const_iterator i; - return m_item_definitions.find(name) != m_item_definitions.end(); + return m_item_definitions.find(name) != m_item_definitions.cend(); } #ifndef SERVER public: @@ -443,11 +441,9 @@ public: } void clear() { - for(std::map<std::string, ItemDefinition*>::const_iterator - i = m_item_definitions.begin(); - i != m_item_definitions.end(); ++i) + for (auto &i : m_item_definitions) { - delete i->second; + delete i.second; } m_item_definitions.clear(); m_aliases.clear(); @@ -520,10 +516,8 @@ public: u16 count = m_item_definitions.size(); writeU16(os, count); - for (std::map<std::string, ItemDefinition *>::const_iterator - it = m_item_definitions.begin(); - it != m_item_definitions.end(); ++it) { - ItemDefinition *def = it->second; + for (const auto &it : m_item_definitions) { + ItemDefinition *def = it.second; // Serialize ItemDefinition and write wrapped in a string std::ostringstream tmp_os(std::ios::binary); def->serialize(tmp_os, protocol_version); @@ -532,11 +526,9 @@ public: writeU16(os, m_aliases.size()); - for (StringMap::const_iterator - it = m_aliases.begin(); - it != m_aliases.end(); ++it) { - os << serializeString(it->first); - os << serializeString(it->second); + for (const auto &it : m_aliases) { + os << serializeString(it.first); + os << serializeString(it.second); } } void deSerialize(std::istream &is) |