summaryrefslogtreecommitdiff
path: root/library/VersionInfoFactory.cpp
diff options
context:
space:
mode:
authorPetr Mrázek2011-11-04 09:08:29 +0100
committerPetr Mrázek2011-11-04 09:08:29 +0100
commitaf46b262b532400d1ff0ce176a969aa6d397193d (patch)
tree74380908f0eef2d84c0b53a857d4c89d34584327 /library/VersionInfoFactory.cpp
parent0ff7a48848945583f00671b1da9bbd9d16e1f33f (diff)
downloaddfhack-af46b262b532400d1ff0ce176a969aa6d397193d.tar.gz
dfhack-af46b262b532400d1ff0ce176a969aa6d397193d.tar.bz2
dfhack-af46b262b532400d1ff0ce176a969aa6d397193d.tar.xz
More init hardening.
Diffstat (limited to 'library/VersionInfoFactory.cpp')
-rw-r--r--library/VersionInfoFactory.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/library/VersionInfoFactory.cpp b/library/VersionInfoFactory.cpp
index 2c9bb320..b2ec00d9 100644
--- a/library/VersionInfoFactory.cpp
+++ b/library/VersionInfoFactory.cpp
@@ -97,20 +97,25 @@ inline bool operator>=(const triple<_T1, _T2, _T3>& __x, const triple<_T1, _T2,
return !(__x < __y);
}
-VersionInfoFactory::VersionInfoFactory(string path_to_xml)
+VersionInfoFactory::VersionInfoFactory()
{
error = false;
- loadFile(path_to_xml);
}
VersionInfoFactory::~VersionInfoFactory()
{
+ clear();
+}
+void VersionInfoFactory::clear(void)
+{
// for each stored version, delete
for(uint32_t i = 0; i < versions.size();i++)
{
delete versions[i];
}
versions.clear();
+ knownVersions.clear();
+ error = false;
}
VersionInfo * VersionInfoFactory::getVersionInfoByMD5(string hash)
@@ -768,5 +773,6 @@ bool VersionInfoFactory::loadFile(string path_to_xml)
}
}
error = false;
+ std::cerr << "Loaded " << versions.size() << " DF versions." << std::endl;
return true;
}