about summary refs log tree commit diff stats
path: root/src/wrapped/wrappedlibpcre.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/wrapped/wrappedlibpcre.c')
-rwxr-xr-xsrc/wrapped/wrappedlibpcre.c13
1 files changed, 13 insertions, 0 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"