summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--struct.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/struct.c b/struct.c
index bc490a6e..4ff01a74 100644
--- a/struct.c
+++ b/struct.c
@@ -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;
}
}