diff --git a/lib/checkcondition.cpp b/lib/checkcondition.cpp index a131b3a01..3e3eb2656 100644 --- a/lib/checkcondition.cpp +++ b/lib/checkcondition.cpp @@ -87,15 +87,15 @@ bool CheckCondition::assignIfParseScope(const Token * const assignTok, bool ret = false; for (const Token *tok2 = startTok; tok2; tok2 = tok2->next()) { - if (Token::Match(tok2->tokAt(2), "%varid% %cop% %num% ;", varid) && tok2->strAt(3) == std::string(1U, bitop)) { + if ((bitop == '&') && Token::Match(tok2->tokAt(2), "%varid% %cop% %num% ;", varid) && tok2->strAt(3) == std::string(1U, bitop)) { const MathLib::bigint num2 = MathLib::toLongNumber(tok2->strAt(4)); - if ((bitop == '&') && (0 == (num & num2))) + if (0 == (num & num2)) mismatchingBitAndError(assignTok, num, tok2, num2); } if (Token::Match(tok2, "%varid% =", varid)) { - if (Token::Match(tok2->tokAt(2), "%varid% %cop% %num% ;", varid) && tok2->strAt(3) == std::string(1U, bitop)) { + if ((bitop == '&') && Token::Match(tok2->tokAt(2), "%varid% %cop% %num% ;", varid) && tok2->strAt(3) == std::string(1U, bitop)) { const MathLib::bigint num2 = MathLib::toLongNumber(tok2->strAt(4)); - if ((bitop == '&') && (0 == (num & num2))) + if (0 == (num & num2)) mismatchingBitAndError(assignTok, num, tok2, num2); } return true;