gschemtoxschem.awk: make backslash insertion in gsub commands portable across awk implementations

This commit is contained in:
Stefan Frederik 2021-10-12 11:53:13 +02:00
parent fa3be90aa3
commit 41419350ac
1 changed files with 6 additions and 5 deletions

View File

@ -266,8 +266,9 @@ FNR==1{
}
}
gsub(/ /, "\\\\ ", $0)
gsub(/ /, "\\\\\\\\ ", $0) # prefix spaces with double backslash
propstring = propstring $0 "\n"
print propstring > "/dev/stderr"
}
getline
}
@ -343,8 +344,8 @@ FNR==1{
pinseq++
if(value > max_pinseq) max_pinseq = value
}
gsub(/\\/, "\\\\\\\\", value)
gsub(/ /, "\\\\ ", value)
gsub(/\\/, "\\\\\\\\", value) # replace single slash with double backslash.
gsub(/ /, "\\\\\\\\ ", value) # prefix spaces with double backslash
gsub(/\\_/, "_", value)
pin_attr[pin_idx, nattr] = attr
pin_value[pin_idx, nattr] = value
@ -375,9 +376,9 @@ function escape_chars(s, a, b)
sub(/.*=/,"",b)
if(s!~/=/) b = ""
sub(/"/, "\\\\", b)
sub(/"/, "\\\\\\\\", b) # prefix " with 2 backslashes
if(b ~ / /) {
b = "\\\\\"" b "\\\\\""
b = "\\\\\"" b "\\\\\"" # escape " inside string with 2 backslashes
}
s = a "=" b
return s