2008-08-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>

Fixed memory leak
	* src/Dictionary.cc
pull/1/head
Tatsuhiro Tsujikawa 2008-08-07 14:13:21 +00:00
parent 52f4cbbc20
commit 4eacf0436a
2 changed files with 11 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2008-08-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Fixed memory leak
* src/Dictionary.cc
2008-08-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> 2008-08-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Fixed memory leak Fixed memory leak

View File

@ -67,8 +67,12 @@ void Dictionary::put(const std::string& name, MetaEntry* entry) {
void Dictionary::remove(const std::string& name) void Dictionary::remove(const std::string& name)
{ {
table.erase(name); std::map<std::string, MetaEntry*>::iterator i = table.find(name);
if(i != table.end()) {
delete i->second;
table.erase(i);
order.erase(std::remove(order.begin(), order.end(), name), order.end()); order.erase(std::remove(order.begin(), order.end(), name), order.end());
}
} }
void Dictionary::accept(MetaEntryVisitor* v) const { void Dictionary::accept(MetaEntryVisitor* v) const {