tid->LinkEndChild(XMLCreateCDATAElement("Subject",m_subject));\r
tid->LinkEndChild(XMLCreateCDATAElement("MessageID",m_messageid));\r
tid->LinkEndChild(XMLCreateCDATAElement("ReplyBoard",m_replyboard));\r
- tid->LinkEndChild(XMLCreateCDATAElement("Body",m_body));\r
+ // a little hack because TinyXML doesn't handle ]]> inside a CDATA section - manually separate into multiple CDATA sections\r
+ // TinyXML still won't be able to parse past the 1st CDATA section, but other implementations might\r
+ tid->LinkEndChild(XMLCreateCDATAElement("Body",StringFunctions::Replace(m_body,"]]>","]]]]><![CDATA[>")));\r
\r
TiXmlElement *brds=new TiXmlElement("Boards");\r
tid->LinkEndChild(brds);\r
for(std::vector<std::string>::iterator i=m_boards.begin(); i!=m_boards.end(); i++)\r
{\r
- brds->LinkEndChild(XMLCreateCDATAElement("Board",(*i)));\r
+ std::string boardname=(*i);\r
+ StringFunctions::Convert(boardname,boardname);\r
+ brds->LinkEndChild(XMLCreateCDATAElement("Board",boardname));\r
}\r
\r
if(m_inreplyto.size()>0)\r
if(txt)\r
{\r
m_replyboard=txt->ValueStr();\r
+ StringFunctions::LowerCase(m_replyboard,m_replyboard);\r
}\r
txt=hnd.FirstChild("Message").FirstChild("Body").FirstChild().ToText();\r
if(txt)\r
{\r
if(node2->FirstChild())\r
{\r
- m_boards.push_back(node2->FirstChild()->ValueStr());\r
+ std::string boardname=node2->FirstChild()->ValueStr();\r
+ StringFunctions::LowerCase(boardname,boardname);\r
+ m_boards.push_back(boardname);\r
}\r
node2=node2->NextSibling("Board");\r
}\r