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)) --