eo2: cleaned up eo2_do macros.

cleaned up the cleanup attribute usage.
don't use objid more than once (it's a macro).
This commit is contained in:
Tom Hacohen 2013-07-29 16:11:47 +01:00
parent 329d752c59
commit 3ae5b846f7
1 changed files with 14 additions and 8 deletions

View File

@ -688,19 +688,25 @@ EAPI int eo2_call_stack_depth();
#define eo2_do(objid, ...) \
do \
{ \
if (!eo2_do_start(objid, EINA_FALSE)) break; \
Eo *_objid_ EO2_DO_CLEANUP = objid; \
__VA_ARGS__; \
(void) _objid_; \
Eo *_objid_ = objid; \
if (eo2_do_start(_objid_, EINA_FALSE)) \
{ \
Eo *_id_clean_ EO2_DO_CLEANUP = _objid_; \
__VA_ARGS__; \
(void) _id_clean_; \
} \
} while (0)
#define eo2_do_super(objid, ...) \
do \
{ \
if (!eo2_do_start(objid, EINA_TRUE)) break; \
Eo *_objid_ EO2_DO_CLEANUP = objid; \
__VA_ARGS__; \
(void) _objid_; \
Eo *_objid_ = objid; \
if (eo2_do_start(_objid_, EINA_TRUE)) \
{ \
Eo *_id_clean_ EO2_DO_CLEANUP = _objid_; \
__VA_ARGS__; \
(void) _id_clean_; \
} \
} while (0)
// FIXME