diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | lib.c | 3 |
2 files changed, 8 insertions, 1 deletions
@@ -1,5 +1,11 @@ 2014-02-14 Kaz Kylheku <kaz@kylheku.com> + * lib.c (class_check): Bugfix: the function was assuming that + the argument is a pointer type object, leading to a crash + if given a fixnum integer or string literal. + +2014-02-14 Kaz Kylheku <kaz@kylheku.com> + * eval.c (eval_init): Register inhash as intrinsic. * hash.c (inhash): New function. @@ -183,7 +183,8 @@ val type_check3(val obj, int t1, int t2, int t3) val class_check(val cobj, val class_sym) { - type_assert (cobj && cobj->t.type == COBJ && cobj->co.cls == class_sym, + type_assert (is_ptr(cobj) && cobj->t.type == COBJ && + cobj->co.cls == class_sym, (lit("~a is not of type ~a"), cobj, class_sym, nao)); return t; } |