From bddb7cb26263ae12c14f9231ede2215d8ba87b4e Mon Sep 17 00:00:00 2001 From: rdb Date: Thu, 28 Mar 2024 22:17:49 +0100 Subject: [PATCH] cppparser: fix escaping of string literals in preprocessor mode [skip ci] --- dtool/src/cppparser/cppToken.cxx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/dtool/src/cppparser/cppToken.cxx b/dtool/src/cppparser/cppToken.cxx index a911df5f6f..167ae577cf 100644 --- a/dtool/src/cppparser/cppToken.cxx +++ b/dtool/src/cppparser/cppToken.cxx @@ -736,7 +736,11 @@ output_code(std::ostream &out) const { break; case '\'': - out << "\\\'"; + out << (_token == CHAR_TOK ? "\\\'" : "'"); + break; + + case '"': + out << (_token == CHAR_TOK ? "\"" : "\\\""); break; case '\\':