From bbc006a3e72d323e73bb77ee546fd8f0f6d741a6 Mon Sep 17 00:00:00 2001 From: Daniel Kolesa Date: Mon, 20 Apr 2020 14:36:14 +0200 Subject: [PATCH] eolian: fix C type serialization of error() --- src/lib/eolian/database_type.c | 2 ++ src/tests/eolian/eolian_parsing.c | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/src/lib/eolian/database_type.c b/src/lib/eolian/database_type.c index 53d531cc54..0df427bf62 100644 --- a/src/lib/eolian/database_type.c +++ b/src/lib/eolian/database_type.c @@ -121,6 +121,8 @@ database_type_to_str(const Eolian_Type *tp, else eina_strbuf_append(buf, tp->base.c_name); } + else if (tp->type == EOLIAN_TYPE_ERROR) + eina_strbuf_append(buf, "Eina_Error"); else if (tp->type == EOLIAN_TYPE_VOID) eina_strbuf_append(buf, "void"); else if (tp->type == EOLIAN_TYPE_UNDEFINED) diff --git a/src/tests/eolian/eolian_parsing.c b/src/tests/eolian/eolian_parsing.c index 60e24bda41..ae213b5a28 100644 --- a/src/tests/eolian/eolian_parsing.c +++ b/src/tests/eolian/eolian_parsing.c @@ -805,6 +805,7 @@ EFL_START_TEST(eolian_error) const Eolian_Function *f1, *f2; const Eolian_Type *rtp1, *rtp2; const Eolian_Error *err1, *err2; + Eina_Stringshare *str; Eolian_State *eos = eolian_state_new(); @@ -822,6 +823,9 @@ EFL_START_TEST(eolian_error) fail_if(eolian_type_type_get(rtp1) != EOLIAN_TYPE_ERROR); fail_if(eolian_type_next_type_get(rtp1) != NULL); fail_if(strcmp(eolian_type_name_get(rtp1), "Foo")); + fail_if(!(str = eolian_type_c_type_get(rtp1))); + fail_if(strcmp(str, "Eina_Error")); + eina_stringshare_del(str); fail_if(!(err1 = eolian_type_error_get(rtp1))); fail_if(strcmp(eolian_error_message_get(err1), "something bad happened"));