q66 pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=2781680b5141b2acac9b6c2d4dea8bab22ae254d

commit 2781680b5141b2acac9b6c2d4dea8bab22ae254d
Author: Daniel Kolesa <[email protected]>
Date:   Thu May 26 14:17:07 2016 +0100

    eolian: put ownable checks into its own func
---
 src/lib/eolian/eo_parser.c | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c
index 5f83683..d1c8c97 100644
--- a/src/lib/eolian/eo_parser.c
+++ b/src/lib/eolian/eo_parser.c
@@ -691,6 +691,14 @@ _parse_dep(Eo_Lexer *ls, const char *fname, const char 
*name)
      }
 }
 
+static Eina_Bool
+_type_is_ownable(Eolian_Type *tp)
+{
+   return (tp->type == EOLIAN_TYPE_POINTER ||
+           tp->type == EOLIAN_TYPE_COMPLEX ||
+           tp->type == EOLIAN_TYPE_CLASS);
+}
+
 static Eolian_Type *
 parse_type_void(Eo_Lexer *ls)
 {
@@ -721,9 +729,7 @@ parse_type_void(Eo_Lexer *ls)
            check_next(ls, '(');
            eo_lexer_context_push(ls);
            def = parse_type_void(ls);
-           if (def->type != EOLIAN_TYPE_POINTER &&
-               def->type != EOLIAN_TYPE_COMPLEX &&
-               def->type != EOLIAN_TYPE_CLASS)
+           if (!_type_is_ownable(def))
              {
                 eo_lexer_context_restore(ls);
                 eo_lexer_syntax_error(ls, "ownable type expected");
@@ -743,9 +749,7 @@ parse_type_void(Eo_Lexer *ls)
            check_next(ls, '(');
            eo_lexer_context_push(ls);
            def = parse_type_void(ls);
-           if (def->type != EOLIAN_TYPE_POINTER &&
-               def->type != EOLIAN_TYPE_COMPLEX &&
-               def->type != EOLIAN_TYPE_CLASS)
+           if (!_type_is_ownable(def))
              {
                 eo_lexer_context_restore(ls);
                 eo_lexer_syntax_error(ls, "freeable type expected");

-- 


Reply via email to