preprocessor: Fixed a null pointer dereference

This commit is contained in:
Daniel Marjamäki 2009-01-16 19:50:39 +00:00
parent 666fc82011
commit a39eaec1cc
1 changed files with 13 additions and 10 deletions

View File

@ -576,23 +576,26 @@ std::string Preprocessor::expandMacros(std::string code)
const Token *tok = tokenizer.tokens();
while (tok && tok->str() != ")")
tok = tok->next();
while ((tok = tok->next()) != NULL)
if (tok)
{
std::string str = tok->str();
if (tok->isName())
while ((tok = tok->next()) != NULL)
{
for (unsigned int i = 0; i < macroparams.size(); ++i)
std::string str = tok->str();
if (tok->isName())
{
if (str == macroparams[i])
for (unsigned int i = 0; i < macroparams.size(); ++i)
{
str = params[i];
break;
if (str == macroparams[i])
{
str = params[i];
break;
}
}
}
macrocode += str;
if (Token::Match(tok, "%type% %var%"))
macrocode += " ";
}
macrocode += str;
if (Token::Match(tok, "%type% %var%"))
macrocode += " ";
}
}