q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=8b6eadcb3ca854307572a19a024eb4c1dbfa0903
commit 8b6eadcb3ca854307572a19a024eb4c1dbfa0903 Author: Daniel Kolesa <[email protected]> Date: Fri Aug 22 13:28:29 2014 +0100 eolian: fix segfault in validator + fill in line info properly --- src/lib/eolian/database_validate.c | 2 +- src/lib/eolian/eo_parser.c | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lib/eolian/database_validate.c b/src/lib/eolian/database_validate.c index 620f9b1..eb2e5b7 100644 --- a/src/lib/eolian/database_validate.c +++ b/src/lib/eolian/database_validate.c @@ -87,7 +87,7 @@ _validate_type(const Eolian_Type *tp) { Eina_List *l; Eolian_Type *tpp; - if (!_validate_type(tp->ret_type)) + if (tp->ret_type && !_validate_type(tp->ret_type)) return EINA_FALSE; EINA_LIST_FOREACH(tp->arguments, l, tpp) if (!_validate_type(tpp)) diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c index 2a6de85..d08d7eb 100644 --- a/src/lib/eolian/eo_parser.c +++ b/src/lib/eolian/eo_parser.c @@ -889,6 +889,9 @@ parse_type_named_void(Eo_Lexer *ls, Eina_Bool allow_named) def = push_type(ls); def->type = is_enum ? EOLIAN_TYPE_REGULAR_ENUM : EOLIAN_TYPE_REGULAR_STRUCT; + def->base.file = eina_stringshare_ref(ls->filename); + def->base.line = line; + def->base.column = col; pop_str(ls); _fill_type_name(def, sname); goto parse_ptr; --
