[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdesupport/strigi/src/sqliteindexer
From:       Alex Merry <huntedhacker () tiscali ! co ! uk>
Date:       2007-04-03 13:19:22
Message-ID: 1175606362.840524.23595.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 649946 by alexmerry:

Should delete the writer data when we are done with it.



 M  +5 -2      sqliteindexwriter.cpp  


--- trunk/kdesupport/strigi/src/sqliteindexer/sqliteindexwriter.cpp #649945:649946
@@ -178,9 +178,10 @@
 */
 void
 SqliteIndexWriter::finishAnalysis(const AnalysisResult* idx) {
+    SqliteWriterData *wdata = static_cast<SqliteWriterData*>(idx->writerData());
     // store the content field
     map<int64_t, map<string, int> >::const_iterator m
-        = content.find(static_cast<SqliteWriterData*>(idx->writerData())->id);
+        = content.find(wdata->id);
 
     if (m == content.end()) {
         return;
@@ -203,7 +204,7 @@
     }
     map<string, int>::const_iterator i = m->second.begin();
     map<string, int>::const_iterator e = m->second.end();
-    sqlite3_bind_int64(stmt, 1, static_cast<SqliteWriterData*>(idx->writerData())->id);
+    sqlite3_bind_int64(stmt, 1, wdata->id);
     for (; i!=e; ++i) {
         sqlite3_bind_text(stmt, 2, i->first.c_str(), i->first.length(),
             SQLITE_STATIC);
@@ -219,6 +220,8 @@
     sqlite3_finalize(stmt);
     manager->deref();
     content.erase(m->first);
+    delete wdata;
+    idx->setWriterData(0);
 }
 void
 SqliteIndexWriter::commit() {
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic