This commit is contained in:
Florent Le Coz
2013-11-09 06:29:15 +01:00
parent ccebe901d7
commit af5548897a
+20 -8
View File
@@ -5,20 +5,32 @@
std::string xml_escape(const std::string& data) std::string xml_escape(const std::string& data)
{ {
std::string res; std::string res;
buffer.reserve(data.size()); res.reserve(data.size());
for (size_t pos = 0; pos != data.size(); ++pos) for (size_t pos = 0; pos != data.size(); ++pos)
{ {
switch(data[pos]) switch(data[pos])
{ {
case '&': buffer += "&"; break; case '&':
case '\"': buffer += """; break; res += "&";
case '\'': buffer += "'"; break; break;
case '<': buffer += "&lt;"; break; case '<':
case '>': buffer += "&gt;"; break; res += "&lt;";
default: buffer += data[pos]; break; break;
case '>':
res += "&gt;";
break;
case '\"':
res += "&quot;";
break;
case '\'':
res += "&apos;";
break;
default:
res += data[pos];
break;
} }
} }
return buffer; return res;
} }