Fix regression in sequence container FROM_JSON

This commit is contained in:
Gioacchino Mazzurco 2020-03-21 16:03:22 +01:00
parent fc5ad40c90
commit d666e58403
No known key found for this signature in database
GPG key ID: A1FBCA3872E87051

View file

@ -567,11 +567,10 @@ struct RsTypeSerializer
arrKey.SetString( memberName.c_str(), arrKey.SetString( memberName.c_str(),
static_cast<SizeType>(memberName.length()) ); static_cast<SizeType>(memberName.length()) );
ok = ok && jDoc.IsObject(); ok = ok && jDoc.IsObject() && jDoc.HasMember(arrKey)
ok = ok && jDoc.HasMember(arrKey); && jDoc[arrKey].IsArray();
if(!ok) { ctx.mOk = false; break; }
if(ok && jDoc[arrKey].IsArray())
{
for (auto&& arrEl : jDoc[arrKey].GetArray()) for (auto&& arrEl : jDoc[arrKey].GetArray())
{ {
Value arrKeyT; Value arrKeyT;
@ -584,14 +583,13 @@ struct RsTypeSerializer
elCtx.mJson.AddMember(arrKeyT, arrEl, allocator); elCtx.mJson.AddMember(arrKeyT, arrEl, allocator);
el_t el; el_t el;
serial_process(j, elCtx, el, ""); serial_process(j, elCtx, el, memberName);
ok = ok && elCtx.mOk; ok = ok && elCtx.mOk;
ctx.mOk &= ok; ctx.mOk &= ok;
if(ok) member.insert(member.end(), el); if(ok) member.insert(member.end(), el);
else break; else break;
} }
}
else ctx.mOk = false;
break; break;
} }
default: fatalUnknownSerialJob(j); default: fatalUnknownSerialJob(j);