BUG#92 - Added XML escaping for <, >, and &.

This commit is contained in:
Brad King 2003-08-05 16:04:53 -04:00
parent 2799e2c66b
commit 8830b45b88
1 changed files with 9 additions and 0 deletions

View File

@ -1022,6 +1022,9 @@ std::string cmLocalVisualStudio7Generator::EscapeForXML(const char* s)
{ {
std::string ret = s; std::string ret = s;
cmSystemTools::ReplaceString(ret, "\"", "&quot;"); cmSystemTools::ReplaceString(ret, "\"", "&quot;");
cmSystemTools::ReplaceString(ret, "&", "&amp;");
cmSystemTools::ReplaceString(ret, "<", "&lt;");
cmSystemTools::ReplaceString(ret, ">", "&gt;");
return ret; return ret;
} }
@ -1029,6 +1032,9 @@ std::string cmLocalVisualStudio7Generator::ConvertToXMLOutputPath(const char* pa
{ {
std::string ret = cmSystemTools::ConvertToOutputPath(path); std::string ret = cmSystemTools::ConvertToOutputPath(path);
cmSystemTools::ReplaceString(ret, "\"", "&quot;"); cmSystemTools::ReplaceString(ret, "\"", "&quot;");
cmSystemTools::ReplaceString(ret, "&", "&amp;");
cmSystemTools::ReplaceString(ret, "<", "&lt;");
cmSystemTools::ReplaceString(ret, ">", "&gt;");
return ret; return ret;
} }
@ -1036,6 +1042,9 @@ std::string cmLocalVisualStudio7Generator::ConvertToXMLOutputPathSingle(const ch
{ {
std::string ret = cmSystemTools::ConvertToOutputPath(path); std::string ret = cmSystemTools::ConvertToOutputPath(path);
cmSystemTools::ReplaceString(ret, "\"", ""); cmSystemTools::ReplaceString(ret, "\"", "");
cmSystemTools::ReplaceString(ret, "&", "&amp;");
cmSystemTools::ReplaceString(ret, "<", "&lt;");
cmSystemTools::ReplaceString(ret, ">", "&gt;");
return ret; return ret;
} }