Eobj: A bit of code cleanup.

SVN revision: 70404
This commit is contained in:
Tom Hacohen 2012-04-23 08:09:42 +00:00
parent b126854a86
commit 84a698c972
1 changed files with 12 additions and 19 deletions

View File

@ -362,16 +362,20 @@ end:
return ret; return ret;
} }
static inline Eina_Bool EAPI Eina_Bool
_eobj_ops_internal(Eobj *obj, va_list *p_list) eobj_do_internal(Eobj *obj, ...)
{ {
Eina_Bool ret = EINA_TRUE; Eina_Bool ret = EINA_TRUE;
Eobj_Op op = 0; Eobj_Op op = EOBJ_NOOP;
va_list p_list;
eobj_ref(obj);
op = va_arg(*p_list, Eobj_Op); va_start(p_list, obj);
op = va_arg(p_list, Eobj_Op);
while (op) while (op)
{ {
if (!_eobj_op_internal(obj, op, p_list)) if (!_eobj_op_internal(obj, op, &p_list))
{ {
const Eobj_Class *op_klass = OP_CLASS_GET(op); const Eobj_Class *op_klass = OP_CLASS_GET(op);
const char *_dom_name = (op_klass) ? op_klass->desc->name : NULL; const char *_dom_name = (op_klass) ? op_klass->desc->name : NULL;
@ -381,21 +385,11 @@ _eobj_ops_internal(Eobj *obj, va_list *p_list)
ret = EINA_FALSE; ret = EINA_FALSE;
break; break;
} }
op = va_arg(*p_list, Eobj_Op); op = va_arg(p_list, Eobj_Op);
} }
return ret;
}
EAPI Eina_Bool
eobj_do_internal(Eobj *obj, ...)
{
Eina_Bool ret;
va_list p_list;
eobj_ref(obj);
va_start(p_list, obj);
ret = _eobj_ops_internal(obj, &p_list);
va_end(p_list); va_end(p_list);
eobj_unref(obj); eobj_unref(obj);
return ret; return ret;
} }
@ -592,7 +586,7 @@ eobj_class_funcs_set(Eobj_Class *klass, const Eobj_Op_Func_Description *func_des
} }
} }
void static void
eobj_class_free(Eobj_Class *klass) eobj_class_free(Eobj_Class *klass)
{ {
if (klass->constructed) if (klass->constructed)
@ -833,7 +827,6 @@ eobj_class_new(const Eobj_Class_Description *desc, const Eobj_Class *parent, ...
_eobj_class_base_op_init(klass); _eobj_class_base_op_init(klass);
/* FIXME: Shouldn't be called here - should be called from eobj_add. */
_eobj_class_constructor(klass); _eobj_class_constructor(klass);
va_end(p_list); va_end(p_list);