From c1fd47809dc6951abb38c1671e78792aa8944f94 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Wed, 27 Feb 2008 15:04:42 +0000 Subject: [PATCH] 2008-02-27 Tatsuhiro Tsujikawa Fixed compilation error * src/ExpatMetalinkProcessor.cc --- ChangeLog | 5 +++++ src/ExpatMetalinkProcessor.cc | 38 ++++++++++++++++++++--------------- 2 files changed, 27 insertions(+), 16 deletions(-) diff --git a/ChangeLog b/ChangeLog index 65b345c7..e724510d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-02-27 Tatsuhiro Tsujikawa + + Fixed compilation error + * src/ExpatMetalinkProcessor.cc + 2008-02-27 Tatsuhiro Tsujikawa Fixed compile error on Mac OS X, on 64Bit OS maybe. diff --git a/src/ExpatMetalinkProcessor.cc b/src/ExpatMetalinkProcessor.cc index cd162e88..7de3c7f0 100644 --- a/src/ExpatMetalinkProcessor.cc +++ b/src/ExpatMetalinkProcessor.cc @@ -33,35 +33,37 @@ */ /* copyright --> */ #include "ExpatMetalinkProcessor.h" -#include "BinaryStream.h" +#include "DefaultDiskWriter.h" #include "MetalinkParserStateMachine.h" +#include "Metalinker.h" +#include "MetalinkEntry.h" #include "Util.h" #include "message.h" -#include "DefaultDiskWriter.h" +#include "DlAbortEx.h" + +namespace aria2 { class SessionData { public: - MetalinkParserStateMachineHandle _stm; + SharedHandle _stm; - Strings _charactersStack; + std::deque _charactersStack; - SessionData(const MetalinkParserStateMachineHandle& stm):_stm(stm) {} + SessionData(const SharedHandle& stm):_stm(stm) {} }; -typedef SharedHandle SessionDataHandle; - static void mlStartElement(void* userData, const char* name, const char** attrs) { - ((SessionData*)userData)->_charactersStack.push_front(string()); - map attrmap; + ((SessionData*)userData)->_charactersStack.push_front(std::string()); + std::map attrmap; if(attrs) { const char** p = attrs; while(*p != 0) { - string name = *p++; + std::string name = *p++; if(*p == 0) { break; } - string value = Util::trim(*p++); + std::string value = Util::trim(*p++); attrmap[name] = value; } } @@ -78,7 +80,7 @@ static void mlEndElement(void* userData, const char* name) static void mlCharacters(void* userData, const char* ch, int len) { - ((SessionData*)userData)->_charactersStack.front() += string(&ch[0], &ch[len]); + ((SessionData*)userData)->_charactersStack.front() += std::string(&ch[0], &ch[len]); } ExpatMetalinkProcessor::ExpatMetalinkProcessor(): @@ -86,21 +88,23 @@ ExpatMetalinkProcessor::ExpatMetalinkProcessor(): {} -MetalinkerHandle ExpatMetalinkProcessor::parseFile(const string& filename) +SharedHandle +ExpatMetalinkProcessor::parseFile(const std::string& filename) { - DefaultDiskWriterHandle dw = new DefaultDiskWriter(); + SharedHandle dw = new DefaultDiskWriter(); dw->openExistingFile(filename); return parseFromBinaryStream(dw); } -MetalinkerHandle ExpatMetalinkProcessor::parseFromBinaryStream(const BinaryStreamHandle& binaryStream) +SharedHandle +ExpatMetalinkProcessor::parseFromBinaryStream(const SharedHandle& binaryStream) { _stm = new MetalinkParserStateMachine(); int32_t bufSize = 4096; unsigned char buf[bufSize]; - SessionDataHandle sessionData = new SessionData(_stm); + SharedHandle sessionData = new SessionData(_stm); XML_Parser parser = XML_ParserCreate(0); try { XML_SetUserData(parser, sessionData.get()); @@ -131,3 +135,5 @@ MetalinkerHandle ExpatMetalinkProcessor::parseFromBinaryStream(const BinaryStrea } return _stm->getResult(); } + +} // namespace aria2