From dba60d8b985247be7f0b0eef0bc0cefef651c824 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Tue, 22 Jan 2019 14:16:30 +0100 Subject: Fix crash. --- macro.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'macro.h') diff --git a/macro.h b/macro.h index 89178cb3..ce2bfd21 100644 --- a/macro.h +++ b/macro.h @@ -63,4 +63,13 @@ T N; \ CONSTRUCT(T, & N, __VA_ARGS__); +/* Destructor for type */ +#define FREE(T) TP(T, __free) + +/* Call destructor for type, and free object */ +#define FFREE(T, N) do { FREE(T)(N); free(N); } while (0) + +/* Declare destructor */ +#define FREE_DECL(T) TP(T, __free) (T* this) + #endif /* MACRO_H */ -- cgit v1.2.3