src/server/util/object.c

changeset 424
3df9258cd3cc
parent 423
bb7cff720dd0
child 435
713ec3da79ec
--- 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;
         }

mercurial