mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-06-28 08:07:31 -04:00
Fix regression in sequence container FROM_JSON
This commit is contained in:
parent
fc5ad40c90
commit
d666e58403
1 changed files with 18 additions and 20 deletions
|
@ -567,31 +567,29 @@ 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;
|
||||||
{
|
arrKeyT.SetString(
|
||||||
Value arrKeyT;
|
memberName.c_str(),
|
||||||
arrKeyT.SetString(
|
static_cast<SizeType>(memberName.length()) );
|
||||||
memberName.c_str(),
|
|
||||||
static_cast<SizeType>(memberName.length()) );
|
|
||||||
|
|
||||||
RsGenericSerializer::SerializeContext elCtx(
|
RsGenericSerializer::SerializeContext elCtx(
|
||||||
nullptr, 0, ctx.mFlags, &allocator );
|
nullptr, 0, ctx.mFlags, &allocator );
|
||||||
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);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue