X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ffreenet%2Fmessagexml.cpp;h=4b3252a287f988a838f41fb955d9d274aa84b9c0;hb=4430e7762844c66428b6f822288beb71b7f82b95;hp=8de30771d35b69cdfb9a3e3a28bdd5df0b3260ae;hpb=b9c3763a932cebaa015a27fe111017f6f34dfbaa;p=fms.git diff --git a/src/freenet/messagexml.cpp b/src/freenet/messagexml.cpp index 8de3077..4b3252a 100644 --- a/src/freenet/messagexml.cpp +++ b/src/freenet/messagexml.cpp @@ -25,7 +25,9 @@ std::string MessageXML::GetXML() tid->LinkEndChild(XMLCreateCDATAElement("Subject",m_subject)); tid->LinkEndChild(XMLCreateCDATAElement("MessageID",m_messageid)); tid->LinkEndChild(XMLCreateCDATAElement("ReplyBoard",m_replyboard)); - tid->LinkEndChild(XMLCreateCDATAElement("Body",m_body)); + // a little hack because TinyXML doesn't handle ]]> inside a CDATA section - manually separate into multiple CDATA sections + // TinyXML still won't be able to parse past the 1st CDATA section, but other implementations might + tid->LinkEndChild(XMLCreateCDATAElement("Body",StringFunctions::Replace(m_body,"]]>","]]]]>"))); TiXmlElement *brds=new TiXmlElement("Boards"); tid->LinkEndChild(brds); @@ -111,7 +113,9 @@ const bool MessageXML::ParseXML(const std::string &xml) { if(node2->FirstChild()) { - m_boards.push_back(node2->FirstChild()->ValueStr()); + std::string boardname=node2->FirstChild()->ValueStr(); + StringFunctions::LowerCase(boardname,boardname); + m_boards.push_back(boardname); } node2=node2->NextSibling("Board"); }