From 30076b10a8c411bc07b1b34587f27dc2b2498d98 Mon Sep 17 00:00:00 2001 From: Tristan Roux Date: Mon, 2 Dec 2019 13:51:34 +0100 Subject: [PATCH] Adding a proper c modular new --- src/component.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/component.c b/src/component.c index 379d398..4310f76 100644 --- a/src/component.c +++ b/src/component.c @@ -8,12 +8,13 @@ #include "component.h" #include -void *new_component(Component *component, ...) +void *new_component(void *component, ...) { - void *new_cmp = malloc(component->size); + Component *base = (Component *)component; + void *new_cmp = malloc(base->size); va_list args; - *(Component *)new_cmp = *component; + *(Component *)new_cmp = *base; if (((Component *)new_cmp)->ctr) { va_start(args, component); ((Component *)new_cmp)->ctr(new_cmp, args);