comparison runtime/object.c @ 31:668f533e5284

Add initial version of C backend
author Mike Pavone <pavone@retrodev.com>
date Sat, 07 Jul 2012 16:48:36 -0700
parents
children a10f1b049193
comparison
equal deleted inserted replaced
30:608eb70fe261 31:668f533e5284
1 #include "object.h"
2 #include <stdarg.h>
3 #include <stdlib.h>
4
5 object * make_object(obj_meta * meta, void * parent, int num_props, ...)
6 {
7 va_list args;
8 object * newobj = malloc(meta->size);
9 newobj->meta = meta;
10 newobj->parent = parent;
11
12 va_start(args, num_props);
13 object ** curprop = ((object **)(newobj + 1));
14 for (; num_props > 0; num_props--)
15 {
16 *curprop = va_arg(args, object *);
17 }
18 va_end(args);
19 return newobj;
20 }
21