Lines Matching refs:condition

152 static int CompareValue(const char *condition, const char *value)  in CompareValue()  argument
154 if (strcmp(condition, "*") == 0) { in CompareValue()
157 if (strcmp(condition, value) == 0) { in CompareValue()
160 char *tmp = strstr(condition, "*"); in CompareValue()
161 if (tmp != NULL && (strncmp(value, condition, tmp - condition) == 0)) { in CompareValue()
167 … int ComputeSubCondition(const LogicCalculator *calculator, LogicData *data, const char *condition) in ComputeSubCondition() argument
174 char *subStr = strstr(condition + data->startIndex, "="); in ComputeSubCondition()
175 if (subStr != NULL && ((uint32_t)(subStr - condition) > data->endIndex)) { in ComputeSubCondition()
176 … if (strncmp(condition + data->startIndex, calculator->triggerContent, triggerContentSize) == 0) { in ComputeSubCondition()
181 int ret = GetValueFromContent(condition + data->startIndex, in ComputeSubCondition()
184 ret = GetValueFromContent(condition + data->startIndex, data->endIndex - data->startIndex, in ComputeSubCondition()
219 int ComputeCondition(LogicCalculator *calculator, const char *condition) in ComputeCondition() argument
221 PARAM_CHECK(calculator != NULL && condition != NULL, return -1, "Invalid calculator"); in ComputeCondition()
224 size_t conditionLen = strlen(condition); in ComputeCondition()
230 if (condition[currIndex] == '|' || condition[currIndex] == '&') { in ComputeCondition()
236 ret = ComputeSubCondition(calculator, &data1, condition); in ComputeCondition()
238 if (condition[currIndex] == '|' && ret == 1) { in ComputeCondition()
240 } else if ((condition[currIndex] == '|' || ret == 1) && in ComputeCondition()
241 (ComputeSubCondition(calculator, &data2, condition) == 1)) { in ComputeCondition()
247 } else if (isspace(condition[currIndex])) { in ComputeCondition()
264 data1.endIndex = strlen(condition); in ComputeCondition()
269 return ComputeSubCondition(calculator, &data1, condition); in ComputeCondition()
272 int ConvertInfixToPrefix(const char *condition, char *prefix, uint32_t prefixLen) in ConvertInfixToPrefix() argument
274 PARAM_CHECK(condition != NULL && prefix != NULL, return -1, "Invalid condition"); in ConvertInfixToPrefix()
279 size_t conditionLen = strlen(condition); in ConvertInfixToPrefix()
284 if (condition[curr] == ')') { in ConvertInfixToPrefix()
292 } else if (condition[curr] == '|') { in ConvertInfixToPrefix()
293 PARAM_CHECK(condition[curr + 1] == '|', in ConvertInfixToPrefix()
299 } else if (condition[curr] == '&') { in ConvertInfixToPrefix()
300 PARAM_CHECK(condition[curr + 1] == '&', in ConvertInfixToPrefix()
303 CalculatorPushChar(&calculator, condition[curr]); in ConvertInfixToPrefix()
305 } else if (condition[curr] == '(') { in ConvertInfixToPrefix()
306 CalculatorPushChar(&calculator, condition[curr]); in ConvertInfixToPrefix()
308 prefix[prefixIndex++] = condition[curr]; in ConvertInfixToPrefix()
327 int CheckMatchSubCondition(const char *condition, const char *input, int length) in CheckMatchSubCondition() argument
329 PARAM_CHECK(condition != NULL, return 0, "Invalid condition"); in CheckMatchSubCondition()
331 const char *tmp = strstr(condition, input); in CheckMatchSubCondition()
333 …PARAM_LOGV("CheckMatchSubCondition Condition: '%s' content: '%s' length %d", condition, input, len… in CheckMatchSubCondition()
338 if (tmp == condition) { in CheckMatchSubCondition()