summary refs log tree commit diff stats
path: root/lib/pure/json.nim
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2018-06-04 16:16:50 +0200
committerAndreas Rumpf <rumpf_a@web.de>2018-06-04 16:16:50 +0200
commit12996c08a1148125271a9b5f465c2ac44f261935 (patch)
tree753257142359d8c2385b06a0f2487cae9c8679fe /lib/pure/json.nim
parent2e9d486378965046227517f15a311cb72a84009e (diff)
parent582786d0684b76a5bab5faa54304b2873bdcff5e (diff)
downloadNim-12996c08a1148125271a9b5f465c2ac44f261935.tar.gz
fixed merge conflict
Diffstat (limited to 'lib/pure/json.nim')
-rw-r--r--lib/pure/json.nim3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/pure/json.nim b/lib/pure/json.nim
index 2bb830bcb..e7ad5bd5a 100644
--- a/lib/pure/json.nim
+++ b/lib/pure/json.nim
@@ -558,6 +558,8 @@ proc escapeJson*(s: string; result: var string) =
     of '\t': result.add("\\t")
     of '\r': result.add("\\r")
     of '"': result.add("\\\"")
+    of '\0'..'\7': result.add("\\u000" & $ord(c))
+    of '\14'..'\31': result.add("\\u00" & $ord(c))
     of '\\': result.add("\\\\")
     else: result.add(c)
   result.add("\"")
@@ -1581,6 +1583,7 @@ when isMainModule:
     doAssert(parsed2{"repository", "description"}.str=="IRC Library for Haskell", "Couldn't fetch via multiply nested key using {}")
 
   doAssert escapeJson("\10Foo🎃barÄ") == "\"\\nFoo🎃barÄ\""
+  doAssert escapeJson("\0\7\20") == "\"\\u0000\\u0007\\u0020\"" # for #7887
 
   # Test with extra data
   when not defined(js):