diff --git a/src/lib/eolian/eo_lexer.c b/src/lib/eolian/eo_lexer.c index 4601ee428d..03784702eb 100644 --- a/src/lib/eolian/eo_lexer.c +++ b/src/lib/eolian/eo_lexer.c @@ -720,9 +720,6 @@ _temps_free(Eo_Lexer_Temps *tmp) EINA_LIST_FREE(tmp->type_defs, tp) database_type_del(tp); - EINA_LIST_FREE(tmp->str_items, s) - if (s) eina_stringshare_del(s); - EINA_LIST_FREE(tmp->strs, s) if (s) eina_stringshare_del(s); diff --git a/src/lib/eolian/eo_lexer.h b/src/lib/eolian/eo_lexer.h index 5a6e6304d1..56495e5882 100644 --- a/src/lib/eolian/eo_lexer.h +++ b/src/lib/eolian/eo_lexer.h @@ -100,7 +100,6 @@ typedef struct _Eo_Lexer_Temps Eina_List *classes; Eina_List *str_bufs; Eina_List *type_defs; - Eina_List *str_items; Eina_List *expr_defs; Eina_List *strs; } Eo_Lexer_Temps; diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c index dc64db7af2..1140d5656f 100644 --- a/src/lib/eolian/eo_parser.c +++ b/src/lib/eolian/eo_parser.c @@ -176,22 +176,20 @@ parse_name(Eo_Lexer *ls, Eina_Strbuf *buf) return buf; } -static Eina_List * -parse_name_list(Eo_Lexer *ls) +static void +parse_name_list(Eo_Lexer *ls, Eina_List **out) { Eina_Strbuf *buf = push_strbuf(ls); - ls->tmp.str_items = NULL; parse_name(ls, buf); - ls->tmp.str_items = eina_list_append(ls->tmp.str_items, + *out = eina_list_append(*out, eina_stringshare_add(eina_strbuf_string_get(buf))); while (test_next(ls, ',')) { parse_name(ls, buf); - ls->tmp.str_items = eina_list_append(ls->tmp.str_items, - eina_stringshare_add(eina_strbuf_string_get(buf))); + *out = eina_list_append(*out, + eina_stringshare_add(eina_strbuf_string_get(buf))); } pop_strbuf(ls); - return ls->tmp.str_items; } #define NAMESPACE_PARSE(def, dname) \ @@ -1853,10 +1851,7 @@ parse_class(Eo_Lexer *ls, Eolian_Class_Type type) col = ls->column; check_next(ls, '('); if (ls->t.token != ')') - { - ls->tmp.kls->inherits = parse_name_list(ls); - ls->tmp.str_items = NULL; - } + parse_name_list(ls, &ls->tmp.kls->inherits); check_match(ls, ')', '(', line, col); } line = ls->line_number;