From 597811093cbfa7ec3a62397a65d97da8ac5a6c76 Mon Sep 17 00:00:00 2001 From: Joe Conigliaro Date: Fri, 13 Mar 2020 00:21:43 +1100 Subject: [PATCH] parser/cgen: fix order of escape replacements --- vlib/compiler/aparser.v | 4 ++-- vlib/v/gen/cgen.v | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/vlib/compiler/aparser.v b/vlib/compiler/aparser.v index 90ba8e10fe..1941329577 100644 --- a/vlib/compiler/aparser.v +++ b/vlib/compiler/aparser.v @@ -2595,8 +2595,8 @@ fn (p mut Parser) char_expr() { fn format_str(_str string) string { // TODO don't call replace 3 times for every string, do this in scanner.v return _str.replace_each(['"', '\\"', - '\n', '\\n', - '\r\n', '\\n']) + '\r\n', '\\n', + '\n', '\\n']) } // m := map[string]int{} diff --git a/vlib/v/gen/cgen.v b/vlib/v/gen/cgen.v index 8357aad43c..7e43fb64dd 100644 --- a/vlib/v/gen/cgen.v +++ b/vlib/v/gen/cgen.v @@ -810,8 +810,8 @@ fn (g mut Gen) expr(node ast.Expr) { // In C calls we have to generate C strings // `C.printf("hi")` => `printf("hi");` escaped_val := it.val.replace_each(['"', '\\"', - '\n', '\\n', - '\r\n', '\\n']) + '\r\n', '\\n', + '\n', '\\n']) if g.is_c_call { g.write('"$escaped_val"') }