From 45278eadc781238b28329b3dcff5aef6d4066a10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Marjam=C3=A4ki?= Date: Sat, 4 Jan 2014 21:23:17 +0100 Subject: [PATCH] value flow: fixed bugs --- lib/valueflow.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/valueflow.cpp b/lib/valueflow.cpp index aa97159a2..0dae7a7d8 100644 --- a/lib/valueflow.cpp +++ b/lib/valueflow.cpp @@ -28,6 +28,7 @@ static void valueFlowBeforeCondition(Token *tokens) if (Token::Match(tok, "==|!=|>=|<=") && tok->astOperand2()) { if (tok->astOperand1()->isName() && tok->astOperand2()->isNumber()) { varid = tok->astOperand1()->varId(); + num = MathLib::toLongNumber(tok->astOperand2()->str()); } else if (tok->astOperand1()->isNumber() && tok->astOperand2()->isName()) { varid = tok->astOperand2()->varId(); num = MathLib::toLongNumber(tok->astOperand1()->str()); @@ -50,7 +51,7 @@ static void valueFlowBeforeCondition(Token *tokens) struct ValueFlow::Value val; val.link = tok; - val.intvalue = MathLib::toLongNumber(tok->astOperand2()->str()); + val.intvalue = num; for (Token *tok2 = tok->previous(); tok2; tok2 = tok2->previous()) { if (tok2->varId() == varid)