Fix empty legacy meta being persisted
authorrubenwardy <rubenwardy@gmail.com>
Sat, 19 Aug 2017 18:43:02 +0000 (19:43 +0100)
committerSmallJoker <mk939@ymail.com>
Sun, 3 Jun 2018 15:31:59 +0000 (17:31 +0200)
src/itemstackmetadata.cpp

index 65829fd68b251c8a2368c60f3c57251c0493a8e9..f63671425d390222397a35df81aa0a0dbbe68b10 100644 (file)
@@ -13,11 +13,10 @@ void ItemStackMetadata::serialize(std::ostream &os) const
 {
        std::ostringstream os2;
        os2 << DESERIALIZE_START;
-       for (StringMap::const_iterator
-                       it = m_stringvars.begin();
-                       it != m_stringvars.end(); ++it) {
-               os2 << it->first << DESERIALIZE_KV_DELIM
-                   << it->second << DESERIALIZE_PAIR_DELIM;
+       for (const auto &stringvar : m_stringvars) {
+               if (!stringvar.first.empty() || !stringvar.second.empty())
+                       os2 << stringvar.first << DESERIALIZE_KV_DELIM
+                               << stringvar.second << DESERIALIZE_PAIR_DELIM;
        }
        os << serializeJsonStringIfNeeded(os2.str());
 }