Code

data: Added sdb_data_parse_op().
[sysdb.git] / src / core / data.c
index 2a8c439e08c7da72dca03ce9b28e0c59413e36b2..4e52133484b8e219cdef562a86a7a9991bc2279e 100644 (file)
@@ -399,6 +399,24 @@ sdb_data_isnull(const sdb_data_t *datum)
        return 0;
 } /* sdb_data_isnull */
 
+int
+sdb_data_parse_op(const char *op)
+{
+       if (! strcmp(op, "+"))
+               return SDB_DATA_ADD;
+       else if (! strcmp(op, "-"))
+               return SDB_DATA_SUB;
+       else if (! strcmp(op, "*"))
+               return SDB_DATA_MUL;
+       else if (! strcmp(op, "/"))
+               return SDB_DATA_DIV;
+       else if (! strcmp(op, "%"))
+               return SDB_DATA_MOD;
+       else if (! strcmp(op, "||"))
+               return SDB_DATA_CONCAT;
+       return -1;
+} /* sdb_data_parse_op */
+
 int
 sdb_data_expr_eval(int op, const sdb_data_t *d1, const sdb_data_t *d2,
                sdb_data_t *res)