From 7475b4879cdc270c1d7723686ae7e9ad3c0e0736 Mon Sep 17 00:00:00 2001 From: Mubashshir Date: Thu, 22 May 2025 23:07:54 +0600 Subject: Auto Add Deleter to class Signed-off-by: Mubashshir --- src/cobj.h | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'src/cobj.h') diff --git a/src/cobj.h b/src/cobj.h index 1e5c75e..328a6aa 100644 --- a/src/cobj.h +++ b/src/cobj.h @@ -6,7 +6,6 @@ # undef DefaultDelete # undef Define # undef Del -# undef DelF # undef Func # undef GET # undef Get @@ -71,10 +70,12 @@ # define New(klass, body, ...) \ klass klass ## _new(__VA_ARGS__) { \ klass self = (klass)malloc(sizeof(TYPE(klass))); \ - if(self != NULL) body; \ + if(self != NULL) { \ + self->destroy = (& klass ## _delete); \ + body; \ + } \ return self; \ } - # define Del(klass, body, ...) \ void klass ## _delete(klass self, ## __VA_ARGS__) \ body @@ -85,8 +86,6 @@ # define Func(klass, name) \ (self->name) = (& klass ## _ ## name) -# define DelF(klass) \ - (self->destroy) = (&klass ## _delete) # define Self(name) \ self->_property_ ## name -- cgit v1.2.3