aboutsummaryrefslogtreecommitdiff
path: root/src/tracker.c
blob: 2bf56d494eba7c4e3a117989dc7da13049681a4b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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);
}