From: Daniel Kolesa Date: Wed, 17 Jun 2015 09:29:16 +0000 (+0100) Subject: eolian: check for C type keyword before trying to append as C type keyword X-Git-Tag: v1.15.0-alpha1~224 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f800e8a3bfe0a36ddc55b8d0498a252727c0ec3c;p=platform%2Fupstream%2Fefl.git eolian: check for C type keyword before trying to append as C type keyword This fixes a segv when non-type Eolian keyword is used. @fix --- diff --git a/src/lib/eolian/database_type.c b/src/lib/eolian/database_type.c index f3a3a6f..787cc3d 100644 --- a/src/lib/eolian/database_type.c +++ b/src/lib/eolian/database_type.c @@ -209,8 +209,10 @@ database_type_to_str(const Eolian_Type *tp, Eina_Strbuf *buf, const char *name) eina_strbuf_append_char(buf, '_'); } int kw = eo_lexer_keyword_str_to_id(tp->name); - if (kw) eina_strbuf_append(buf, eo_lexer_get_c_type(kw)); - else eina_strbuf_append(buf, tp->name); + if (kw && eo_lexer_is_type_keyword(kw)) + eina_strbuf_append(buf, eo_lexer_get_c_type(kw)); + else + eina_strbuf_append(buf, tp->name); } else if (tp->type == EOLIAN_TYPE_VOID) eina_strbuf_append(buf, "void");