From 3ae5b846f7b6f8a97e1addaabfc83623f9046b96 Mon Sep 17 00:00:00 2001 From: Tom Hacohen Date: Mon, 29 Jul 2013 16:11:47 +0100 Subject: [PATCH] eo2: cleaned up eo2_do macros. cleaned up the cleanup attribute usage. don't use objid more than once (it's a macro). --- src/lib/eo/Eo.h | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/src/lib/eo/Eo.h b/src/lib/eo/Eo.h index da420c7bb0..e19f7d6eb9 100644 --- a/src/lib/eo/Eo.h +++ b/src/lib/eo/Eo.h @@ -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