forked from Mirrorlandia_minetest/minetest
Fix for empty key/value when reading item string with wear but no metadata (#6058)
This commit is contained in:
parent
a08a93bc9c
commit
46ff2e2cef
@ -28,16 +28,18 @@ void ItemStackMetadata::deSerialize(std::istream &is)
|
||||
|
||||
m_stringvars.clear();
|
||||
|
||||
if (!in.empty() && in[0] == DESERIALIZE_START) {
|
||||
Strfnd fnd(in);
|
||||
fnd.to(1);
|
||||
while (!fnd.at_end()) {
|
||||
std::string name = fnd.next(DESERIALIZE_KV_DELIM_STR);
|
||||
std::string var = fnd.next(DESERIALIZE_PAIR_DELIM_STR);
|
||||
m_stringvars[name] = var;
|
||||
if (!in.empty()) {
|
||||
if (in[0] == DESERIALIZE_START) {
|
||||
Strfnd fnd(in);
|
||||
fnd.to(1);
|
||||
while (!fnd.at_end()) {
|
||||
std::string name = fnd.next(DESERIALIZE_KV_DELIM_STR);
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user