diff runtime/progfoot.inc @ 38:e7be612fd3ae

Very basic array support
author Mike Pavone <pavone@retrodev.com>
date Tue, 10 Jul 2012 23:09:44 -0700
parents bf5e88f6419d
children 927fd7911a01
line wrap: on
line diff
--- a/runtime/progfoot.inc	Tue Jul 10 22:09:21 2012 -0700
+++ b/runtime/progfoot.inc	Tue Jul 10 23:09:44 2012 -0700
@@ -1,3 +1,19 @@
+
+object * make_array(uint32_t num_els, ...)
+{
+	va_list els;
+	int i;
+	array * arr = malloc(sizeof(array));
+	arr->header.meta = &array_meta;
+	arr->header.parent = NULL;
+	arr->storage = arr->size = num_els;
+	arr->data = malloc(sizeof(object *) * num_els);
+	va_start(els, num_els);
+	for (i = 0; i < num_els; i++)
+		arr->data[i] = va_arg(els, object *);
+	va_end(els);
+	return &(arr->header);
+}
 
 int main(int argc, char ** argv)
 {