Mercurial > repos > tabletprog
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/object.c Sat Jul 07 16:48:36 2012 -0700 @@ -0,0 +1,21 @@ +#include "object.h" +#include <stdarg.h> +#include <stdlib.h> + +object * make_object(obj_meta * meta, void * parent, int num_props, ...) +{ + va_list args; + object * newobj = malloc(meta->size); + newobj->meta = meta; + newobj->parent = parent; + + va_start(args, num_props); + object ** curprop = ((object **)(newobj + 1)); + for (; num_props > 0; num_props--) + { + *curprop = va_arg(args, object *); + } + va_end(args); + return newobj; +} +