Lines Matching refs:prefix
120 static int PrefixAdd(char *prefix, uint32_t *prefixIndex, uint32_t prefixLen, char op)
125 prefix[(*prefixIndex)++] = ' ';
126 prefix[(*prefixIndex)++] = op;
127 prefix[(*prefixIndex)++] = ' ';
131 static int HandleOperationOr(LogicCalculator *calculator, char *prefix, uint32_t *prefixIndex, uint32_t prefixLen)
134 prefix[(*prefixIndex)++] = ' ';
143 int ret = PrefixAdd(prefix, prefixIndex, prefixLen, e);
144 PARAM_CHECK(ret == 0, return -1, "Invalid prefix");
272 int ConvertInfixToPrefix(const char *condition, char *prefix, uint32_t prefixLen)
274 PARAM_CHECK(condition != NULL && prefix != NULL, return -1, "Invalid condition");
287 ret = PrefixAdd(prefix, &prefixIndex, prefixLen, e);
289 CalculatorFree(&calculator); return -1, "Invalid prefix");
295 ret = HandleOperationOr(&calculator, prefix, &prefixIndex, prefixLen);
297 CalculatorFree(&calculator); return -1, "Invalid prefix");
302 prefix[prefixIndex++] = ' ';
308 prefix[prefixIndex++] = condition[curr];
317 ret = PrefixAdd(prefix, &prefixIndex, prefixLen, e);
320 return -1, "Invalid prefix %u %u", prefixIndex, prefixLen);
322 prefix[prefixIndex] = '\0';