aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sources/shiboken2/generator/shiboken2/cppgenerator.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/sources/shiboken2/generator/shiboken2/cppgenerator.cpp b/sources/shiboken2/generator/shiboken2/cppgenerator.cpp
index 4c637e701..840318020 100644
--- a/sources/shiboken2/generator/shiboken2/cppgenerator.cpp
+++ b/sources/shiboken2/generator/shiboken2/cppgenerator.cpp
@@ -4983,8 +4983,13 @@ void CppGenerator::writeSignatureStrings(QTextStream &s,
s << "// Multiple signatures have their index \"n:\" in front.\n";
s << "static const char *" << arrayName << "_SignatureStrings[] = {\n";
QString line;
- while (signatureStream.readLineInto(&line))
- s << INDENT << "R\"CPP(" << line << ")CPP\",\n";
+ while (signatureStream.readLineInto(&line)) {
+ // must anything be escaped?
+ if (line.contains(QLatin1Char('"')) || line.contains(QLatin1Char('\\')))
+ s << INDENT << "R\"CPP(" << line << ")CPP\",\n";
+ else
+ s << INDENT << '"' << line << "\",\n";
+ }
s << INDENT << NULL_PTR << "}; // Sentinel\n\n";
}