diff options
author | Daniel Kolesa <d.kolesa@osg.samsung.com> | 2018-02-21 17:50:18 +0100 |
---|---|---|
committer | Daniel Kolesa <d.kolesa@osg.samsung.com> | 2018-02-22 11:19:22 +0100 |
commit | 7b5a73b96765223ffcf1f74a7733beda655c33a0 (patch) | |
tree | 54928dc8c6297d4bc5f1e52c4c699bb7ae906281 | |
parent | 8c7ba8c3a31ec671ccd6d7d30682dbd631d69a62 (diff) | |
download | efl-7b5a73b96765223ffcf1f74a7733beda655c33a0.tar.gz |
eolian: add eolian_object_add wrapper
-rw-r--r-- | src/lib/eolian/eo_parser.c | 7 | ||||
-rw-r--r-- | src/lib/eolian/eolian_database.h | 7 |
2 files changed, 9 insertions, 5 deletions
diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c index 031687a80c..3f888c5dc7 100644 --- a/src/lib/eolian/eo_parser.c +++ b/src/lib/eolian/eo_parser.c @@ -2287,12 +2287,9 @@ eo_parser_database_fill(Eolian_Unit *parent, const char *filename, Eina_Bool eot } ls->tmp.kls = NULL; - eina_hash_set(ls->state->unit.classes, cl->full_name, cl); - eina_hash_set(ls->unit->classes, cl->full_name, cl); + eolian_object_add(&cl->base, cl->full_name, ls->unit->classes); + eolian_object_add(&cl->base, cl->full_name, ls->state->unit.classes); eina_hash_set(ls->state->classes_f, cl->base.file, cl); - /* once for unit, once for state */ - eolian_object_ref(&cl->base); - eolian_object_ref(&cl->base); done: ret = ls->unit; diff --git a/src/lib/eolian/eolian_database.h b/src/lib/eolian/eolian_database.h index 5811e93cad..e7ae5f1bb3 100644 --- a/src/lib/eolian/eolian_database.h +++ b/src/lib/eolian/eolian_database.h @@ -84,6 +84,13 @@ eolian_object_unref(Eolian_Object *obj) return (--obj->refcount > 0); } +static inline void +eolian_object_add(Eolian_Object *obj, Eina_Stringshare *name, Eina_Hash *hash) +{ + eina_hash_add(hash, name, obj); + eolian_object_ref(obj); +} + struct _Eolian_Documentation { Eolian_Object base; |