summaryrefslogtreecommitdiff
path: root/storage/connect/json.cpp
diff options
context:
space:
mode:
authorOlivier Bertrand <bertrandop@gmail.com>2015-01-30 10:57:00 +0100
committerOlivier Bertrand <bertrandop@gmail.com>2015-01-30 10:57:00 +0100
commitfd1ca70bb3710ae280bd11b3650820dd62002419 (patch)
tree4bf2d015e61dc83733c146a7cca4025ead296bde /storage/connect/json.cpp
parent9a2dc7dfed6b56c529b2de865a15929bee2eceaf (diff)
downloadmariadb-git-fd1ca70bb3710ae280bd11b3650820dd62002419.tar.gz
- Enhance JSON tables handling.
modified: storage/connect/json.cpp storage/connect/json.h storage/connect/mysql-test/connect/r/json.result storage/connect/mysql-test/connect/t/json.test storage/connect/tabjson.cpp storage/connect/tabjson.h - Avoid crash when a partition table name pattern is ill formed (such as using place holder %i instead of %s) modified: storage/connect/ha_connect.cc
Diffstat (limited to 'storage/connect/json.cpp')
-rw-r--r--storage/connect/json.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/storage/connect/json.cpp b/storage/connect/json.cpp
index c49678769b7..0d15c8eed21 100644
--- a/storage/connect/json.cpp
+++ b/storage/connect/json.cpp
@@ -576,9 +576,9 @@ bool SerializeObject(JOUT *js, PJOB jobp)
else if (js->WriteChr(','))
return true;
- if (js->WriteChr('\"') ||
+ if (js->WriteChr('"') ||
js->WriteStr(pair->Key) ||
- js->WriteChr('\"') ||
+ js->WriteChr('"') ||
js->WriteChr(':') ||
SerializeValue(js, pair->Val))
return true;
@@ -725,13 +725,13 @@ bool JOUTFILE::Escape(const char *s)
for (unsigned int i = 0; i < strlen(s); i++)
switch (s[i]) {
+ case '"': fputs("\\\"", Stream); break;
+ case '\\': fputs("\\\\", Stream); break;
case '\t': fputs("\\t", Stream); break;
case '\n': fputs("\\n", Stream); break;
case '\r': fputs("\\r", Stream); break;
case '\b': fputs("\\b", Stream); break;
case '\f': fputs("\\f", Stream); break;
- case '\\': fputs("\\\\", Stream); break;
- case '"': fputs("\\\"", Stream); break;
default:
fputc(s[i], Stream);
break;