summaryrefslogtreecommitdiffstats
path: root/src/uscxml/Message.cpp
diff options
context:
space:
mode:
authorStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2014-01-27 19:30:19 (GMT)
committerStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2014-01-27 19:30:19 (GMT)
commit95c3505e11d22f9a022647b0c7383364682d91de (patch)
tree9c2265bb944ebb872411e7bad7d2b602e62a9704 /src/uscxml/Message.cpp
parente1f59bb39d4722d0693e22b362ba834256f4d79c (diff)
downloaduscxml-95c3505e11d22f9a022647b0c7383364682d91de.zip
uscxml-95c3505e11d22f9a022647b0c7383364682d91de.tar.gz
uscxml-95c3505e11d22f9a022647b0c7383364682d91de.tar.bz2
Bug fixes and thread safety for web sockets
Diffstat (limited to 'src/uscxml/Message.cpp')
-rw-r--r--src/uscxml/Message.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/uscxml/Message.cpp b/src/uscxml/Message.cpp
index 4591484..b664fd1 100644
--- a/src/uscxml/Message.cpp
+++ b/src/uscxml/Message.cpp
@@ -682,7 +682,15 @@ std::string Data::toJSON(const Data& data) {
os << "]";
} else if (data.atom.size() > 0) {
if (data.type == Data::VERBATIM) {
- os << "\"" << data.atom << "\"";
+ os << "\"";
+ for (int i = 0; i < data.atom.size(); i++) {
+ // escape string
+ if (data.atom[i] == '"') {
+ os << '\\';
+ }
+ os << data.atom[i];
+ }
+ os << "\"";
} else {
os << data.atom;
}