summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenry Castro <hcastro@collabora.com>2020-12-25 12:55:49 -0400
committerAndras Timar <andras.timar@collabora.com>2021-02-24 07:36:01 +0100
commitaa9ade7274197aa8f7b6990cc2094ad162d8a9e3 (patch)
tree7356d7f7b9b1a97717597bed145e315d2be126a2
parent99937777801d0fc9574d03c40369de166f601d9c (diff)
tools: json: fix missing escaped chars
When client side tries to show the "Macro Security Warning" message dialog, it fails to parse the JSON objects Change-Id: Id73c291ddd9cf739d63d69f06094eacb7b43a2f1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108287 Tested-by: Jenkins Reviewed-by: Henry Castro <hcastro@collabora.com> (cherry picked from commit 6002ff0354c95c3dffbf4f933833695f3f47b73b) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111418 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
-rw-r--r--tools/source/misc/json_writer.cxx21
1 files changed, 21 insertions, 0 deletions
diff --git a/tools/source/misc/json_writer.cxx b/tools/source/misc/json_writer.cxx
index d1e1997320a1..9319db2799bc 100644
--- a/tools/source/misc/json_writer.cxx
+++ b/tools/source/misc/json_writer.cxx
@@ -152,6 +152,27 @@ void JsonWriter::put(const char* pPropName, const OUString& rPropVal)
*mPos = static_cast<char>(ch);
++mPos;
}
+ else if (ch == '\n')
+ {
+ *mPos = '\\';
+ ++mPos;
+ *mPos = 'n';
+ ++mPos;
+ }
+ else if (ch == '\r')
+ {
+ *mPos = '\\';
+ ++mPos;
+ *mPos = 'r';
+ ++mPos;
+ }
+ else if (ch == '\f')
+ {
+ *mPos = '\\';
+ ++mPos;
+ *mPos = 'f';
+ ++mPos;
+ }
else if (ch <= 0x7F)
{
*mPos = static_cast<char>(ch);