diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2007-12-14 00:46:32 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2007-12-14 00:46:32 +0000 |
| commit | 3ea4fe447a2c7234273548a3b8bc1905cc0fc60b (patch) | |
| tree | f61df2a97b7ed278381d92971b342ab1c0109031 /src/MetalinkHelper.cc | |
| parent | e870ab2622a2d28b3fe0de721fc46b1f2a7f9dd9 (diff) | |
2007-12-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Fixed possible memory leak when an exception is thrown.
* src/XML2SAXMetalinkProcessor.cc
Added Expat support. If both libxml2 and Expat are installed,
then
libxml2 is used by default.
MetalinkProcessorFactory chooses from XML2SAXMetalinkProcessor
and
ExpatMetalinkProcessor according to the configuration.
* src/ExpatMetalinkProcessor.{h, cc}
* src/main.cc: Removed libxml2 specific header and init/free
function.
* src/MetalinkProcessorFactory.{h, cc}
* src/MetalinkHelper.cc
* src/Metalinker.h: Removed unnecessary libxml2 header.
* src/MetalinkProcessor.h
* test/XML2SAXMetalinkProcessorTest.cc: Removed because
MetalinkProcessorTest is used instead.
* test/MetalinkProcessorTest.cc: Added. It is actually the same
with
XML2SAXMetalinkProcessor, replaced XML2SAXMetalinkProcessor with
MetalinkProcessorFactory::newInstance().
* m4/libexpat.m4
* configure.ac: Added configuration options for libexpat.
Diffstat (limited to 'src/MetalinkHelper.cc')
| -rw-r--r-- | src/MetalinkHelper.cc | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/MetalinkHelper.cc b/src/MetalinkHelper.cc index fb36505c..9f269367 100644 --- a/src/MetalinkHelper.cc +++ b/src/MetalinkHelper.cc @@ -35,7 +35,7 @@ #include "MetalinkHelper.h" #include "Option.h" #include "MetalinkEntry.h" -#include "XML2SAXMetalinkProcessor.h" +#include "MetalinkProcessorFactory.h" #include "MetalinkParserStateMachine.h" #include "Metalinker.h" #include "prefs.h" @@ -48,17 +48,17 @@ MetalinkHelper::~MetalinkHelper() {} MetalinkEntries MetalinkHelper::parseAndQuery(const string& filename, const Option* option) { - XML2SAXMetalinkProcessor proc; + MetalinkProcessorHandle proc = MetalinkProcessorFactory::newInstance(); - MetalinkerHandle metalinker = proc.parseFile(filename); + MetalinkerHandle metalinker = proc->parseFile(filename); return query(metalinker, option); } MetalinkEntries MetalinkHelper::parseAndQuery(const BinaryStreamHandle& binaryStream, const Option* option) { - XML2SAXMetalinkProcessor proc; + MetalinkProcessorHandle proc = MetalinkProcessorFactory::newInstance(); - MetalinkerHandle metalinker = proc.parseFromBinaryStream(binaryStream); + MetalinkerHandle metalinker = proc->parseFromBinaryStream(binaryStream); return query(metalinker, option); } |
