comparison 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
comparison
equal deleted inserted replaced
37:a6bf4869fcbe 38:e7be612fd3ae
1
2 object * make_array(uint32_t num_els, ...)
3 {
4 va_list els;
5 int i;
6 array * arr = malloc(sizeof(array));
7 arr->header.meta = &array_meta;
8 arr->header.parent = NULL;
9 arr->storage = arr->size = num_els;
10 arr->data = malloc(sizeof(object *) * num_els);
11 va_start(els, num_els);
12 for (i = 0; i < num_els; i++)
13 arr->data[i] = va_arg(els, object *);
14 va_end(els);
15 return &(arr->header);
16 }
1 17
2 int main(int argc, char ** argv) 18 int main(int argc, char ** argv)
3 { 19 {
4 object * ret = mcall(METHOD_ID_MAIN, 1, mainModule()); 20 object * ret = mcall(METHOD_ID_MAIN, 1, mainModule());
5 if (ret->meta == &obj_int32_meta) { 21 if (ret->meta == &obj_int32_meta) {