mirror of
https://github.com/matrix-construct/construct
synced 2024-09-29 20:28:52 +02:00
ircd:Ⓜ️:state: Bound the stack frame size.
This commit is contained in:
parent
b16aa7f55c
commit
9336b28095
1 changed files with 8 additions and 8 deletions
|
@ -955,25 +955,25 @@ ircd::m::state::node::rep::write(const mutable_buffer &out)
|
||||||
assert(vn <= NODE_MAX_VAL);
|
assert(vn <= NODE_MAX_VAL);
|
||||||
assert(cn <= NODE_MAX_DEG);
|
assert(cn <= NODE_MAX_DEG);
|
||||||
|
|
||||||
json::value keys[kn];
|
std::array<json::value, NODE_MAX_KEY> keys;
|
||||||
{
|
{
|
||||||
for(size_t i(0); i < kn; ++i)
|
for(size_t i(0); i < kn; ++i)
|
||||||
keys[i] = this->keys[i];
|
keys[i] = this->keys[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
json::value vals[vn];
|
std::array<json::value, NODE_MAX_VAL> vals;
|
||||||
{
|
{
|
||||||
for(size_t i(0); i < vn; ++i)
|
for(size_t i(0); i < vn; ++i)
|
||||||
vals[i] = this->vals[i];
|
vals[i] = this->vals[i];
|
||||||
};
|
};
|
||||||
|
|
||||||
json::value chld[cn];
|
std::array<json::value, NODE_MAX_DEG> chld;
|
||||||
{
|
{
|
||||||
for(size_t i(0); i < cn; ++i)
|
for(size_t i(0); i < cn; ++i)
|
||||||
chld[i] = this->chld[i];
|
chld[i] = this->chld[i];
|
||||||
};
|
};
|
||||||
|
|
||||||
json::value cnts[nn];
|
std::array<json::value, NODE_MAX_DEG> cnts;
|
||||||
{
|
{
|
||||||
for(size_t i(0); i < nn; ++i)
|
for(size_t i(0); i < nn; ++i)
|
||||||
cnts[i] = json::value{long(this->cnts[i])};
|
cnts[i] = json::value{long(this->cnts[i])};
|
||||||
|
@ -982,10 +982,10 @@ ircd::m::state::node::rep::write(const mutable_buffer &out)
|
||||||
json::iov iov;
|
json::iov iov;
|
||||||
const json::iov::push push[]
|
const json::iov::push push[]
|
||||||
{
|
{
|
||||||
{ iov, { name::key, { keys, kn } } },
|
{ iov, { name::key, { keys.data(), kn } } },
|
||||||
{ iov, { name::val, { vals, vn } } },
|
{ iov, { name::val, { vals.data(), vn } } },
|
||||||
{ iov, { name::child, { chld, cn } } },
|
{ iov, { name::child, { chld.data(), cn } } },
|
||||||
{ iov, { name::count, { cnts, nn } } },
|
{ iov, { name::count, { cnts.data(), nn } } },
|
||||||
};
|
};
|
||||||
|
|
||||||
return { data(out), json::print(out, iov) };
|
return { data(out), json::print(out, iov) };
|
||||||
|
|
Loading…
Reference in a new issue