فهرست منبع

Added missing XmlParser::parseMemory() in ExpatXmlParser.cc

Tatsuhiro Tsujikawa 14 سال پیش
والد
کامیت
f9dd59eebd
1فایلهای تغییر یافته به همراه11 افزوده شده و 0 حذف شده
  1. 11 0
      src/ExpatXmlParser.cc

+ 11 - 0
src/ExpatXmlParser.cc

@@ -218,4 +218,15 @@ bool XmlParser::parseBinaryStream(BinaryStream* bs)
   return XML_Parse(parser, 0, 0, 1) != XML_STATUS_ERROR && psm_->finished();
 }
 
+bool XmlParser::parseMemory(const char* xml, size_t size)
+{
+  SessionData sessionData(psm_);
+  XML_Parser parser = createParser(&sessionData);
+  auto_delete<XML_Parser> deleter(parser, XML_ParserFree);
+  if(XML_Parse(parser, xml, size, 0) == XML_STATUS_ERROR) {
+    return false;
+  }
+  return XML_Parse(parser, 0, 0, 1) != XML_STATUS_ERROR && psm_->finished();
+}
+
 } // namespace aria2