aboutsummaryrefslogtreecommitdiff
path: root/lib/darwin
diff options
context:
space:
mode:
authorcomex2015-01-21 17:12:04 -0500
committercomex2015-01-21 17:12:04 -0500
commit894c8c65ee8ad57e91ff1fa3b6b87202aee551f9 (patch)
tree5a84db882c60fb411215285f1e06201d9c89dd68 /lib/darwin
parentminor cleanup - stop caring about thumb outside of arch-specific code (diff)
downloadsubstitute-894c8c65ee8ad57e91ff1fa3b6b87202aee551f9.tar.gz
add substitute_strerror
Diffstat (limited to 'lib/darwin')
-rw-r--r--lib/darwin/substrate-compat.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/lib/darwin/substrate-compat.c b/lib/darwin/substrate-compat.c
index cf44b19..345d53f 100644
--- a/lib/darwin/substrate-compat.c
+++ b/lib/darwin/substrate-compat.c
@@ -46,10 +46,14 @@ void SubHookFunction(void *symbol, void *replace, void **result) {
}
*/
-#ifdef __APPLE__
-/*void SubHookMessageEx(Class _class, SEL sel, IMP imp, IMP *result) __asm__("SubHookMessageEx");
-void SubHookMessageEx(Class _class, SEL sel, IMP imp, IMP *result) {
-
-}*/
+EXPORT
+void SubHookMessageEx(Class _class, SEL sel, IMP imp, IMP *result)
+ __asm__("SubHookMessageEx");
-#endif
+void SubHookMessageEx(Class _class, SEL sel, IMP imp, IMP *result) {
+ int ret = substitute_hook_objc_message(_class, sel, imp, result, NULL);
+ if (ret) {
+ panic("SubHookMessageEx: substitute_hook_objc_message returned %s\n",
+ substitute_strerror(ret));
+ }
+}