Tokenizer::simplifyQuestionMark: use links instead of indentation level number.

This commit is contained in:
Edoardo Prezioso 2012-01-26 17:55:22 +01:00
parent 6e164ae7ed
commit b6763313c5
1 changed files with 8 additions and 13 deletions

View File

@ -4646,19 +4646,14 @@ bool Tokenizer::simplifyQuestionMark()
// Find the ":" token.. // Find the ":" token..
Token *semicolon = 0; Token *semicolon = 0;
{ for (Token *tok2 = tok; tok2; tok2 = tok2->next()) {
unsigned int parlevel = 0; if (tok2->str() == "(" || tok2->str() == "[")
for (Token *tok2 = tok; tok2; tok2 = tok2->next()) { tok2 = tok2->link();
if (tok2->str() == "(") else if (tok2->str() == ")" || tok2->str() == "]")
++parlevel; break;
else if (tok2->str() == ")") { else if (tok2->str() == ":") {
if (parlevel == 0) semicolon = tok2;
break; break;
--parlevel;
} else if (parlevel == 0 && tok2->str() == ":") {
semicolon = tok2;
break;
}
} }
} }
if (!semicolon || !semicolon->next()) if (!semicolon || !semicolon->next())