diff options
| author | Petr Mrázek | 2011-11-04 09:08:29 +0100 |
|---|---|---|
| committer | Petr Mrázek | 2011-11-04 09:08:29 +0100 |
| commit | af46b262b532400d1ff0ce176a969aa6d397193d (patch) | |
| tree | 74380908f0eef2d84c0b53a857d4c89d34584327 /library/VersionInfoFactory.cpp | |
| parent | 0ff7a48848945583f00671b1da9bbd9d16e1f33f (diff) | |
| download | dfhack-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.cpp | 10 |
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; } |
