Add double backslash as a literal escape for a single backslash

Fixes #1692
This commit is contained in:
Kris Shannon 2023-10-05 18:02:36 +11:00 committed by GitHub
parent d113344abf
commit 297c230353
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -369,8 +369,8 @@ func stringValue() yqAction {
log.Debug("rawTokenvalue: %v", rawToken.Value) log.Debug("rawTokenvalue: %v", rawToken.Value)
value := unwrap(rawToken.Value) value := unwrap(rawToken.Value)
log.Debug("unwrapped: %v", value) log.Debug("unwrapped: %v", value)
value = strings.ReplaceAll(value, "\\\"", "\"") replacer := strings.NewReplacer("\\\\", "\\", "\\\"", "\"", "\\n", "\n")
value = strings.ReplaceAll(value, "\\n", "\n") value = replacer.Replace(value)
log.Debug("replaced: %v", value) log.Debug("replaced: %v", value)
return &token{TokenType: operationToken, Operation: createValueOperation(value, value)}, nil return &token{TokenType: operationToken, Operation: createValueOperation(value, value)}, nil
} }