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();
if (_settings._force || _settings._maxConfigs > 1) {
unsigned long long checksum = _tokenizer.list.calculateChecksum(); unsigned long long checksum = _tokenizer.list.calculateChecksum();
if (checksums.find(checksum) != checksums.end()) if (checksums.find(checksum) != checksums.end())
return false; return false;
checksums.insert(checksum); checksums.insert(checksum);
}
if (!result) { if (!result) {
// File had syntax errors, abort // File had syntax errors, abort