From: <ust...@us...> - 2009-03-30 21:07:07
|
Revision: 2974 http://clucene.svn.sourceforge.net/clucene/?rev=2974&view=rev Author: ustramooner Date: 2009-03-30 21:06:57 +0000 (Mon, 30 Mar 2009) Log Message: ----------- fix memleak Modified Paths: -------------- branches/lucene2_3_2/src/contribs-lib/CLucene/snowball/Snowball.cpp branches/lucene2_3_2/src/contribs-lib/CLucene/snowball/SnowballAnalyzer.h Modified: branches/lucene2_3_2/src/contribs-lib/CLucene/snowball/Snowball.cpp =================================================================== --- branches/lucene2_3_2/src/contribs-lib/CLucene/snowball/Snowball.cpp 2009-03-30 20:57:49 UTC (rev 2973) +++ branches/lucene2_3_2/src/contribs-lib/CLucene/snowball/Snowball.cpp 2009-03-30 21:06:57 UTC (rev 2974) @@ -2,6 +2,7 @@ #include "SnowballAnalyzer.h" #include "SnowballFilter.h" #include "CLucene/util/Misc.h" +#include "CLucene/util/CLStreams.h" #include "CLucene/analysis/Analyzers.h" #include "CLucene/analysis/standard/StandardTokenizer.h" #include "CLucene/analysis/standard/StandardFilter.h" @@ -33,17 +34,22 @@ StopFilter::fillStopTable(stopSet,stopWords); } + TokenStream* SnowballAnalyzer::tokenStream(const TCHAR* fieldName, CL_NS(util)::Reader* reader) { + return this->tokenStream(fieldName,reader,false); + } + /** Constructs a {@link StandardTokenizer} filtered by a {@link StandardFilter}, a {@link LowerCaseFilter} and a {@link StopFilter}. */ - TokenStream* SnowballAnalyzer::tokenStream(const TCHAR* fieldName, CL_NS(util)::Reader* reader) { - TokenStream* result = NULL; - BufferedReader* bufferedReader = reader->__asBufferedReader(); - if ( bufferedReader == NULL ) - result = _CLNEW StandardTokenizer( _CLNEW FilteredBufferedReader(reader, false), true ); - else - result = _CLNEW StandardTokenizer(bufferedReader); + TokenStream* SnowballAnalyzer::tokenStream(const TCHAR* fieldName, CL_NS(util)::Reader* reader, bool deleteReader) { + BufferedReader* bufferedReader = reader->__asBufferedReader(); + TokenStream* result; - result = _CLNEW StandardFilter(result, true); + if ( bufferedReader == NULL ) + result = _CLNEW StandardTokenizer( _CLNEW FilteredBufferedReader(reader, deleteReader), true ); + else + result = _CLNEW StandardTokenizer(bufferedReader, deleteReader); + + result = _CLNEW StandardFilter(result, true); result = _CLNEW CL_NS(analysis)::LowerCaseFilter(result, true); if (stopSet != NULL) result = _CLNEW CL_NS(analysis)::StopFilter(result, true, stopSet); Modified: branches/lucene2_3_2/src/contribs-lib/CLucene/snowball/SnowballAnalyzer.h =================================================================== --- branches/lucene2_3_2/src/contribs-lib/CLucene/snowball/SnowballAnalyzer.h 2009-03-30 20:57:49 UTC (rev 2973) +++ branches/lucene2_3_2/src/contribs-lib/CLucene/snowball/SnowballAnalyzer.h 2009-03-30 21:06:57 UTC (rev 2974) @@ -3,6 +3,7 @@ #include "CLucene/analysis/AnalysisHeader.h" +CL_CLASS_DEF(util,BufferedReader) CL_NS_DEF2(analysis,snowball) /** Filters {@link StandardTokenizer} with {@link StandardFilter}, {@link @@ -29,6 +30,7 @@ /** Constructs a {@link StandardTokenizer} filtered by a {@link StandardFilter}, a {@link LowerCaseFilter} and a {@link StopFilter}. */ TokenStream* tokenStream(const TCHAR* fieldName, CL_NS(util)::Reader* reader); + TokenStream* tokenStream(const TCHAR* fieldName, CL_NS(util)::Reader* reader, bool deleteReader); }; CL_NS_END2 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |