q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=918987ef8aa3b5a5ae145530d23d6857b771f32f
commit 918987ef8aa3b5a5ae145530d23d6857b771f32f Author: Daniel Kolesa <d.kol...@samsung.com> Date: Fri Jan 10 20:02:41 2020 +0100 eolian: fix parsing of c_name tags It was not properly consuming the ending ) token. --- src/lib/eolian/eo_parser.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c index 253e99e929..730669b295 100644 --- a/src/lib/eolian/eo_parser.c +++ b/src/lib/eolian/eo_parser.c @@ -219,6 +219,7 @@ parse_c_name(Eo_Lexer *ls) check_match(ls, ')', '(', pline, pcol); return NULL; /* unreachable */ } + eo_lexer_get(ls); return cname; } @@ -481,10 +482,7 @@ parse_struct(Eo_Lexer *ls, const char *name, Eina_Bool is_extern, def->ownable = EINA_TRUE; } if (cname) - { - def->base.c_name = cname; - eo_lexer_dtor_pop(ls); - } + def->base.c_name = eina_stringshare_ref(cname); else def->base.c_name = make_c_name(name); /* we can't know the order, pop when both are filled */ @@ -865,7 +863,7 @@ tags_done: def->base.name = eina_stringshare_add(eina_strbuf_string_get(buf)); if (cname) { - def->base.c_name = cname; + def->base.c_name = eina_stringshare_ref(cname); eo_lexer_dtor_pop(ls); } else @@ -922,7 +920,7 @@ tags_done: def->base.name = eina_stringshare_add(eina_strbuf_string_get(buf)); if (cname) { - def->base.c_name = cname; + def->base.c_name = eina_stringshare_ref(cname); eo_lexer_dtor_pop(ls); } else @@ -986,7 +984,7 @@ tags_done: def->base.name = eina_stringshare_add(eina_strbuf_string_get(buf)); if (cname) { - def->base.c_name = cname; + def->base.c_name = eina_stringshare_ref(cname); eo_lexer_dtor_pop(ls); } else @@ -1448,7 +1446,7 @@ tags_done: def->base.name = eina_stringshare_add(eina_strbuf_string_get(buf)); if (cname) { - def->base.c_name = cname; + def->base.c_name = eina_stringshare_ref(cname); eo_lexer_dtor_pop(ls); } else @@ -2263,7 +2261,7 @@ tags_done: ls->klass->base.name = eina_stringshare_add(eina_strbuf_string_get(buf)); if (cname) { - ls->klass->base.c_name = cname; + ls->klass->base.c_name = eina_stringshare_ref(cname); eo_lexer_dtor_pop(ls); } else @@ -2490,7 +2488,7 @@ postparams: } def->base.name = name; if (cname) - def->base.c_name = cname; + def->base.c_name = eina_stringshare_ref(cname); /* we can't know the order, pop when both are filled */ if (freefunc && cname) { --