Skip to content

Commit 25fd65e

Browse files
committed
Fix error reporting when decoding strings
1 parent 64dc894 commit 25fd65e

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

lib/decoder.ex

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ defmodule Jason.DecodeError do
1414
str = <<byte>>
1515
if String.printable?(str) do
1616
"unexpected byte at position #{position}: " <>
17-
"#{inspect byte, base: :hex} ('#{str}')"
17+
"#{inspect byte, base: :hex} (#{inspect str})"
1818
else
1919
"unexpected byte at position #{position}: " <>
2020
"#{inspect byte, base: :hex}"
@@ -339,7 +339,7 @@ defmodule Jason.Decoder do
339339
part = binary_part(original, skip, len)
340340
escape(rest, original, skip + len, stack, key_decode, string_decode, part)
341341
_ in unquote(0x00..0x1F), _rest ->
342-
error(original, skip)
342+
error(original, skip + len)
343343
_, rest ->
344344
string(rest, original, skip, stack, key_decode, string_decode, len + 1)
345345
<<char::utf8, rest::bits>> when char <= 0x7FF ->
@@ -363,7 +363,7 @@ defmodule Jason.Decoder do
363363
part = binary_part(original, skip, len)
364364
escape(rest, original, skip + len, stack, key_decode, string_decode, [acc | part])
365365
_ in unquote(0x00..0x1F), _rest ->
366-
error(original, skip)
366+
error(original, skip + len)
367367
_, rest ->
368368
string(rest, original, skip, stack, key_decode, string_decode, acc, len + 1)
369369
<<char::utf8, rest::bits>> when char <= 0x7FF ->

0 commit comments

Comments
 (0)