diff options
author | Jeff Garzik <jgarzik@bitpay.com> | 2014-08-18 10:36:21 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@bitpay.com> | 2014-08-18 10:36:21 -0400 |
commit | 3cceba7abb22133fcaea8d4f7aaed345f0e48009 (patch) | |
tree | 221d4da65869d4b5df0a9db20af9a9c2566d9621 /src/univalue/univalue_write.cpp | |
parent | 9d26dc3b2973252cc4dbe0f46edb56bfcea1cb78 (diff) |
Univalue: Do not build JSON escape list at runtime
No need to waste startup time building something that can be done
at compile time.
This also resolves a clang++ warning originally reported in #4714,
univalue/univalue_write.cpp:33:12: warning: array subscript is of type 'char
escapes['"'] = "\\"";
^~~~
etc.
Diffstat (limited to 'src/univalue/univalue_write.cpp')
-rw-r--r-- | src/univalue/univalue_write.cpp | 21 |
1 files changed, 1 insertions, 20 deletions
diff --git a/src/univalue/univalue_write.cpp b/src/univalue/univalue_write.cpp index 1818f5c6f9..70762a1ef1 100644 --- a/src/univalue/univalue_write.cpp +++ b/src/univalue/univalue_write.cpp @@ -5,33 +5,14 @@ #include <ctype.h> #include <stdio.h> #include "univalue.h" +#include "univalue_escapes.h" // TODO: Using UTF8 using namespace std; -static bool initEscapes; -static const char *escapes[256]; - -static void initJsonEscape() -{ - escapes['"'] = "\\\""; - escapes['\\'] = "\\\\"; - escapes['/'] = "\\/"; - escapes['\b'] = "\\b"; - escapes['\f'] = "\\f"; - escapes['\n'] = "\\n"; - escapes['\r'] = "\\r"; - escapes['\t'] = "\\t"; - - initEscapes = true; -} - static string json_escape(const string& inS) { - if (!initEscapes) - initJsonEscape(); - string outS; outS.reserve(inS.size() * 2); |