Calculate checksum only if necessary (#6129)

This commit is contained in:
PKEuS 2014-09-05 11:05:21 +02:00
parent 5260d0dd65
commit 4940da06c0
1 changed files with 6 additions and 4 deletions

View File

@ -360,10 +360,12 @@ bool CppCheck::checkFile(const std::string &code, const char FileName[], std::se
result = _tokenizer.tokenize(istr, FileName, cfg); result = _tokenizer.tokenize(istr, FileName, cfg);
timer.Stop(); timer.Stop();
unsigned long long checksum = _tokenizer.list.calculateChecksum(); if (_settings._force || _settings._maxConfigs > 1) {
if (checksums.find(checksum) != checksums.end()) unsigned long long checksum = _tokenizer.list.calculateChecksum();
return false; if (checksums.find(checksum) != checksums.end())
checksums.insert(checksum); return false;
checksums.insert(checksum);
}
if (!result) { if (!result) {
// File had syntax errors, abort // File had syntax errors, abort