diff options
author | Daniel Kolesa <d.kolesa@samsung.com> | 2020-01-10 20:02:41 +0100 |
---|---|---|
committer | Daniel Kolesa <d.kolesa@samsung.com> | 2020-01-10 20:19:47 +0100 |
commit | 918987ef8aa3b5a5ae145530d23d6857b771f32f (patch) | |
tree | e0c61bfbcf3754c9c7a6ef8346d9462be1b994d9 | |
parent | e55f0a1dcfdc36690cb43301a4cf5a3b6227a33c (diff) | |
download | efl-918987ef8aa3b5a5ae145530d23d6857b771f32f.tar.gz |
eolian: fix parsing of c_name tags
It was not properly consuming the ending ) token.
-rw-r--r-- | src/lib/eolian/eo_parser.c | 18 |
1 files 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) { |