diff options
-rw-r--r-- | struct.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -356,6 +356,9 @@ val make_struct(val type, val plist, struct args *args) call_initfun_chain(st, sinst); + for (; plist; plist = cddr(plist)) + slotset(sinst, car(plist), cadr(plist)); + if (args_more(args, 0)) { args_decl(args_copy, max(args->fill + 1, ARGS_MIN)); args_add(args_copy, sinst); @@ -363,9 +366,6 @@ val make_struct(val type, val plist, struct args *args) generic_funcall(st->boactor, args_copy); } - for (; plist; plist = cddr(plist)) - slotset(sinst, car(plist), cadr(plist)); - return sinst; } } |