summary refs log tree commit diff stats
path: root/lib/pure/parsejson.nim
diff options
context:
space:
mode:
Diffstat (limited to 'lib/pure/parsejson.nim')
-rw-r--r--lib/pure/parsejson.nim9
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/pure/parsejson.nim b/lib/pure/parsejson.nim
index 196d8c360..9292a8596 100644
--- a/lib/pure/parsejson.nim
+++ b/lib/pure/parsejson.nim
@@ -11,9 +11,12 @@
 ## and exported by the `json` standard library
 ## module, but can also be used in its own right.
 
-import strutils, lexbase, streams, unicode
+import std/[strutils, lexbase, streams, unicode]
 import std/private/decode_helpers
 
+when defined(nimPreviewSlimSystem):
+  import std/assertions
+
 type
   JsonEventKind* = enum ## enumeration of all events that may occur when parsing
     jsonError,          ## an error occurred during parsing
@@ -218,7 +221,7 @@ proc parseString(my: var JsonParser): TokKind =
           add(my.a, 'u')
         inc(pos, 2)
         var pos2 = pos
-        var r = parseEscapedUTF16(my.buf, pos)
+        var r = parseEscapedUTF16(cstring(my.buf), pos)
         if r < 0:
           my.err = errInvalidToken
           break
@@ -228,7 +231,7 @@ proc parseString(my: var JsonParser): TokKind =
             my.err = errInvalidToken
             break
           inc(pos, 2)
-          var s = parseEscapedUTF16(my.buf, pos)
+          var s = parseEscapedUTF16(cstring(my.buf), pos)
           if (s and 0xfc00) == 0xdc00 and s > 0:
             r = 0x10000 + (((r - 0xd800) shl 10) or (s - 0xdc00))
           else: