summaryrefslogtreecommitdiff
path: root/compat
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@datawire.io>2022-08-15 21:25:06 -0600
committerLuke Shumaker <lukeshu@datawire.io>2022-08-16 00:05:37 -0600
commit67b78f25f76b8ca43d837fb8055ca8e2b06c7d02 (patch)
tree517343e316a24cb2f07b16d23ccbf04570f4ce7c /compat
parent6476b9ae7019bedd9324786ff47bc25693e01b60 (diff)
Get borrowed_scanner_test.go passing [ci-skip]
Diffstat (limited to 'compat')
-rw-r--r--compat/json/compat.go18
1 files changed, 13 insertions, 5 deletions
diff --git a/compat/json/compat.go b/compat/json/compat.go
index b26914b..04dfb24 100644
--- a/compat/json/compat.go
+++ b/compat/json/compat.go
@@ -67,8 +67,9 @@ func HTMLEscape(dst *bytes.Buffer, src []byte) {
func Compact(dst *bytes.Buffer, src []byte) error {
formatter := &lowmemjson.ReEncoder{
- Out: dst,
- Compact: true,
+ Out: dst,
+ Compact: true,
+ BackslashEscape: lowmemjson.EscapePreserve,
}
_, err := formatter.Write(src)
return err
@@ -76,11 +77,18 @@ func Compact(dst *bytes.Buffer, src []byte) error {
func Indent(dst *bytes.Buffer, src []byte, prefix, indent string) error {
formatter := &lowmemjson.ReEncoder{
- Out: dst,
- Indent: indent,
- Prefix: prefix,
+ Out: dst,
+ Indent: indent,
+ Prefix: prefix,
+ BackslashEscape: lowmemjson.EscapePreserve,
}
_, err := formatter.Write(src)
+ if se, ok := err.(*lowmemjson.ReEncodeSyntaxError); ok {
+ err = &SyntaxError{
+ msg: se.Err.Error(),
+ Offset: se.Offset + 1,
+ }
+ }
return err
}