From 3a0ce97e28d4a0c3f3adb53c486130b17794b145 Mon Sep 17 00:00:00 2001 From: Kirill Korotaev Date: Tue, 4 Feb 2020 18:14:50 +0300 Subject: [PATCH] slightly simplify unescapeStringToken() and remove wasEscaped flag --- jlexer/lexer.go | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/jlexer/lexer.go b/jlexer/lexer.go index 62fbcf9..0254862 100644 --- a/jlexer/lexer.go +++ b/jlexer/lexer.go @@ -260,7 +260,6 @@ func findStringLen(data []byte) (isValid bool, length int) { // if no escaping is needed, original string is returned, otherwise - a new one allocated func (r *Lexer) unescapeStringToken() (err error) { data := r.token.byteValue - wasEscaped := false var unescapedData []byte for { @@ -275,9 +274,8 @@ func (r *Lexer) unescapeStringToken() (err error) { return err } - if !wasEscaped { + if unescapedData == nil { unescapedData = make([]byte, 0, len(r.token.byteValue)) - wasEscaped = true } var d [4]byte @@ -288,7 +286,7 @@ func (r *Lexer) unescapeStringToken() (err error) { data = data[i+escapedBytes:] } - if wasEscaped { + if unescapedData != nil { r.token.byteValue = append(unescapedData, data...) r.token.byteValueCloned = true }