Fixed bug in sexp arity

This commit is contained in:
Dmitry Boulytchev 2018-11-05 20:17:11 +03:00 committed by danyabeerzun
parent dc38319a13
commit 99fdd176f4
6 changed files with 42 additions and 31 deletions

View file

@ -218,9 +218,9 @@ extern void* Bsexp (int n, ...) {
return d->contents;
}
extern int Btag (void *d, int t) {
extern int Btag (void *d, int t, int n) {
data *r = TO_DATA(d);
return BOX(TAG(r->tag) == SEXP_TAG && TO_SEXP(d)->tag == t);
return BOX(TAG(r->tag) == SEXP_TAG && TO_SEXP(d)->tag == t && LEN(r->tag) == n);
}
extern void Bsta (int n, int v, void *s, ...) {