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;

-- 


Reply via email to