From 386834b2f13421171b26322e04b119c4e4d0a8fd Mon Sep 17 00:00:00 2001 From: Nick Hildenbrandt Date: Mon, 30 Sep 2002 21:11:55 +0000 Subject: [PATCH] Fixed to properly escape quotes in strings. llvm-svn: 3991 --- llvm/lib/CWriter/Writer.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/llvm/lib/CWriter/Writer.cpp b/llvm/lib/CWriter/Writer.cpp index e54d45751255..8b7aba9398ac 100644 --- a/llvm/lib/CWriter/Writer.cpp +++ b/llvm/lib/CWriter/Writer.cpp @@ -287,7 +287,10 @@ void CWriter::printConstantArray(ConstantArray *CPA) { (unsigned char)cast(CPA->getOperand(i))->getValue(); if (isprint(C)) { - Out << C; + if (C == '"') + Out << "\\\""; + else + Out << C; } else { switch (C) { case '\n': Out << "\\n"; break; @@ -295,6 +298,8 @@ void CWriter::printConstantArray(ConstantArray *CPA) { case '\r': Out << "\\r"; break; case '\v': Out << "\\v"; break; case '\a': Out << "\\a"; break; + case '\"': Out << "\\\""; break; + case '\'': Out << "\\\'"; break; default: Out << "\\x"; Out << ( C/16 < 10) ? ( C/16 +'0') : ( C/16 -10+'A');