From c76a155174c841a9f85b5a73682c5b090af739d1 Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Fri, 11 Jan 2019 17:43:27 -0800 Subject: [PATCH] Fix escaping of characters in C strings --- cli/src/generate/render.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/cli/src/generate/render.rs b/cli/src/generate/render.rs index 55bfbfa2..a3e20536 100644 --- a/cli/src/generate/render.rs +++ b/cli/src/generate/render.rs @@ -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 }