瀏覽代碼

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