From bf77ce2399705f133e7b1c50ff1bf71faba177bf Mon Sep 17 00:00:00 2001 From: Daniel Kolesa Date: Wed, 21 Feb 2018 17:50:18 +0100 Subject: [PATCH] eolian: add eolian_object_add wrapper --- src/lib/eolian/eo_parser.c | 7 ++----- 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 031687a..3f888c5 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 5811e93..e7ae5f1 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; -- 2.7.4