summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2018-03-19 21:46:52 -0700
committerKaz Kylheku <kaz@kylheku.com>2018-03-19 21:46:52 -0700
commit2cd47459acca8c1e26760264b82586b8645f4e2d (patch)
tree6a1a8c411a249ba15b560e9e375cd0d2d28f75c8
parentdbcca06d216201506c20cb3b3aa2524e46fbb746 (diff)
downloadtxr-2cd47459acca8c1e26760264b82586b8645f4e2d.tar.gz
txr-2cd47459acca8c1e26760264b82586b8645f4e2d.tar.bz2
txr-2cd47459acca8c1e26760264b82586b8645f4e2d.zip
vm: variadic arg closures bug 1/3.
* lib.c (func_vm): fix incorrect assignment of int boolean to one-bit-wide bitfield. The argument isn't zero or one; in fact the value 256 gets passed down representing true. This gets truncated to one bit which is zero.
-rw-r--r--lib.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib.c b/lib.c
index e80ed6d4..7c201e90 100644
--- a/lib.c
+++ b/lib.c
@@ -6012,7 +6012,7 @@ val func_vm(val closure, val desc, int fixparam, int reqargs, int variadic)
obj->f.f.vm_desc = desc;
obj->f.fixparam = fixparam;
obj->f.optargs = fixparam - reqargs;
- obj->f.variadic = variadic;
+ obj->f.variadic = (variadic != 0);
return obj;
}