q66 pushed a commit to branch master.

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

commit d123978718ee61c1ba9fce56597f253f01cf4234
Author: Daniel Kolesa <d.kol...@osg.samsung.com>
Date:   Wed Dec 14 17:31:24 2016 +0100

    eolian: handle pointers in aliased_base_get
---
 src/lib/eolian/Eolian.h            | 3 ++-
 src/lib/eolian/database_type_api.c | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/lib/eolian/Eolian.h b/src/lib/eolian/Eolian.h
index 0c853dd..4275e90 100644
--- a/src/lib/eolian/Eolian.h
+++ b/src/lib/eolian/Eolian.h
@@ -1776,7 +1776,8 @@ EAPI const Eolian_Typedecl 
*eolian_type_typedecl_get(const Eolian_Type *tp);
  * using eolian_type_typedecl_get and if the retrieved base is an alias, 
returns
  * a call of eolian_typedecl_aliased_base_get function on it. Otherwise it
  * returns the given type. This is useful in order to retrieve what an aliased
- * type actually is while still having convenience.
+ * type actually is while still having convenience. Keep in mind that this 
stops
+ * if the found type is actually a pointer (has a ptr() on it).
  *
  * @param[in] tp the type.
  * @return the lowest alias base or the given type.
diff --git a/src/lib/eolian/database_type_api.c 
b/src/lib/eolian/database_type_api.c
index 6584ae7..b78d619 100644
--- a/src/lib/eolian/database_type_api.c
+++ b/src/lib/eolian/database_type_api.c
@@ -288,7 +288,7 @@ eolian_typedecl_base_type_get(const Eolian_Typedecl *tp)
 EAPI const Eolian_Type *
 eolian_type_aliased_base_get(const Eolian_Type *tp)
 {
-   if (!tp || tp->type != EOLIAN_TYPE_REGULAR)
+   if (!tp || tp->type != EOLIAN_TYPE_REGULAR || tp->is_ptr)
      return tp;
    const Eolian_Typedecl *btp = eolian_type_typedecl_get(tp);
    if (btp && (btp->type == EOLIAN_TYPEDECL_ALIAS))

-- 


Reply via email to