--- a/src/server/util/object.c Sat Nov 12 11:01:11 2022 +0100 +++ b/src/server/util/object.c Sat Nov 12 11:52:47 2022 +0100 @@ -112,8 +112,11 @@ /* ------------------------------ Expression ------------------------------ */ Expression* condition_create(pool_handle_t *pool, CxList *tokens) { - - + size_t pos = 0; + NSAPIExpression *expression = expr_parse_logical_expr(pool, tokens, &pos); + if(!expression || pos != tokens->size) { + return NULL; + } return NULL; } @@ -185,7 +188,19 @@ } static int token_is_int(cxstring token) { - for(size_t i=0;i<token.length;i++) { + if(token.length == 0) { + return 0; + } + + size_t start = 0; + if(token.ptr[0] == '-' || token.ptr[0] == '+') { + if(token.length < 2) { + return 0; + } + start++; + } + + for(size_t i=start;i<token.length;i++) { if(!isdigit(token.ptr[i])) { return 0; }