Skip to content
Snippets Groups Projects
Verified Commit 50a2e7c4 authored by MichelJuillard's avatar MichelJuillard Committed by Sébastien Villemot
Browse files

Add escape codes in NativeStatement and VerbatimStatement writeJsonOutput() method

parent fba113d8
Branches
No related tags found
No related merge requests found
...@@ -61,8 +61,46 @@ void ...@@ -61,8 +61,46 @@ void
NativeStatement::writeJsonOutput(ostream &output) const NativeStatement::writeJsonOutput(ostream &output) const
{ {
output << R"({"statementName": "native")" 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) : VerbatimStatement::VerbatimStatement(string verbatim_statement_arg) :
...@@ -80,8 +118,46 @@ void ...@@ -80,8 +118,46 @@ void
VerbatimStatement::writeJsonOutput(ostream &output) const VerbatimStatement::writeJsonOutput(ostream &output) const
{ {
output << R"({"statementName": "verbatim")" 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 void
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment