aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorcomex2015-01-25 01:32:07 -0500
committercomex2015-01-25 01:32:07 -0500
commitf14efa13e2c78d7b7788f5b1125d1ba865cbe15e (patch)
tree3f12083af90729caabed99e5c32e20b11d1cd022 /lib
parentfixes (diff)
downloadsubstitute-f14efa13e2c78d7b7788f5b1125d1ba865cbe15e.tar.gz
fix substrate-compat; check in test
Diffstat (limited to 'lib')
-rw-r--r--lib/darwin/substrate-compat.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/darwin/substrate-compat.c b/lib/darwin/substrate-compat.c
index 345d53f..54bdd2e 100644
--- a/lib/darwin/substrate-compat.c
+++ b/lib/darwin/substrate-compat.c
@@ -38,13 +38,18 @@ void *SubFindSymbol(void *image, const char *name) {
return ptr;
}
-/*
+#ifdef TARGET_DIS_SUPPORTED
EXPORT
void SubHookFunction(void *symbol, void *replace, void **result) __asm__("SubHookFunction");
void SubHookFunction(void *symbol, void *replace, void **result) {
- // ...
+ struct substitute_function_hook hook = {symbol, replace, result};
+ int ret = substitute_hook_functions(&hook, 1, 0);
+ if (ret) {
+ panic("SubHookFunction: substitute_hook_functions returned %s\n",
+ substitute_strerror(ret));
+ }
}
-*/
+#endif
EXPORT
void SubHookMessageEx(Class _class, SEL sel, IMP imp, IMP *result)