diff options
author | Michaël Zasso <targos@protonmail.com> | 2016-09-06 22:49:51 +0200 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2016-09-22 09:51:19 +0200 |
commit | ec02b811a8a5c999bab4de312be2d732b7d9d50b (patch) | |
tree | ca3068017254f238cf413a451c57a803572983a4 /deps/v8/src/ostreams.cc | |
parent | d2eb7ce0105369a9cad82787cb33a665e9bd00ad (diff) | |
download | node-new-ec02b811a8a5c999bab4de312be2d732b7d9d50b.tar.gz |
deps: update V8 to 5.4.500.27
Pick up latest commit from the 5.4-lkgr branch.
deps: edit V8 gitignore to allow trace event copy
deps: update V8 trace event to 315bf1e2d45be7d53346c31cfcc37424a32c30c8
deps: edit V8 gitignore to allow gtest_prod.h copy
deps: update V8 gtest to 6f8a66431cb592dad629028a50b3dd418a408c87
PR-URL: https://github.com/nodejs/node/pull/8317
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Diffstat (limited to 'deps/v8/src/ostreams.cc')
-rw-r--r-- | deps/v8/src/ostreams.cc | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/deps/v8/src/ostreams.cc b/deps/v8/src/ostreams.cc index 120db257cd..a0a548b607 100644 --- a/deps/v8/src/ostreams.cc +++ b/deps/v8/src/ostreams.cc @@ -61,6 +61,14 @@ std::ostream& PrintUC16(std::ostream& os, uint16_t c, bool (*pred)(uint16_t)) { return os << buf; } +std::ostream& PrintUC16ForJSON(std::ostream& os, uint16_t c, + bool (*pred)(uint16_t)) { + // JSON does not allow \x99; must use \u0099. + char buf[10]; + const char* format = pred(c) ? "%c" : "\\u%04x"; + snprintf(buf, sizeof(buf), format, c); + return os << buf; +} std::ostream& PrintUC32(std::ostream& os, int32_t c, bool (*pred)(uint16_t)) { if (c <= String::kMaxUtf16CodeUnit) { @@ -84,7 +92,7 @@ std::ostream& operator<<(std::ostream& os, const AsEscapedUC16ForJSON& c) { if (c.value == '\r') return os << "\\r"; if (c.value == '\t') return os << "\\t"; if (c.value == '\"') return os << "\\\""; - return PrintUC16(os, c.value, IsOK); + return PrintUC16ForJSON(os, c.value, IsOK); } @@ -97,5 +105,11 @@ std::ostream& operator<<(std::ostream& os, const AsUC32& c) { return PrintUC32(os, c.value, IsPrint); } +std::ostream& operator<<(std::ostream& os, const AsHex& hex) { + char buf[20]; + snprintf(buf, sizeof(buf), "%.*" PRIx64, hex.min_width, hex.value); + return os << buf; +} + } // namespace internal } // namespace v8 |