From 9327329b0f9374aa8a2a7a51c549d9aa6780c8da Mon Sep 17 00:00:00 2001 From: Laurent <44267323+laurentdong@users.noreply.github.com> Date: Fri, 27 Sep 2019 22:15:42 -0400 Subject: [PATCH] Missed one character previous of closure bracket For example: Var1 = (1+2) will be treat as: Var1 = 1+ --- sonoff/xdrv_10_rules.ino | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sonoff/xdrv_10_rules.ino b/sonoff/xdrv_10_rules.ino index 10f733f56..444904ca0 100644 --- a/sonoff/xdrv_10_rules.ino +++ b/sonoff/xdrv_10_rules.ino @@ -1027,7 +1027,7 @@ bool findNextObjectValue(char * &pointer, float &value) } else if (*pointer == '(') { //It is a sub expression bracketed with () char * closureBracket = findClosureBracket(pointer); //Get the position of closure bracket ")" if (closureBracket != nullptr) { - value = evaluateExpression(pointer+1, closureBracket - pointer - 2); + value = evaluateExpression(pointer+1, closureBracket - pointer - 1); pointer = closureBracket + 1; bSucceed = true; } @@ -1323,7 +1323,7 @@ bool findNextLogicObjectValue(char * &pointer, bool &value) } else if (*pointer == '(') { //It is a sub expression bracketed with () char * closureBracket = findClosureBracket(pointer); //Get the position of closure bracket ")" if (closureBracket != nullptr) { - value = evaluateLogicalExpression(pointer+1, closureBracket - pointer - 2); + value = evaluateLogicalExpression(pointer+1, closureBracket - pointer - 1); pointer = closureBracket + 1; bSucceed = true; }