mirror of
https://github.com/zoriya/Gamacon.git
synced 2026-06-02 03:35:43 +00:00
Adding a proper c modular new
This commit is contained in:
+4
-3
@@ -8,12 +8,13 @@
|
||||
#include "component.h"
|
||||
#include <stdlib.h>
|
||||
|
||||
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);
|
||||
|
||||
Reference in New Issue
Block a user