From 0030bdb772f4e6cde86f3eb36948ebb112574890 Mon Sep 17 00:00:00 2001 From: Asger Hautop Drewsen Date: Sun, 5 Aug 2012 22:03:53 +0300 Subject: [PATCH] Added ARC compatibility to substrate.h --- include/substrate.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/include/substrate.h b/include/substrate.h index d6b051e..07bdd34 100644 --- a/include/substrate.h +++ b/include/substrate.h @@ -164,7 +164,11 @@ static inline void MSHookMessage(Class _class, SEL sel, Type_ *imp, Type_ **resu template static inline Type_ &MSHookIvar(id self, const char *name) { Ivar ivar(class_getInstanceVariable(object_getClass(self), name)); - void *pointer(ivar == NULL ? NULL : reinterpret_cast(self) + ivar_getOffset(ivar)); + #if __has_feature(objc_arc) + void *pointer(ivar == NULL ? NULL : reinterpret_cast((__bridge void *)self) + ivar_getOffset(ivar)); + #else + void *pointer(ivar == NULL ? NULL : reinterpret_cast(self) + ivar_getOffset(ivar)); + #endif return *reinterpret_cast(pointer); }