From 533b69e54b4be086f50bc41afecc6ee5d5af2cc4 2021-05-31 14:37:03 From: MH Date: 2021-05-31 14:37:03 Subject: [PATCH] Fix to escaped character parsing --- diff --git a/src/protocol/parser/token_parsing.rs b/src/protocol/parser/token_parsing.rs index e9b7422aec9b5ef69994b070ea6d626241f302b8..6e43569461ecc32ceffc4df90fbfb7d746a59748 100644 --- a/src/protocol/parser/token_parsing.rs +++ b/src/protocol/parser/token_parsing.rs @@ -403,16 +403,18 @@ pub(crate) fn consume_string_literal( let mut was_escape = false; for idx in 1..text.len() - 1 { let cur = text[idx]; - if cur != b'\\' { - if was_escape { - let to_push = parse_escaped_character(source, span, cur)?; - buffer.push(to_push); - } else { - buffer.push(cur as char); - } + let is_escape = cur == b'\\'; + if was_escape { + let to_push = parse_escaped_character(source, span, cur)?; + buffer.push(to_push); + } else { + buffer.push(cur as char); + } + + if was_escape && is_escape { was_escape = false; } else { - was_escape = true; + was_escape = is_escape; } }