X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fcore%2Fobject.c;h=d6665e7cbd7546645093d0d97c68136dc17ed8a0;hb=e97728dc23dba720769eed4de91b7fd293f40e47;hp=7fbd5f025228831503fdc626516f3c9733eeff81;hpb=1fee763a36a0c9af761244bbce8cd6c233ddbe2a;p=sysdb.git diff --git a/src/core/object.c b/src/core/object.c index 7fbd5f0..d6665e7 100644 --- a/src/core/object.c +++ b/src/core/object.c @@ -75,7 +75,7 @@ static sdb_type_t sdb_object_wrapper_type = { */ sdb_object_t * -sdb_object_create(const char *name, sdb_type_t type, ...) +sdb_object_vcreate(const char *name, sdb_type_t type, va_list ap) { sdb_object_t *obj; @@ -97,22 +97,28 @@ sdb_object_create(const char *name, sdb_type_t type, ...) } if (type.init) { - va_list ap; - va_start(ap, type); - if (type.init(obj, ap)) { obj->ref_cnt = 1; sdb_object_deref(obj); - va_end(ap); return NULL; } - - va_end(ap); } obj->type = type; obj->ref_cnt = 1; return obj; +} /* sdb_object_vcreate */ + +sdb_object_t * +sdb_object_create(const char *name, sdb_type_t type, ...) +{ + sdb_object_t *obj; + va_list ap; + + va_start(ap, type); + obj = sdb_object_vcreate(name, type, ap); + va_end(ap); + return obj; } /* sdb_object_create */ sdb_object_t *