fmt: fix backslash doubling in attribute string args (#9175)
parent
053d6870d2
commit
6048d0e974
|
@ -1,3 +1,8 @@
|
||||||
|
struct AttrsWithEscpaedStringArgs {
|
||||||
|
dollar string [foo: '\$var']
|
||||||
|
double_bs string [bar: '\\baz']
|
||||||
|
}
|
||||||
|
|
||||||
[deprecated: 'use bar() instead']
|
[deprecated: 'use bar() instead']
|
||||||
[foo: bar]
|
[foo: bar]
|
||||||
[if debug; inline]
|
[if debug; inline]
|
||||||
|
|
|
@ -29,9 +29,7 @@ pub fn (attr Attr) str() string {
|
||||||
if attr.arg.len > 0 {
|
if attr.arg.len > 0 {
|
||||||
s += ': '
|
s += ': '
|
||||||
if attr.is_string_arg {
|
if attr.is_string_arg {
|
||||||
mut a := attr.arg.replace('\\', '\\\\')
|
a := attr.arg.replace("'", "\\'")
|
||||||
// FIXME: other escapes e.g. \r\n
|
|
||||||
a = a.replace("'", "\\'")
|
|
||||||
s += "'$a'"
|
s += "'$a'"
|
||||||
} else {
|
} else {
|
||||||
s += attr.arg
|
s += attr.arg
|
||||||
|
|
Loading…
Reference in New Issue