Fix escaping of characters in C strings

This commit is contained in:
Max Brunsfeld 2019-01-11 17:43:27 -08:00
parent 1468b349b5
commit c76a155174

View file

@ -931,10 +931,14 @@ impl Generator {
fn sanitize_string(&self, name: &str) -> String {
let mut result = String::with_capacity(name.len());
for c in name.chars() {
if ['\\', '\n', '\r', '\"'].contains(&c) {
result.push('\\');
match c {
'\"' => result += "\\\"",
'\\' => result += "\\\\",
'\t' => result += "'\\t'",
'\n' => result += "'\\n'",
'\r' => result += "'\\r'",
_ => result.push(c),
}
result.push(c);
}
result
}