| Index: tools/gn/xml_element_writer.cc
|
| diff --git a/tools/gn/xml_element_writer.cc b/tools/gn/xml_element_writer.cc
|
| index fcf34b283cce6ad473f29f6a745be78ff4062e38..bb0d23262157fc58e744cfc981a8ebf264d862f6 100644
|
| --- a/tools/gn/xml_element_writer.cc
|
| +++ b/tools/gn/xml_element_writer.cc
|
| @@ -81,3 +81,35 @@ std::ostream& XmlElementWriter::StartContent(bool start_new_line) {
|
|
|
| return out_;
|
| }
|
| +
|
| +std::string XmlEscape(const std::string& value) {
|
| + std::string result;
|
| + for (char c : value) {
|
| + switch (c) {
|
| + case '\n':
|
| + result += " ";
|
| + break;
|
| + case '\r':
|
| + result += " ";
|
| + break;
|
| + case '\t':
|
| + result += "	";
|
| + break;
|
| + case '"':
|
| + result += """;
|
| + break;
|
| + case '<':
|
| + result += "<";
|
| + break;
|
| + case '>':
|
| + result += ">";
|
| + break;
|
| + case '&':
|
| + result += "&";
|
| + break;
|
| + default:
|
| + result += c;
|
| + }
|
| + }
|
| + return result;
|
| +}
|
|
|