diff options
author | Daniel Kolesa <d.kolesa@osg.samsung.com> | 2016-12-14 17:31:24 +0100 |
---|---|---|
committer | Daniel Kolesa <d.kolesa@osg.samsung.com> | 2016-12-14 18:23:16 +0100 |
commit | d123978718ee61c1ba9fce56597f253f01cf4234 (patch) | |
tree | 6b08e484b66eefd9940b401861532dcd320a2335 | |
parent | c813e94606929449b93c780af0f9764e333b8218 (diff) | |
download | efl-d123978718ee61c1ba9fce56597f253f01cf4234.tar.gz |
eolian: handle pointers in aliased_base_get
-rw-r--r-- | src/lib/eolian/Eolian.h | 3 | ||||
-rw-r--r-- | 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 0c853dd08d..4275e90377 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 6584ae7957..b78d61907c 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)) |