diff options
Diffstat (limited to 'src')
| -rwxr-xr-x | src/wrapped/wrappedlibpcre.c | 13 | ||||
| -rwxr-xr-x | src/wrapped/wrappedlibpcre_private.h | 2 |
2 files changed, 14 insertions, 1 deletions
diff --git a/src/wrapped/wrappedlibpcre.c b/src/wrapped/wrappedlibpcre.c index ea18e6bb..fbd2218b 100755 --- a/src/wrapped/wrappedlibpcre.c +++ b/src/wrapped/wrappedlibpcre.c @@ -10,9 +10,22 @@ #include "bridge.h" #include "librarian/library_private.h" #include "x64emu.h" +#include "callback.h" +#include "debug.h" const char* libpcreName = "libpcre.so.3"; #define LIBNAME libpcre +typedef void (*pcre_free_t)(void *); +EXPORT uintptr_t my_pcre_free; + +void wrapped_pcre_free(void* p) { + RunFunction(my_context, my_pcre_free, 1, p); +} +EXPORT pcre_free_t pcre_free = wrapped_pcre_free; + +#define CUSTOM_INIT \ + my_pcre_free = AddCheckBridge(lib->priv.w.bridge, vFp, free, 0, "free"); + #include "wrappedlib_init.h" diff --git a/src/wrapped/wrappedlibpcre_private.h b/src/wrapped/wrappedlibpcre_private.h index 6c6ffbca..b851fc31 100755 --- a/src/wrapped/wrappedlibpcre_private.h +++ b/src/wrapped/wrappedlibpcre_private.h @@ -11,7 +11,7 @@ GO(pcre_copy_named_substring, iFpppippi) GO(pcre_copy_substring, iFppiipi) GO(pcre_dfa_exec, iFpppiiipipi) GO(pcre_exec, iFpppiiipi) -//DATAM(pcre_free, //void (*pcre_free)(void *); +DATAM(pcre_free, sizeof(void*)) GO(pcre_free_study, vFp) GO(pcre_free_substring, vFp) GO(pcre_free_substring_list, vFp) |