From 9ffe700aaca63a8091f704a08b1b013f003f34b6 Mon Sep 17 00:00:00 2001 From: Daniel Kolesa Date: Tue, 2 Sep 2014 13:06:59 +0100 Subject: [PATCH] eolian: simplify expr serialize and fix null/bool case --- src/lib/eolian/database_expr_api.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/lib/eolian/database_expr_api.c b/src/lib/eolian/database_expr_api.c index 8c60927d85..186900a812 100644 --- a/src/lib/eolian/database_expr_api.c +++ b/src/lib/eolian/database_expr_api.c @@ -229,19 +229,21 @@ _expr_serialize(const Eolian_Expression *expr, Eina_Strbuf *buf, Eina_Bool outer case EOLIAN_EXPR_DOUBLE: case EOLIAN_EXPR_STRING: case EOLIAN_EXPR_CHAR: - case EOLIAN_EXPR_NULL: - case EOLIAN_EXPR_BOOL: { - Eolian_Value v = eolian_expression_eval(expr, EOLIAN_MASK_ALL); - if (!v.type) - return EINA_FALSE; - const char *x = eolian_expression_value_to_literal(&v); + Eolian_Value *v = (Eolian_Value*)&expr->type; + const char *x = eolian_expression_value_to_literal(v); if (!x) return EINA_FALSE; eina_strbuf_append(buf, x); eina_stringshare_del(x); break; } + case EOLIAN_EXPR_NULL: + eina_strbuf_append(buf, "null"); + break; + case EOLIAN_EXPR_BOOL: + eina_strbuf_append(buf, expr->value.b ? "true" : "false"); + break; case EOLIAN_EXPR_NAME: case EOLIAN_EXPR_ENUM: {