Index: src/ostreams.cc |
diff --git a/src/ostreams.cc b/src/ostreams.cc |
index 1385e7cf315a71c964e22e1d5fdad34e72f8b400..b3c1412730ef074b4912876334731a0d9939dbb9 100644 |
--- a/src/ostreams.cc |
+++ b/src/ostreams.cc |
@@ -66,6 +66,24 @@ std::ostream& operator<<(std::ostream& os, const AsReversiblyEscapedUC16& c) { |
} |
+std::ostream& operator<<(std::ostream& os, const AsEscapedUC16ForJSON& c) { |
+ if (c.value == '\n') { |
Sven Panne
2015/01/28 15:00:43
I think a 'comb-like' pattern plus inserting strin
danno
2015/01/28 15:30:12
Done.
|
+ os << '\\'; |
+ return os << 'n'; |
+ } else if (c.value == '\r') { |
+ os << '\\'; |
+ return os << 'r'; |
+ } else if (c.value == '\'') { |
+ os << '\\'; |
+ return os << '\''; |
+ } else if (c.value == '\"') { |
+ os << '\\'; |
+ return os << '\"'; |
+ } |
+ return PrintUC16(os, c.value, IsOK); |
+} |
+ |
+ |
std::ostream& operator<<(std::ostream& os, const AsUC16& c) { |
return PrintUC16(os, c.value, IsPrint); |
} |