summaryrefslogtreecommitdiff
path: root/tools/generation/lib/template.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/generation/lib/template.py')
-rw-r--r--tools/generation/lib/template.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/tools/generation/lib/template.py b/tools/generation/lib/template.py
index fa891f00b..66ef84071 100644
--- a/tools/generation/lib/template.py
+++ b/tools/generation/lib/template.py
@@ -78,6 +78,13 @@ class Template:
for region in self.regions:
whitespace = indentPattern.match(lines[region['lineno']]).group(1)
value = context['regions'].get(region['name'], '')
+
+ str_char = region.get('in_string')
+ if str_char:
+ safe_char = '"' if str_char == '\'' else '\''
+ value = value.replace(str_char, safe_char)
+ value = value.replace('\n', '\\\n')
+
source = source[:region['firstchar']] + \
indent(value, whitespace).lstrip() + \
source[region['lastchar']:]