aboutsummaryrefslogtreecommitdiff
path: root/src/tracker.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/tracker.c')
-rw-r--r--src/tracker.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/tracker.c b/src/tracker.c
new file mode 100644
index 0000000..2bf56d4
--- /dev/null
+++ b/src/tracker.c
@@ -0,0 +1,22 @@
+#include <fwd/tracker.h>
+
+#define VEC_NAME ptr_tracker
+#define VEC_TYPE void *
+#include <conts/vec.h>
+
+static struct ptr_tracker ptrs;
+
+void *track_ptr(void *p)
+{
+ ptr_tracker_append(&ptrs, p);
+ return p;
+}
+
+void free_tracked_ptrs()
+{
+ foreach(ptr_tracker, ptr, &ptrs) {
+ free(*ptr);
+ }
+
+ ptr_tracker_destroy(&ptrs);
+}