stringLiteralWrite: only check in function scopes

This commit is contained in:
Daniel Marjamäki 2015-05-10 10:34:13 +02:00
parent 96891dface
commit 075b07fb6c
1 changed files with 15 additions and 10 deletions

View File

@ -34,7 +34,11 @@ namespace {
//---------------------------------------------------------------------------
void CheckString::stringLiteralWrite()
{
for (const Token* tok = _tokenizer->tokens(); tok; tok = tok->next()) {
const SymbolDatabase *symbolDatabase = _tokenizer->getSymbolDatabase();
const std::size_t functions = symbolDatabase->functionScopes.size();
for (std::size_t i = 0; i < functions; ++i) {
const Scope * scope = symbolDatabase->functionScopes[i];
for (const Token* tok = scope->classStart->next(); tok != scope->classEnd; tok = tok->next()) {
if (!tok->variable() || !tok->variable()->isPointer())
continue;
const Token *str = tok->getValueTokenMinStrSize();
@ -46,6 +50,7 @@ void CheckString::stringLiteralWrite()
stringLiteralWriteError(tok);
}
}
}
void CheckString::stringLiteralWriteError(const Token *tok)
{