diff options
Diffstat (limited to 'src/univalue')
-rw-r--r-- | src/univalue/gen.cpp | 1 | ||||
-rw-r--r-- | src/univalue/univalue_escapes.h | 2 | ||||
-rw-r--r-- | src/univalue/univalue_read.cpp | 15 |
3 files changed, 7 insertions, 11 deletions
diff --git a/src/univalue/gen.cpp b/src/univalue/gen.cpp index abebe88634..5e5a4d4aed 100644 --- a/src/univalue/gen.cpp +++ b/src/univalue/gen.cpp @@ -22,7 +22,6 @@ static void initJsonEscape() { escapes[(int)'"'] = "\\\""; escapes[(int)'\\'] = "\\\\"; - escapes[(int)'/'] = "\\/"; escapes[(int)'\b'] = "\\b"; escapes[(int)'\f'] = "\\f"; escapes[(int)'\n'] = "\\n"; diff --git a/src/univalue/univalue_escapes.h b/src/univalue/univalue_escapes.h index 0514118285..4133b24ca1 100644 --- a/src/univalue/univalue_escapes.h +++ b/src/univalue/univalue_escapes.h @@ -49,7 +49,7 @@ static const char *escapes[256] = { NULL, NULL, NULL, - "\\/", + NULL, NULL, NULL, NULL, diff --git a/src/univalue/univalue_read.cpp b/src/univalue/univalue_read.cpp index 5cea778996..261771811d 100644 --- a/src/univalue/univalue_read.cpp +++ b/src/univalue/univalue_read.cpp @@ -188,25 +188,22 @@ enum jtokentype getJsonToken(string& tokenVal, unsigned int& consumed, case 't': valStr += "\t"; break; case 'u': { - char buf[4] = {0,0,0,0}; - char *last = &buf[0]; unsigned int codepoint; if (hatoui(raw + 1, raw + 1 + 4, codepoint) != raw + 1 + 4) return JTOK_ERR; if (codepoint <= 0x7f) - *last = (char)codepoint; + valStr.push_back((char)codepoint); else if (codepoint <= 0x7FF) { - *last++ = (char)(0xC0 | (codepoint >> 6)); - *last = (char)(0x80 | (codepoint & 0x3F)); + valStr.push_back((char)(0xC0 | (codepoint >> 6))); + valStr.push_back((char)(0x80 | (codepoint & 0x3F))); } else if (codepoint <= 0xFFFF) { - *last++ = (char)(0xE0 | (codepoint >> 12)); - *last++ = (char)(0x80 | ((codepoint >> 6) & 0x3F)); - *last = (char)(0x80 | (codepoint & 0x3F)); + valStr.push_back((char)(0xE0 | (codepoint >> 12))); + valStr.push_back((char)(0x80 | ((codepoint >> 6) & 0x3F))); + valStr.push_back((char)(0x80 | (codepoint & 0x3F))); } - valStr += buf; raw += 4; break; } |