Add escape codes in NativeStatement and VerbatimStatement writeJsonOutput() method
parent
fba113d82b
commit
50a2e7c44f
|
@ -61,8 +61,46 @@ void
|
|||
NativeStatement::writeJsonOutput(ostream &output) const
|
||||
{
|
||||
output << R"({"statementName": "native")"
|
||||
<< R"(, "string": ")" << native_statement << R"(")"
|
||||
<< "}";
|
||||
<< R"(, "string": ")";
|
||||
|
||||
// A similar code is in VerbatimStatement::writeJsonOutput()
|
||||
for (auto ch : native_statement)
|
||||
switch (ch)
|
||||
{
|
||||
case '\b':
|
||||
output << R"(\b)";
|
||||
break;
|
||||
|
||||
case '\f':
|
||||
output << R"(\f)";
|
||||
break;
|
||||
|
||||
case '\n':
|
||||
output << R"(\n)";
|
||||
break;
|
||||
|
||||
case '\r':
|
||||
output << R"(\r)";
|
||||
break;
|
||||
|
||||
case '\t':
|
||||
output << R"(\t)";
|
||||
break;
|
||||
|
||||
case '"':
|
||||
output << R"(\")";
|
||||
break;
|
||||
|
||||
case '\\':
|
||||
output << R"(\\)";
|
||||
break;
|
||||
|
||||
default:
|
||||
output << ch;
|
||||
break;
|
||||
}
|
||||
|
||||
output << R"("})";
|
||||
}
|
||||
|
||||
VerbatimStatement::VerbatimStatement(string verbatim_statement_arg) :
|
||||
|
@ -80,8 +118,46 @@ void
|
|||
VerbatimStatement::writeJsonOutput(ostream &output) const
|
||||
{
|
||||
output << R"({"statementName": "verbatim")"
|
||||
<< R"(, "string": ")" << verbatim_statement << R"(")"
|
||||
<< "}";
|
||||
<< R"(, "string": ")";
|
||||
|
||||
// A similar code is in NativeStatement::writeJsonOutput()
|
||||
for (auto ch : verbatim_statement)
|
||||
switch (ch)
|
||||
{
|
||||
case '\b':
|
||||
output << R"(\b)";
|
||||
break;
|
||||
|
||||
case '\f':
|
||||
output << R"(\f)";
|
||||
break;
|
||||
|
||||
case '\n':
|
||||
output << R"(\n)";
|
||||
break;
|
||||
|
||||
case '\r':
|
||||
output << R"(\r)";
|
||||
break;
|
||||
|
||||
case '\t':
|
||||
output << R"(\t)";
|
||||
break;
|
||||
|
||||
case '"':
|
||||
output << R"(\")";
|
||||
break;
|
||||
|
||||
case '\\':
|
||||
output << R"(\\)";
|
||||
break;
|
||||
|
||||
default:
|
||||
output << ch;
|
||||
break;
|
||||
}
|
||||
|
||||
output << R"("})";
|
||||
}
|
||||
|
||||
void
|
||||
|
|
Loading…
Reference in New Issue