diff --git a/src/core/data.c b/src/core/data.c
index 2a8c439e08c7da72dca03ce9b28e0c59413e36b2..4e52133484b8e219cdef562a86a7a9991bc2279e 100644 (file)
--- a/src/core/data.c
+++ b/src/core/data.c
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)