Fix for empty key/value when reading item string with wear but no metadata (#6058)

master
Jesse McDonald 2017-06-27 05:34:11 -05:00 committed by Loïc Blot
parent d7343b6c93
commit 85d7b18d85
1 changed files with 12 additions and 10 deletions

View File

@ -28,16 +28,18 @@ void ItemStackMetadata::deSerialize(std::istream &is)
m_stringvars.clear(); m_stringvars.clear();
if (!in.empty() && in[0] == DESERIALIZE_START) { if (!in.empty()) {
Strfnd fnd(in); if (in[0] == DESERIALIZE_START) {
fnd.to(1); Strfnd fnd(in);
while (!fnd.at_end()) { fnd.to(1);
std::string name = fnd.next(DESERIALIZE_KV_DELIM_STR); while (!fnd.at_end()) {
std::string var = fnd.next(DESERIALIZE_PAIR_DELIM_STR); std::string name = fnd.next(DESERIALIZE_KV_DELIM_STR);
m_stringvars[name] = var; std::string var = fnd.next(DESERIALIZE_PAIR_DELIM_STR);
m_stringvars[name] = var;
}
} else {
// BACKWARDS COMPATIBILITY
m_stringvars[""] = in;
} }
} else {
// BACKWARDS COMPATIBILITY
m_stringvars[""] = in;
} }
} }