0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-06-02 18:18:56 +02:00

ircd::json: Consistent quoted inputs to the printer. (related ea1c0dcae7)

This commit is contained in:
Jason Volk 2020-06-24 11:37:00 -07:00
parent 526271e8cd
commit 3490eb89e8

View file

@ -2769,9 +2769,7 @@ ircd::json::stringify(mutable_buffer &buf,
{
char *const start(begin(buf));
assert(!surrounds(member.first, '"'));
consume(buf, copy(buf, '"'));
printer(buf, printer.name, member.first);
consume(buf, copy(buf, "\":"_sv));
printer(buf, printer.name << printer.name_sep, member.first);
stringify(buf, member.second);
const string_view ret
{
@ -3380,7 +3378,10 @@ ircd::json::stringify(mutable_buffer &buf,
v.string, v.len
};
printer(buf, printer.string, sv);
if(v.serial)
printer(buf, printer.string, json::string(sv));
else
printer(buf, printer.string, sv);
break;
}
@ -3504,7 +3505,12 @@ ircd::json::serialized(const value &v)
thread_local char test_buffer[value::max_string_size];
const string_view sv{v.string, v.len};
mutable_buffer buf{test_buffer};
printer(buf, printer.string, sv);
if(v.serial)
printer(buf, printer.string, json::string(sv));
else
printer(buf, printer.string, sv);
return begin(buf) - test_buffer;
}
};