summaryrefslogtreecommitdiff
path: root/libguile/vm-i-loader.c
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/vm-i-loader.c')
-rw-r--r--libguile/vm-i-loader.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/libguile/vm-i-loader.c b/libguile/vm-i-loader.c
index 72436f0d5..778163f0f 100644
--- a/libguile/vm-i-loader.c
+++ b/libguile/vm-i-loader.c
@@ -152,11 +152,10 @@ VM_DEFINE_LOADER (load_program, "load-program")
{
/* Other cases */
/* x is #f, and already popped off */
- p->nargs = SCM_I_INUM (sp[-3]);
- p->nrest = SCM_I_INUM (sp[-2]);
- p->nlocs = SCM_I_INUM (sp[-1]);
- p->nexts = SCM_I_INUM (sp[0]);
- sp -= 4;
+ POP (x); p->nexts = scm_to_unsigned_integer (x, 0, 255);
+ POP (x); p->nlocs = scm_to_unsigned_integer (x, 0, 255);
+ POP (x); p->nrest = scm_to_unsigned_integer (x, 0, 1);
+ POP (x); p->nargs = scm_to_unsigned_integer (x, 0, 255);
}
PUSH (prog);